JanOS is an alternative operating system for mobile phones, designed to run on devices without their screen attached. It was demonstrated as a proof of concept during JSConf.EU 2014. Shortly after it was chosen as the OS that powers Gonzo, a cellular connected and low-power camera. The project is maintained and funded by Telenor Digital.
It’s heavily based on Firefox OS, and currently only supports a relatively small number of devices. It’s open source, and the project’s goal is to make the ‘motherboards’ inside phones more useful and extend their useful lifespan.
Who hasn’t thought of using an old junk phone for IoT. I think the idea of turning old phones into IoT boards is perfect especially given the long term stock and pricing issues of raspberry PI and similar SBCs, It makes lots of sense just to use components that we already have a major surplus of: old phones. I love the idea and think the author makes a strong case for the project…
…however the problem has always been with bootloading alt-OS on android devices is a hell of fragmentation, boot locks, proprietary drivers, sometimes even needing exploits to get access to the bootloader. And unlike an SBC that boots off of removable media that you can flash in confidence, android phones can get bricked (I’ve been there). Unfortunately alt-os support on android frustratingly limited. and this project is no different: 3 fully supported devices. and 11 partially supported devices. This includes raspberry pi, but “not model 2!”. They’re mostly ancient phones that are statistically unlikely to come up in random scavenging.
http://janos.io/device-list.html
So it’s a nice little project, but I’d have to buy more phone hardware (and risk bricking it), which to me defeats the primary benefit of it. This is really unfortunate, though I want to emphasize this is no fault of the author.
While it’s so disappointing that android phones & ARM more generally isn’t standardized for alt-os, I wonder if AI could actually help us here. Normally a human expert would need to commit time & resources reverse engineering and hacking devices & drivers, why not train an AI to do the heavy lifting? It would need to study the official images, reverse engineering the bootloader, drivers and whatnot. While it would be ideal, I’m not sure that a pure software analysis would be sufficient After even for a human developer, their first image is unlikely to get everything right. We need to test against actual hardware perhaps hundreds/thousands of times. The challenge is automating the entire process such that we don’t need to allocate an experienced engineer to reverse engineer every single model.
Pretty sure the main problem with using old phones for anything else is that the flash storage speed has slowed to a crawl by the time anyone is thinking about using it for something else. Not really that usable for anything at that point, and replacing phone flash storage is likely somewhere between very difficult and impossible.
dark2,
If you were going to build a WIMP desktop replacement, then yeah these old devices would crawl, but when you say “Not really that usable for anything”, I think you’re overlooking that the target here is IoT devices.
IoT is about adding internet connectivity to everyday offline devices that didn’t need much power to begin with because the focus is usually more about connectivity. Even an old low end phone rivals the functionality, performance, and yes even storage of a high end micro-controller.
From the article:
We all have such bricks in some drawer. Still such brick has a touch screen, rather capable CPU/GPU, great networking support, Bluetooth, GPS, camera … So if we ever want to change this and we want to prolong the life of such devices. By lets say using them for IoT. Then what we need to accomplish first is mandatory upstream GNU/Linux device drivers and mandatory opt-in root access option. Without this two things i doubt that any such effort could be successful. So if you are serious about it focus on this two options. As long as they won’t be achieved. For that long it won’t work. Regardless of best wishes, effort and money invested.
Geck,
Obviously a lot of us techies want that. I’ve found that google’s nexus phones seem to have the best compatibility with alt-os projects like lineageos and even this janOS project. I think this is because developers disproportionately own these models rather than being DIY friendly though. In terms of being able to pick up random discarded mainstream phones and convert them to DIY projects, yeah good luck with that. The leading mobile phone manufacturers don’t have much interest in helping DIY & alt-os, unfortunately and the industry norms that we find ourselves dealing with today are likely permanent.
https://www.counterpointresearch.com/us-market-smartphone-share/
Apple 57%
Samsung 20%
Lenovo 6%
Google 5%
Apple, with over half the market share, would be in the strongest position by far to lend a hand to the DIY community if they chose to. However apple are notoriously greedy bastards and are doing everything they can to make sure owners don’t get the keys to their own hardware, which is obviously antithetical to DIY users repurpose their phones. At least some other vendors aren’t actively blocking DIY alternatives, but they’re not doing much to help us either. I don’t see the situation on the ground changing any time soon. It’s been this way for decades and all indications are it will continue to be this way.
One step at a time. Normal installation of applications for Apple mobile devices. That is a rather good start.
Frankly this idea that if “hardware companies hand over their drivers to Linux, we can maintain them forever” is pretty much disproven nowadays, especially with older AMD hardware. You need the skill, the hardware schematics, the actual hardware, and someone willing to actually update and test those drivers. Since it’s old hardware, there isn’t money available to pay someone to do those updates, and a lot of the open source updates don’t work because they were made by people that don’t understand the hardware or didn’t test the changes. It’s just another Linux ideal that’s easily disproven when put into practice.
dark2,
I disagree. If anything I’d say the “linux ideal” works extremely well when it’s given a chance to work in the first place. The problem is when hardware manufacturers withhold the code we need to realize the ideal, which is full source code and documentation. Without source code or hardware documentation, that’s when I’d concede the FOSS model breaks down. If they won’t cooperate, it causes huge strains for everybody.
I’ve maintained some linux drivers myself and TBH the vast majority of updates are trivial in nature, like changing function prototypes without significant changes to the driver code itself. There is no doubt about it, the source code is immensely valuable to us and it even ranks fairly high as a form of hardware documentation for alternate operating systems that aren’t linux too. Unfortunately many manufacturers do not allow us to reach the linux/FOSS ideal and I for one don’t see their cooperation improving much.
This looks very intriguing.
So far, around our house, obsolete smartphones have been repurposed as alarm clocks and FM radios (if they have the FM radio app). And — for a short while — standalone COVID-alert-app devices.
Nice but seems last activity was in 2015?! https://github.com/jan-os/
Lolix,
Wow, it’s very easy to miss that fact from the website, but yeah it looks like a dead project.
Firefox OS..?
BananaHackers seem to have some success rooting the successor KaiOS on Nokia branded phones. Too bad the OS itself is dog slow.
bubi,
It’s also defunct as of 2015.
I don’t necessarily think HTML5 and javascript are the best choice to build local applications, so I wasn’t that interested in firefox os personally. But I do wish it could have offered long lasting competition. Alas the mobile duopoly would remain too powerful for challengers to even budge the needle.
I hadn’t heard of KaiOS until you mentioned it just now…
https://www.howtogeek.com/848350/what-is-kaios-and-can-it-replace-iphone-and-android/
Interesting. You know what, they seem like good phones for the dumb phone category offering simplicity and battery life. However this category of phone has long been considered obsolete by the masses. If they’re lucky maybe they can find a semi-permanent niche?
Hardware in these semi-smart dumb phones is usually so anemic they would’ve been better off running Symbian.
bubi,
Maybe the target demographic don’t mind? I cannot judge it as I’m so far removed from this product category.