1. 13

There’s an unfortunately small number of open source phones out there - both in terms of hardware and software. I’m currently using an LG G4 (with the stock ROM), but I was wondering if there’s anything more open/more hackable.

So far I’ve seen:

  • FairPhone - not open source, but I’m intrigued by the modular-ness.
  • Neo900 - open source + physical keyboard is awesome, but $500 is a bit steep for a phone with only 1GB RAM and an underpowered processor (of course, I wouldn’t run something very graphics intensive if I was using a proper linux machine, but it’s still not much of a bang for your buck).

… but both are a bit high in price. Are there other similar (but better) devices available?

  1.  

  2. 3

    I’ve also had a look, but I’m not so sure anything exists.

    The amount of work needed to develop the open source technology is going to be high, coupled with the sad fact that demand for such technology is low, is just going to result in expensive and underpowered solutions.

    You’re always welcome to develop your own though :P

    1. 2

      You’re always welcome to develop your own though :P

      I may give it a legitimate shot if I don’t have any other projects over the summer ;)

    2. 3

      phones with sailfish os are also worth a mention, they are linux underneath (stuff can be done how you’d expect it). sadly theres currently only the intex aquafish in india for sale, but it’s available in ebay shops, for really low prices. german customs seem to make trouble about missing ce certifications though (other eu countrys seem to have no problem with that).

      1. 1

        I know this isn’t craigslists but I’ve got a Jolla phone that I just use as a spare.

        I liked the interface but its camera is subpar and with kids and all that didn’t really work out for me.

      2. 2

        What are you actually trying to hack on it?

        1. 3

          I was hoping to run a lightweight Linux distro (like Alpine) or OpenBSD on it. I basically use my phone for texting, reading my twitter feed and occasionally surfing. Android and iOS annoy me on both a usability and technical standpoint, so I was looking for something minimal that I own.

          I do use Termux on Android, which does help a lot, but its still a hacky workaround :\

          1. 5

            Well depending on the level you want to mess with, it greatly changes your options. If you want to run a full custom OS on it, you’re going to need a GSM stack to actually make calls, plus a graphical interface/toolkit, plus smart power management, plus tons of other stuff if you actually want the phone to be usable and last more than a couple hours on battery.

            If you just want to mess with sensors and run your own software and stuff, it may be easier just to load Android or FirefoxOS onto some existing hardware with an unlocked bootloader so you can strip out everything you don’t need.

            1. 2

              Relevant: The Osmocom project is now able to place 3G calls with a fully open radio stack. But, this code is hot off the presses, and I’m pretty certain this does not work with any mobile carriers yet.

              1. 1

                Hmm… yeah, that looks like a lot of work to run a custom OS. I’ll have to fiddle around it over the summer. Are there any resources you can recommend to get started with kernel hacking (either Linux or OpenBSD)?

              2. 5

                The only minimal and usable smartphone setups I’ve found are Android-based: Replicant and CopperheadOS. However, those ROMs only support specific phone models, so you have to shop carefully.

                Replicant is focused on FOSS. They start with CyanogenMod but remove non-free components. They use the linux-libre kernel and F-Droid app store. They don’t compromise, and won’t ship proprietary components even when free replacements are missing (no 3D drivers, for instance).

                Their hardware support is rather out of date. Out of the available choices, I would probably choose a Samsung Galaxy S3 or Note 2. I’m also leery of how infrequent software updates are.

                CopperheadOS is focused on security. They take vanilla AOSP and strip out the Google components (including the Play store and Chrome browser). Then they recompile with additional hardening mechanisms including PaX, Grsecurity, SELinux, and ASLR. They even replaced Android’s malloc with the OpenBSD one. Some of these security enhancements have been accepted into upstream, which is great news.

                Currently CopperheadOS only supports the Nexus 5x and Nexus 6P, although the new Pixel phones are good candidates for support.

                1. 1

                  Good descriptions. I think people wanting hardened Android to be adopted more should probably have Galaxy support at the minimum. They’re consistently among top tier of Android phones in capabilities and popularity. I mean, there could be severe obstacles to doing that which I don’t know about. Cyanogen and other mods were always available for the ones I had, though.

                  1. 3

                    One problem with broad hardware support is that these developers ought to be working on security, not supporting some OEM’s phone. CopperheadOS was initially based on CyanogenMod because it provides lots of hardware support “for free”, but it turned out to be more trouble than it’s worth. They switched to AOSP in beta:

                    CyanogenMod was originally chosen as the basis for CopperheadOS to leverage the broad hardware support. However, it proved to be the antithesis of the project’s goals and it has lackluster support for devices outside of the Nexus line. CyanogenMod is a testing ground for new features and is perpetually broken in all kinds of new and exciting ways. It lacks a focus on security and AOSP has much better code review and higher standards for code quality.

                    Another worrying trend is that phones' bootloaders are increasingly locked down. The Galaxy S5 was released in 2014, but the bootloader was locked tight until this past March.

                    1. 2

                      ne problem with broad hardware support is that these developers ought to be working on security, not supporting some OEM’s phone.

                      It’s a good point. It’s why I named the most popular of the high-end ones. High-end part will come in handy, too, to counter performance hit from the accumulating mitigations.

                      “The Galaxy S5 was released in 2014, but the bootloader was locked tight until this past March.”

                      Now that does suck. Anything else on Galaxy’s level and price tag that doesn’t have that problem? Preferably subsidized by a contract with a major carrier.

                      1. 1

                        Preferably subsidized by a contract with a major carrier.

                        AT&T and Verizon prefer locked-down bootloaders where possible, which slims the category considerably. I’ve basically stopped looking for anything other than “unlocked” “developer edition” phones which don’t come attached to a carrier.

                        Presumably the carriers do this because preventing the installation of alternate OSes simplifies support calls? Cynically, the bloatware installs are probably rather profitable.

                        High-end part will come in handy, too, to counter performance hit from the accumulating mitigations.

                        For what it’s worth, the Neo900 team assessed using different, more powerful chips. [pdf, see page 16] They ultimately decided to stick with OMAP3 because of the availability of a detailed (~3500 page) datasheet and prior art motherboard design.

                        I really couldn’t be more excited about the dawn of Risc-V. FPGA availability means OSes are already being ported to it, so the architecture will hit the ground running. Now that the Osmocom project is capable of open-source 3G calls, it actually could be possible to design a head-to-toe open hardware/software phone. The Neo900 goes as far as was possible to design a working phone in 2013, but it’s still not far enough.

                  2. 1

                    Ah, those look like decent options. I’ve seen Copperhead before, and thought it looked like a good ROM. It does seem like this is the most viable option at the moment.

                    1. 1

                      I’m just waiting for them to explicitly announce support for one of the new Pixel phones, so I don’t get stuck with a previous generation phone.

                  3. 1

                    I was hoping to run a lightweight Linux distro (like Alpine) or OpenBSD on it.

                    Do you want to use it as a phone? Because a convenient phone stack is lacking for such platforms. I’m not even sure they have a low level stack to handle things like phone calls and text messages.

                    If you just want a handheld, you have a few more options, but if you want to use it as a phone, erm, good luck!

                2. 1

                  I like the Neo900, despite the resistive screen and the actual keyboard. I hope they succeed!

                  1. 1

                    Neo900 isn’t released yet, but it’s a strong candidate. $500 is not terribly steep for an unlocked phone, although I agree it’s somewhat underpowered.

                    1. 4

                      I would agree with you, except that this is not the final price, which is estimated to be close to $1,000:

                      This is a PARTIAL FUNDING (ca 40% partial advance payment, a deposit towards the higher final price)! See http://neo900.org/estimate The device is still in development. Estimated shipping date: Q3/2016, exact final price not determined yet.

                      1. 2

                        Holy crap, I didn’t realize it was going to be that expensive when they released it! I wouldn’t even consider it at a price like that with the current specs :\

                    2. 1

                      I’ve played with the rephone it’s not a smart phone but it is modular and seeed provide source code for it.

                      1. 1

                        It doesn’t concern me that much.

                        But I’d still use my N900 if it had a modern, patched OS. Using a fully blown Linux box on random networks is asking for trouble otherwise. (And more RAM - 32 GB of storage for 2009 was great, but only 256 MB of RAM?)

                        1. 1

                          There will always be a proprietary part, as FCC guidelines require that radio transmitters be limited to certain frequencies and follow certain guidelines. However, I think it would be really cool regardless if we could get enough Lobsters members to dedicate a small part of their free time to such a project. Merely making most of a phone open source (and designing it as an intellectual community) would be a huge accomplishment in and of itself, though I suspect we would never be able to get enough people to participate.