During the early years of cell phones, lifespan was mainly limited by hardware (buttons wearing out, dropping phones, or water damage), software is a primary reason that phones are replaced today. Upgrades are often prompted by dissatisfaction with a slow phone, or manufacturers simply stopping updates to phone software after a few years at best. [Oliver Smith] and the postmarketOS project are working to fix the update problem, and have begun making progress on loading custom software onto cellphone processors and controlling their cellular modems.
Since [Tom Nardi] introduced Hackaday readers to postmarketOS, the team has made progress on compiling a standard bootloader for MediaTek System-on-Chip (SoC) processors. Many Android phones use the MIT-licensed Little Kernel as the base of their bootloader and then apply custom closed-source modifications. [McBitter] has worked to eliminate this closed-source code by porting Little Kernel to the MT6735P used in the Coolpad Modena 2. By understanding the modifications MediaTek used for this particular SoC, the postmarketOS team hopes to use their modified, open-source Little Kernel bootloader with other MediaTek-based devices. While progress has been difficult and attempts at using emulators to probe bootloader memory have failed, [McBitter] was able to decode the DRAM configuration settings by searching for a leaked portion of the configuration strings. Now that he can set up the DRAM, there should be few barriers to running Little Kernel.
The second feature they’re working on is the cellular modem, which presents serious security risks as a peripheral running a secondary operating system. While an open source replacement for this operating system has been developed, called OsmocomBB, it was designed for a defunct TI modem. Using the Fernvale development boards from [Bunnie Huang], [unrznbl] has been working to port OsmocomBB’s lowest hardware-interface layer to Fernvale. [unrznbl] has accomplished everyone’s favorite first project, blinking LEDs, and has moved on to using a USB bootloader to run OsmocomBB via a PC. Once all of OsmocomBB uses the Fernvale hardware, you will be able to use all 2G voice and data features, and eliminate the PC by managing the modem from the OS kernel.
A disclaimer: don’t expect this to replace your main phone anytime soon. The MediaTek SoC’s they are working with are not commonly used in US cell phones and are primarily found in the low-end or international market. Second, OsmocomBB is only able to handle 2G connections, which are being phased out in many parts of the world. So more work will need to be done to enable connections using 3G and higher.
If you want to help out, postmarketOS is looking for help. If you’re interested in similar projects, we’ve featured cell phones built from FR4, the Particle Electron to have IoT anywhere with a cell connection, and using smartphones in robots.