Nicole Faerber ( CTO
Total Page:16
File Type:pdf, Size:1020Kb
SEPTEMBER 4, 2018 Progress update from the Librem 5 hardware department About (#abh_about) Latest Posts (#abh_posts) Nicole Faerber (Https://Puri.sm/Posts/Author/Nicole-Faerber/) CTO (https://puri.sm/posts/author/nicole- faerber/) As you might have noted when we announced closing the development kit “last call” sale, new specifications have been made public. I want to explain what led to these specifications and why we made the choices we made and what the current timeline is for the devkits and Librem 5 phones. We want to make a secure mobile communication device which can offer on-par experience similar to today’s smartphones, while making it as free and transparent to the extent we can given the reality of today. We take the notion of “free” or “libre” seriously, striving to comply with the Free Software Foundation (FSF (https://www.fsf.org/)) strict “Respects Your Freedom” (RYF (https://www.fsf.org/resources/hw/endorsement/criteria)) requirements. Having that endorsement is an important and critical goal for us. The RYF criteria rules out a substantial amount of hardware, making finding RYF complaint phone hardware a challenging endeavor. It would have been relatively trivial to produce a smartphone with non-free GPU drivers and a CPU with combined radios + CPU + GPU in a few months, but creating a regular smartphone is not our goal. We have much higher aspirations. We chose to build a free and secure mobile communication device. One that respects peoples’ privacy and security. We chose to do it because the pursuit of building one will challenge us as a company and to provide a product to those who care deeply about software and hardware freedom. It is an endeavor that we are unwilling to compromise on with the firm belief that it is achievable. Let’s talk about what the current state of things are. The Road from an i.MX 6 to i.MX 8M platform You may remember our previous post hinting at the reasoning for us to move from the i.MX 6 platform to the i.MX 8M platform (https://puri.sm/posts/librem5-roadmap-to- imx8/). Today, we’ll be providing significant more details and an update on how this transition has been going since then. Phone hardware is comprised of a SoC (System on a Chip) and peripheral hardware like modems that connect them to cellular networks. In early 2017, when we started our research for the right SoC, we quickly came to the conclusion that the NXP i.MX family—with the free Etnaviv drivers for the embedded Vivante GPU—would be the best choice. The fact that the NXP i.MX 6 did not require a proprietary firmware for normal phone use cases, combined with an advanced free “etnaviv” GPU driver available, was very attractive to us. The fact that the SoC has been on the market for quite some time also meant that the drivers were stable and solid. By late summer 2017, we became aware that the newer “i.MX 8” generation of SoC was rumored to be released soon. At the time, we had already launched our crowdfunding campaign and there was no publicly available information on this newer generation SoC, so we had to continue with the plans already in place. The allure of having a newer generation SoC was enough that we reached out to NXP and various distributors to get more detailed information on these new SoCs. While continuing to work on other parts of the phone and working on our software, we kept communication lines open on the new SoC opportunity after nearly six months, then we were able to obtain early documentation but no availability dates. In early 2018, we got word that the i.MX 8 family would finally be announced at “Embedded World” in Nürnberg, Germany! So after a small hackfest in Germany, Purism CEO Todd Weaver and I drove to Nürnberg and met with NXP and i.MX 8 partners. We were able to get a demonstration of actual i.MX8 hardware and associated firmware to see it running. Even the latest Etnaviv was already working well. We were excited about the opportunities of running a more recent hardware. We were confident that the i.MX 8 was well suited for the Librem 5 and will be available in larger quantities early enough for our currently scheduled shipping date of January 2019. The decision to upgrade to a newer generation of the SoC (from the the same hardware family) brings the benefits of a modern 64-bit CPU, more GPUs on the silicon, lower power consumption and a host of other upgrades, while still allowing us to maintain our strict requirements to seek the FSF’s “RYF” endorsement. We believe that the risk trade- off is worth it given the modern upgrades the new SoC provides us. The SoC is of course not the only concern for the Librem 5. Challenges of Making a Non-Android Mobile Phone Making a non-Android mobile phone that will run an FSF-approved OS that supports all the features that we’ve all come to rely on (cellular, WiFi, Bluetooth, touchscreen input) has and continues to involve a lot of pathfinding, given that a RYF phone has never been attempted before and discovery involves solving issues as they come up. The industry offers all the hardware to create a smartphone on a fast path, as the SoC vendors typically provide the modem (cellular and wifi) integrated directly on the SoC. Like a recipe in a cookbook—take an SoC, place it on a PCB, add RAM and flash chip on top of it (called a package on package—PoP), add antennas and finally power. The difficulty comes down to the firmware and the software that run these devices. The necessary firmware to operate the cellular modem, WiFi, BT etc. is provided by the chip maker, including the drivers for the GPU and more. The firmware and software included is proprietary with no source code with little to no alternatives. Cellular (baseband) modem The cellular modem is arguably the most complex part of a mobile phone. The modem is the component that has to implement all the familiar protocols you would associate with a phone (like 2G, 3G, 4G and the upcoming 5G). It does so by running its own proprietary black box operating system. The cellular modem is also covered by thousands of patents held by hundreds of patent owners. Now imagine this… This cellular modem sits right on the same RAM bus as the SoC! Non-free software not only has access to the data flowing to and from the SoC, but also has the ability to modify it. Because this modem operating system is a propreitary black box, we have no idea what this component does or what kind of vulnerabilities it has. Coming back to the design of the Librem 5 phone, we clearly do not believe this is an ideal situation. The cellular modem should be isolated from the SoC by not accessing the RAM bus. The situation is further complicated by the fact that during our research into cellular modems, we realized that there are only a handful of silicon vendors in the world that make these chipsets and nearly all of them integrate their model with the SoC on the same bus. In addition, you historically need to acquire a license to run the proprietary firmware to power the modem on SoCs. This left us with only one choice: to use ready-made modem “modules” and our own layout that isolates the modem from the SoC. There are a number of these modem modules available in different form factors with various available options in speed, bands, etc. By going the module route we can both provide supplier choice in modems that meet our strict standards, and also allow modem isolation from the RAM and host CPU. To isolate the cellular modem from the SoC, we will be placing the modem on the (remarkably fast) USB bus and have the phone interact with the cellular modem through USB instead of on the main RAM bus. This will separate the cellular modem on its own bus without seeing any other data. WiFi/Bluetooth modem For WiFi and Bluetooth radios we are currently working closely with Redpine Signal. Redpine Signal will supply us with a low power WiFi/Bluetooth solution using SDIO as the data interface. We went with Redpine Signal as their chipset does not require a firmware download at runtime like other vendors; having a downloadable firmware would violate the Free Software Foundation’s RYF requirements. In the end, we believe we have a great solution for WiFi and Bluetooth that will integrate well and at low power in the Librem phone. This is highlighting the fact that Purism, as a social purpose corporation, will push our strict agenda of software and user freedoms upstream into the supply chain. EE, ID, and MD (Electronics Engineering, Industrial Design, and Mechanical Design) To find the right vendors to build our hardware components, a while ago Todd and I went to Shenzhen, China. Shenzhen is where two-thirds of the current worldwide production of smartphones happens, where over a billion devices per year are produced. That’s where the optimized supply chain logistics have been developed over the past few decades, and that’s where the physical electronics engineering expertise is these days. We selected this area because this is where we are going to find the expertise in building the Librem 5 with the hardware components we have selected.