Hacking hardware

I have never been a hardware person, I may find my way around software but when it comes to hardware I have forgotten most of everything I learned about materials and electronics. It’s a shame because I had a knack for the latter.

And so I have never really hacked hardware or even software dealing directly with hardware, at best I may tinker with hardware. And even when hardware embeds some form of software, it’s so closed that today it’s most likely impossible to get any kind of hardware appliance loaded with 100% free (as in freedom) software.

I’ve had a couple recent hardware incidents that I feel are relevant to the topic of free software. This is the story of computers on my head, in my pocket, in a purse or on my desk and their unimpressive replacements despite the constant march of progress. The story of how hard it is to keep a working computer running.

The computer on my head

The sad thing about computing today is the diligent work from the market to remove computing from any computing discussion. Take the cloud for example, a weatherly word for hosting, probably coined because the word hosting was tainted by the collective idea that it has to suck, with FTP deployments of PHP files in a web server users have little control over.

You will see the media talk about digital and algorithms but not often about computers. Billions of computers were sold as phones, and yet such phones can run general purpose operating systems and often do. Everyday I wear a computer on my head, but we call that a bluetooth headphone.

The best worst bluetooth headphone

I’m usually not fond of naming and shaming but interactions Philips’ customer support were bitter at best. I own a Philips Fidelio M2BTBK headphone, I have used it for years to my satisfaction. It’s supposedly a beefier version of the Fidelio M1BT, twice as expensive, and yet the ear pads turned out to be a bit too fragile. Quick search, found some online, not too hard to change after seeing a video tutorial (you need take a leap of faith to remove them without breaking anything) and all is well that ends well.

The next time it broke, quick search, found nothing, longer search, found nothing. After a couple month ear pads were wearing out to the point where wearing the headphone was starting to hurt the skin of my ears. One last ditch effort, I ring the customer support and get a very helpful person on the line who opens a support case and moves the discussion from phone to email.

The support gives me a link to an online retailer selling ear pads, I order a pair and a couple weeks later it found its way into my mailbox. To my dismay it wasn’t even close to compatible with the headphone. The support’s answer was condescending, barely apologizing and condescendingly pointing the retailer’s return policy to me. This time, not one but two links to online retailers with the correct ear pads. I order to pairs this time, because I don’t want to run into this again next time they break, I want to secure an advance of one pair.

A couple weeks later, the new order makes it through again from China to my mailbox, visiting customs on the way. They definitely look like the ones I ordered myself the first time, and yet I fail to put them on. Looking closer at the product description, it says that those ear pads are compatible with M1BT headphones (and half a dozen other Philips headphones) but it specifically mentions not being compatible with the M2BT. Time to look for a new headphone.

The good, the bad, and the fugly

I had been happy until then with my headphone because it was one of a kind: it sounds decent, can fall back to wired audio, has great battery life, supports audio and phone calls, and can pause and resume audio if interrupted by a phone call. Nothing revolutionary, most recent competing products could do the same so what set it apart for me was the ability to connect to several devices concurrently. Pairing with several devices concurrently was the norm, but connecting to several devices was only something I had seen with bluetooth speakers so far.

The first problem is that Philips stopped selling them, and while I can only assume why, I’m convinced that this headphone has severe bugs. I used to have my laptop and phone connected, so a phone call would pause and resume any player running on my laptop. I achieved my custom setup using playerctl, but I digress…

I have witnessed bugs with the pause and resume feature, which I attribute to pausing directly from the laptop, desynchronizing the “state” of the headphone. My assumption is that it doesn’t base the state on whether the device was transmitting audio, but keeps track of its own internal state machine, via key presses to pause or play. I’m also convinced that software is involved in the design of the headphone and that this logic is not implemented 100% in hardware. Unfortunately there is no way to my knowledge to debug the alleged software, and no opportunity for firmware updates.

Another thing I suspect is that the M2BTBK doesn’t scale. I can connect up to 8 concurrent devices, which really sounds (pun intended) overkill, and bugs probably manifest themselves more often when more devices are competing: only one device at a time can be audible.

For a long time I also suspected the headphone to send spurious “back” commands, sending the player back to the beginning of a media. But having purchased a different product this is still happening to me on Android, which is where it always happened with the M2BTBK. This is very frustrating when it happens in the middle of a 2h podcast but again, I digress…

The worst part is probably that it has the same form factor as many Philips headphones that all share the same ear pads, but for some reason they singled this one out and gave it similar ear pads with incompatible connections. Even the audio jack has a custom connector, that has annoyed me from day one, worrying that if I lost it I would no longer be able to fall back to wired.

Most bluetooth headphones on the market have the same problems, those are locked down products that the average customer will never question. But Philips went the extra mile to ensure that their high-end headphone would turn into e-waste as soon as anything went wrong.

Slow clap.

The unimpressive replacement

After giving up my perfectly working headphone for lack of ear pads, I looked for a replacement and it looks like what made it unique back then still applies today. I couldn’t find an alternative that would connect to multiple devices simultaneously.

Obviously a new factor in my quest was the ability to purchase spare ear pads in addition to all the criteria I had from my Fidelio M2BTBK. I traded one feature with the ability to easily (VERY easily) replace pads with Marshall’s MID Active Noise Reduction headphone.

I had to give up on connecting to multiple devices, which to this day is still a pain in the ass since I frequently switch between devices when I use both but I gained a couple new neat features.

The first one is the ability to purchase ear pads directly from Marshall Headphones, and I ordered a pair along with the headphone. Being able to get them directly from the brand company gives more confidence than having to search online. The first time I found pads produced by a Chinese company just fine, the second time it had become impossible because Philips was no longer selling that product. Why would that company still produce spare parts for a discontinued product?

One very interesting feature from the MID ANC is the ability to get input from both bluetooth and jack audio simultaneously. I have yet to find a use case for this but well, that’s neat. I assume this is a side effect of an actual documented feature: the headphone can send the bluetooth audio via the jack wire, for example to another headphone, someone sitting next to you.

One thing I consider a smart improvement over my previous headphone is the independence of the noise reduction system. It isn’t tied to bluetooth audio and can be turned on or off even for jack audio. Noise reduction itself is not impressive (but I have yet to see one that is) and it’s mostly good with white noise, which might come in handy in plane, but I digress.

On the other hand it has one major (obscure pun intended) anti feature: a single knob controls everything. Pressing the button will turn the headphone on or off. Tapping the button will trigger a play or pause command over bluetooth. Pushing the button forward or backward will send backward and forward (yes, they got it backwards!) commands and interestingly keeping button in that direction will trigger fast backward or fast forward actions. Finally pressing up or down will send commands to turn the volume up or down.

The problem here is again, trying to change the volume in the middle of a 2h podcast is a recipe for disaster so no, less isn’t always more, having more controls on the headphone would have made it more usable. The worst part is that those control don’t feel like up/down or forward/backward with the headphone on but rather like diagonals, adding to the challenge, but I digress.

What I’m almost certain of is that this knob is the first thing that will physically break. I’m not counting ear pads because I can replace those. And I miss being able to play/pause with my shoulder when my hands aren’t free.

One more feature is the ability to double tap the button to invoke Apple’s stupid voice assistant, but on an Android phone (more on that later) it does nothing. Again, I’m convinced that some kind of software is embedded in the headphone and it would have been nice^Wdecent to have access to source code and be able to patch something different in, but that’s never going to happen…

Locked all the way down

Unlike last time when I purchased my Fidelio M2BTBK (and I don’t buy a new headphone every other year) I noticed that many manufacturers advertise high fidelity audio with aptX. I can only assume that Qualcomm® is aggressively marketing it since even my old headphone supports it and yet I never heard about it back then.

Digging a bit, it looks like Android supports it out of the box, but on my laptop there is no way Fedora would allow the PulseAudio plugin to be distributed. A quick search later I found the right package to install and my laptop was finally able to sound as good as my phone via bluetooth.

And at this point I can only assume (because I don’t care enough to verify) that aptX is patented, which by definition means that the codec description is publicly available and free software implementations can be distributed in countries where software patents aren’t a thing, like mine.

At this point I’m not sure whether I even own half of the headphone, but less than a month after switching headphones another kind of lock down started hitting the globe.

The computer in my pocket

I often carry a special computer in my pocket. What’s so special about it? Maybe the fact that it can make phone calls, or maybe the fact that it belongs to one of the most locked down family of products:

  • carriers may lock what kind of SIM card is accepted
  • phone manufacturers may lock the bootloader
  • the baseband processor runs its own operating system
    • sometimes to work around legal requirements
  • the user-facing operating system doesn’t grant full privileges
    • and I’m not suggesting we need that for regular operations
  • it may not be possible to install third-party software
  • it may not be possible to remove unessential applications
  • the multimedia stack may enforce DRMs

And if you go the extra mile you might find that:

  • components trend toward not being removable
    • even batteries can no longer be replaced once they die
  • MicroSD card slots are a thing of the past
  • dedicated chips may prevent alternative OSs
  • screws may be non standard

The list probably goes on much much further than I can think of, but the gist of it remains the same even when after years it’s time to find a replacement.

The software in my pocket

It became apparent quite early in the commercial life of Android that things weren’t looking good on the software front. Manufacturers would come up with their own graphical layer on top of Android to set themselves apart from the competition and at some point it became common wisdom (in my computing circles at least) that only Nexus phones would offer you a proper experience across the board.

Besides fiddling with the OS itself they might also pre-install applications. Carriers might add yet another layer of OS changes and even more applications, and sometimes they would even deface preexisting applications. All that crap would significantly increase delays for important software updates.

I had an HTC Desire purchased via Orange at the time when I decided that my next phone would be a Nexus. I was able to compare it to a stock HTC Desire and that’s when I realized that the audio player was missing an important feature that had been awkwardly be replaced by Orange’s online music store. I did not hesitate to flash my phone with a stock HTC image to get rid of all this crap.

I also was able to compare it with a Nexus One (and Wikipedia tells me there are more differences than I thought) but before I could even do that I left Android for the not-so-happy world of Firefox OS.

The web is the platform

A new contender on the mobile market took me by surprise, it was Mozilla. One of those alternatives to Android and iOS that never survive, because most popular applications are not free and not interested by free (still as in freedom) platforms.

This system ticks all the boxes that should have driven me away. The market was already saturated by Google and Apple, leaving room for nobody else. The whole operating system was basically a browser engine and the user space so to speak was made of web applications (I refer to myself as a web hater). The system itself was based on AOSP and thus very dependent on Android.

And reviews were overall poor.

Some people rightfully noted that while Mozilla was (legitimately) complaining about iOS’ arbitrary restriction that forced them to use a different browser engine, they also built a competing system that made it impossible to even have a different browser. The scariest thing Mozilla did was to reinforce the idea that the web works hard at superseding the underlying operating system, but I digress.

Then a few things happened: I was able to take part of a hackathon at Mozilla Paris’ and play with a Firefox OS Flame phone. A Firefox OS emulator directly available in the desktop browser turned out to be very usable. Even better, I had a work laptop with a touch screen.

So in 2014 my venerable HTC Desire was replaced by a Firefox OS Flame phone which (to my surprise) I did appreciate. I wanted to believe in it, and I even considered JavaScript development to build applications. That break from Android was actually beneficial, I really enjoyed my time with my Flame phone but eventually parts of the screen started to become unresponsive and Mozilla announced the death of the project.

Nexus pain

I needed a new phone but Firefox OS was no longer on the proverbial table, and iOS never stood a chance in that regard. There were other systems then, but nothing convincing enough to take another leap of faith. Back to Android then, and finally back to the common wisdom of sticking to a Nexus phone.

There was one problem though. The market kept moving to larger phones to the point where “phablet” was coined: tablet-sized phones that had the unique feature of turning a simple phone call into an awkward scene. While not as ridiculous the Nexus 6 was larger than the Nexus 5 that was in turn larger than the Nexus 4 that was in turn larger than my Firefox OS Flame, itself much larger than my HTC Desire.

I purchased a Nexus 4, only because I found one of the last new models. One year later I ordered a very cheap refurbished Nexus 4, but let’s not jump ahead too much.

The main pain point besides finding a “pure” Android phone that is not too large is simple: updates. Turning on an old phone for the first time, I had to wait for several OS updates before I could start using the device. Thanks to a new trend of catchy names for security vulnerabilities I was aware that my device was affected by Stagefright and disabled MMS support. I also reviewed past Android security bulletins and to keep track of future ones to make sure to disable as many things as possible.

Going back to Android was already painful enough (which again, surprised me considering Firefox OS’ limitations) and having to deal with that kind of crap didn’t help. Since my phone was no longer supported it was hard to tell most of the time whether vulnerabilities were relevant or not. Then Blueborne was too much, I needed to look at alternatives.

Android in Wonderland

Alice wants to establish a secure connection with Bob, but both of them have Android “smart” phones. What can they do about it? Nothing. The closest is to keep devices up to date, but eventually they run out of support, incredibly fast actually. Welcome to the world of non free software with a tint planned obsolescence.

But AOSP is free software, right?

Indeed, but AOSP is not Android. And most manufacturers ship Android devices. But AOSP is free software, so there are mostly-compatible alternatives to Android. Unfortunately at the time CyanogenMod was in the middle of a storm that gave birth to LineageOS and overall it didn’t feel like the right moment to join either bandwagon.

Around the same time, a new player based on AOSP appeared out of the blue. Ubuntu Touch was a hybrid system that could turn phone into a desktop workstation once plugged (wired or over the air) to an external display and a keyboard. Canonical had “invented” the Convergence®©™ that everyone else was already pitching as the future of mobile. And like Firefox OS this exercise in futility didn’t last long.

The prospect of flashing a different OS was quickly overtaken by events, and not setting up an automated reminder didn’t help. To make matters worse, Google threw the Nexus common wisdom down the shitter by replacing its Nexus product line with Pixel devices. I’m not interested in high-end phones, only usable ones with as little as custom software as possible and this was no longer an option.

I can’t remember how that happened, but I found a very cheap refurbished Nexus 4 as I mentioned earlier. The USB port on the phone was in a poor state, and I had to bend the cable to help it recharge the battery. When I was offered with a refund I changed my mind and decided to keep the spare phone for spare parts just in case I’d keep the device alive a while longer.

What a foolish reasoning…

The unimpressive replacement

As I was back to using an outdated Android system on my Nexus 4, I was looking for a sustainable replacement from which I could squeeze years of mileage.

Thanks to Greg Kroah-Hartman who brought one during a conference I was able to look at concept device for Project Ara, a sort of pocket computer that would work like a PC in which you could change parts as you wish, to some extent. An interesting take on upgrading phone parts each at their own pace. The parts were overall large and as I remember it the assembled phone was too big for my tastes. I wanted to believe this project had a future but as far as I was concerned the writing was on the wall, it would go nowhere. Sadly I was apparently right.

The other thing I was aware of was the Fairphone 2. I don’t think I had heard of their first device but the second one made some heavy marketing noise and partnered with iFixIt who gave them a 10/10 rating for their second device. Fairphone, it turns out, is trying to change the electronics industry to move towards longer-lived devices and a better treatment for all people involved in the supply chain. So you essentially buy an expensive device, but instead of paying with a bit of money and a lot of blood, you pay slightly more money than a comparable device would cost with slightly less blood on the balance.

There were rumours that a Fairphone 3 was around the corner but I bought a Fairphone 2 nevertheless as my next device. I had a ton of updates that brought me from Android 5 to Android 7, a huge leap forward, and since then I have seen a handful of minor updates including security fixes. It’s far from perfect and I had to remove the camera module to perform device encryption but iFixIt didn’t lie: even with my crappy screwdrivers (two of them were enough since most screws are the same) I was able to tear it down and build it up again. Twice of course, to put the camera module back, and apparently my reward for being late in the game was that I ended up with the enhanced second version of the camera module but its kernel driver prevents the phone to reach the needed state for the encryption process, and as usual I digress.

Other than quirks that a technical savvy person like me can bear with, the only real problem with this phone is that it’s even larger than the Nexus 6 I thought was way too large… The software issues the Fairphone 2 faces today are mostly related to the lack of support from Qualcomm® that forces the team supporting that device to operate blindly, or so I’m led to believe. But I think this is to date the least closed computer I have put in my pocket.

And by the way yes, Qualcomm®, the same company that makes the bluetooth chip for the computer on my head. It’s a small world after all.

The computer in someone else’s purse

My girlfriend’s Android phone had been misbehaving for a while and when I switched phones she considered buying one too. After leaving two lives before and after my Firefox OS escapade I suggested that maybe it could start a third cycle and lo and behold, she accepted.

She could bear with all the crap I had diligently removed over the years mostly because most of it was invisible, and because MMS didn’t matter since she has Apps®©™ to send or receive pictures. She did notice that I had lent her a phone with not many apps, mostly because I had disabled many of the unremovable apps, including system apps. With Wi-Fi at home the lack of 4G connectivity went unnoticed for a while. Overall a device that doesn’t crash the foreground application every 10 minutes probably felt already like a huge improvement.

That reminds me that I was really not happy to see that I could no longer disable system applications on my brand new Fairphone 2. I had gotten used to removing a lot of cruft, but it turned out that they are no longer visible by default and it’s easy to show them. As a result I have a very small list of applications in the launcher, despite installing a few of them from F-Droid (some of them replacing disabled applications). My phone doesn’t react if I tell it “OK Google” and overall battery lasts a bit longer, but I digress…

Later on a few things happened: Fairphone released a third device, and half of the human population (allegedly) went on lock down.

Smack My Snitch Up

In the middle of its third life, my beloved Nexus 4 died after 6 years of interrupted service. Its screen was accidentally smashed, and my initial thought was that it was fine. I have seen many people use a phone with a broken touch screen and it’s all right. Let me unlock the phone with my thumb, why does this hurt? Why can I see small cuts on my skin? Oh, it’s as good as dead.

I treat my computers with a lot of respect. I would normally say care and respect but I’m so clumsy that care would be an overstatement. While the intent is here, I’d say I accidentally dropped that phone probably a hundred times. My girlfriend drops it once after several months, only once, and she breaks it. My luck probably beats my clumsiness, according to statistics.

We quickly set contingency measures in motion, ordering a new phone and pulling her old phone back from the grave. One problem though, we needed to back up the contents of ThatOneApp™ and restore it on the active phone to avoid losing StuffThatAppManages™ since it doesn’t support concurrent access on multiple devices for a given account. Yes, that application is certainly not free software, and not something I use myself.

Cornered as I was, that’s when I remembered my spare Nexus 4 from which I would salvage parts (like a screen) if something were to happen. She agreed to stop using ThatOneApp™ for the time being and give me a chance to save the day.

iFeelStupid

You don’t find guides to tear down all devices on iFixIt and that’s one more advantage of Nexus or Pixel devices, they tend to be covered. The Nexus 4 has a 7/10 rating for repairability, therefore it should be fine.

Of course it is not.

My crappy set of precision screwdrivers is really really crappy. There are screws I can’t even remove. Compared to the Fairphone 2 the more the progress the more I feel that I’m not going to make it. And of course there’s this ominous comment from the guide:

The glass is fused to both the display and the display frame. So don’t crack the glass unless you’re good with a heat gun, or you’re fond of replacing the glass, display, and frame together ($$$).

As I was sinking into moderate despair, I decided to take another leap of faith. I would order screwdrivers from iFixIt and give it a try, which I found a bit expensive. On the other hand they provided me with a free guide (not counting the Fairphone 2 guide since the companies partnered) so I would bear with it. On second thought I wouldn’t, for a few more euros I could get their Essential Electronics Toolkit with all the individual tools I needed plus a lot more.

iFeelBetter

Disclaimer: I’m not sponsored by anyone to praise iFixIt, I’m just a happy customer.

I would advise anyone unsure whether they could tear down an electronics device to order at least that kit. Trying their screwdrivers I came to the conclusion that my cheap kit was crappy. Tearing down the Nexus 4 became trivial. The guide doesn’t say much about connectors, but in the end they were easy to remove and put back. Based on my experience with a 10/10 and a 7/10 device I’m tempted to say that 6/10 is probably quite hard to deal with, at least for someone like me.

After a quick search in the basement I dug up my spare Nexus 4 and moved the motherboard from one frame to the other and put everything back together. When I tried to turn the phone on none of the batteries seemed to make a difference and trying to charge the phone with either battery didn’t work. Only then did I remember what was wrong with my spare device. Tear down again, then swap daughterboards, rinse, repeat. Now it charges!

Then the mixed feeling of relief and something hard to explain when the device finally turned on, and we were able to solve the problem. The Nexus 4 was brought back to life but remained undead with no real purpose. Had I known that I would be able to do that, maybe we wouldn’t have purchased a new device.

The unimpressive replacement

I managed to convince my girlfriend to get herself a Fairphone 3. While I admire Fairphone for what they envision and want to congratulate them for what they achieved so far, I was nonplussed by their latest entry.

It’s again larger, a trend that seems impossible to fight, and modules appear not to be compatible with the previous device. I get that they have to source components somewhere and chip manufacturers move on, but that’s a device even more hungry for power than the Fairphone 2 and that’s disappointing. They make very clear that the majority of resource consumption happens in the supply chain for a device, but I would hope that they’d keep devices frugal. Also did I mention how big it is?

I can see that Android is making strides and the most noticeable change is the update system that applies while the device is running and switches to the update during the next boot. Other than that, I performed the ritual of disabling all the things I would identify as unremovable crapware without asking for permission and presented the device as ready to be used.

The undead computer on my desk

Now that I had a working Nexus 4 in limbo I was wondering what to do with it. The spare parts went back to the basement, in the box containing the HTC Desire and the Firefox OS Flame. That’s when it occurred to me that I could give a try to an alternative operating system.

The Android clone

LineageOS is still alive and kicking, and only CyanogenMod appears to be scarred by the controversy dating back to the hostile fork. Looking at the latest LineageOS release, and the latest Nexus 4 build lagging what looks like two major releases behind I was not feeling very confident. It would likely improve the situation but also freeze it in time, not much of an improvement.

The Flame still burns

Firefox OS was abandoned, but from its ashes KaiOS was born. Let’s look at the list of supported devices… Oh, no Nexus 4, not even my Flame phone? Next.

The GNU/Linux mad house

There’s one phone designed to run a general purpose Linux distribution, with specialized applications nevertheless for the phone factor to my knowledge. However I’m pretty sure there are no plans for PureOS to support the Nexus 4 hardware.

The other mad scientist project is PostmarketOS and I really recognize myself in their pitch:

We are sick of not receiving updates shortly after buying new phones. Sick of the walled gardens deeply integrated into Android and iOS. That’s why we are developing a sustainable, privacy and security focused free software mobile OS that is modeled after traditional Linux distributions. With privilege separation in mind. Let’s keep our devices useful and safe until they physically break!

Of course I don’t belong to the OS development part, but overall I agree with their goals. The technical details are also very interesting and development seems to bear much less overhead than what I expected. Oh and it works with Nexus 4 hardware!

Except that working is an overstatement, and it is not working with a mainline Linux kernel. They seem to be stuck with whatever source code we had during the device’s prime. It hasn’t reached the point where I could participate, period.

Not a GNU system, not a mainline Linux kernel, next.

But hey, I want to see both PureOS and PostmarketOS succeed!

The impressive replacement

Last try: when Canonical pulled the plug on Ubuntu Touch, it seems that some people really liked it and formed a community to continue its development. I heard a lot about Ubuntu Touch when Canonical was trying to enter the market, and the user interface sounded weird, but I never bothered to look at their concept of scopes.

The installation process was truly impressive. The installer is not available in Fedora repositories but a Snap package is present and recommended. Snaps had never worked for me on Fedora but maybe this time it would work. It did, and the installer was able to detect the Nexus 4 without a glitch. It took me around 5 minutes to install the snapd RPM, install the UBports Installer snap, flash my device and remove UBports installer and snapd from my system.

Truly impressive.

The version of the system was OTA-11 (which I assume means Over The Air update 11) and while I don’t understand the scope concept that didn’t stop me from installing applications and finding my way around. Navigation was a bit confusing, but I’m fully aware that I was primed by Android experience. I think it’s mostly fine, except that the back button is often around the top of the screen which can put some strain on the thumb. Ubuntu Touch on my Fairphone 2 would probably kill my hand on the spot.

The system was very responsive and I haven’t seen a glitch yet. At the same time that’s not my daily driver. But installing and updating applications worked just fine.

A couple weeks later I noticed that OTA-12 was available but it showed up as “Version 10” in the settings. The upgrade went smoothly, the only nitpick I have is the lack of information about what’s happening besides 3 blinking dots. The changelog is impressive and apparently scopes are gone, but I didn’t notice a major difference. I may never know what the fuss was all about.

I have yet to give the Convergence®©™ a try and for now my Nexus 4 will stay undead but it might start its fourth life at some point. Everything I tried worked like a charm, so finally this old device has up-to-date software. Or does it? The device build description seems to imply that the Android kernel was compiled in user debug mode, whatever that means, it dates back to 2016 and belongs to the 4.4 series.

That doesn’t look reassuring and I couldn’t find a definitive answer after a quick search, sigh. On the other hand I didn’t ask anyone from the project mainly because I don’t want to waste anyone’s time with my petty questions unless I’m planning to seriously ramp up my Ubuntu Touch usage which is not on my agenda, yet.

Oh and of course I had to download and try a game on the first day, and I was able to get my best score ever on the first try:

The protective film is still on the screen

I wish UBports the best, they seem to do an amazing work and I really feel that Canonical was onto something with Ubuntu Touch.

The computer in my closet

If I managed to keep my Nexus 4 alive (though currently undead) for that long, with great difficulty, I can’t say the same for the laptop in my closet. This one didn’t get the basement treatment but it’s close enough.

Non free software end of life

My girlfriend has her own laptop, and it’s “powered” by Windows 7 (if you ask me I’d rather say “crippled”). For almost a year now we were in parleys over the incoming end of support and what to do next. She didn’t want to upgrade to Windows 10, but it would also be hard to convince her to use “my Fedora thing”.

In January when Windows 7 finally died we agreed to make an inventory of what she currently uses on this computer (not much besides a web browser and an office suite) and make sure the alternative OS would cover the current needs. Then we’d try a live CD to check hardware support and if stars aligned the next step would be a dual boot setup.

Since she’s a teacher we decided to follow the plan during the next school holidays, but before that could happen we’d have to deal with the COVID-19 pandemic. I didn’t have a contingency plan for that.

The impressive replacement

As she began to teach kids remotely problems started to crop up. The last straw was a microphone problem I couldn’t solve: on battery everything would be fine but once plugged a constant noise would be picked up by the microphone and it apparently only happens for this remote teaching web application.

Running out of ideas I had to resort to creative thinking again. I remembered having my 2011 laptop computer in my closet, so maybe it was worth a shot? Last time I had used it was around two years ago, so I had three major Fedora upgrades to perform over one weekend. They took forever, the hard disk drive is probably not going to last long but there is nothing important there. Since this is not a Nexus 4 device replacing that part will be easy when push comes to shove. On the next weekend I upgraded to Fedora 32, and for one week she had access to a perfectly fine Fedora 31 system.

Besides the slow, very slow hard disk, slowing down everything from boot to packages updates or first launches of applications, it is very, very, very (I insist) responsive. It might certainly not fit the bill for AAA gaming, and none of my devices do but it otherwise works almost perfectly fine. The only problem I encountered is the halting restart. Shutting down the computer works fine, trying to restart it halts it, in a state waiting to be powered down using the hardware switch. And of course it’s hard to get two hours of battery life without doing anything productive, and while it’s removable I’m not sure I can find a compatible replacement. Therefore this laptop can only be used like a good old desktop computer, but at least it has none of the problems the Windows laptop has.

Shocking: none of the hardware is supported by LVFS

Luckily for me, two years ago I installed MATE in addition to Xfce and left MATE as the default even though Xfce is still my desktop environment of choice. And MATE seems to be intuitive enough for her, at least for me it’s slicker than Xfce but somehow utterly fails to convince me to switch. But I digress.

Computing being computing, maybe installing Fedora on her laptop won’t make a difference. Maybe some power chord is too close to the microphone’s cable and it creates hardware interferences? Or maybe it’s a software problem since it only happens with the remote teaching web application and not with other kinds of audio or video conferencing software?

I’m willing to bet on Fedora, fully aware of my own bias. This laptop has nothing really impressive for itself. What’s really impressive is that, who would have guessed, computers can last and we don’t need to replace them too often. Sadly laptop computers today are even harder to repair and have less moving parts, less parts that can be individually replaced. One would argue this is a requirement for very slim and light devices, but I think this is only an excuse to justify more planned obsolescence. And as professional dealing with servers we worry a lot more about hardware faults or bit rot and tend to forget that devices with less intensive usage can last longer.

Wrapping up

The positive result of my various hardware experiences of the past few month is that I still have some degree of liberty for a small subset of my hardware and I no longer need parleys to exorcise Windows from my home.

I will keep an eye on Ubuntu Touch and PostmarketOS, but really I would prefer to run Fedora on all my devices. We also have one more Windows device, a netbook, more than ten years old. If it has an x86 32bit processor, Fedora (or even any Linux-based system) might no longer be an option. We’ll see what we do with the computer in the drawer, but not today.

I’ll say it once more, if you think you might hypothetically need tools to tinker with electronics devices in the future, don’t wait until midden lands on the windmill. My recommendation goes to iFixIt for the quality of their tools and the helpful repair guides, whether they originate from a partnership or were authored by individuals not from the iFixIt staff.

And this longest post (to date) was also the one that took me the longest to write, over two months. As events unraveled I ended up with much more to tell than initially planned. The smaller the device, the harder it is to keep it alive over the years, and that’s the sad reality of computing today. Some companies, under the cult of innovation even treat hardware as a commodity and the market gives the same incentive to everyone else, but there are still a few folks trying to reverse or slow down the trend. For this reason I’m also keeping an eye on the /e/ project (but seriously next time work on a better name) and it supports the Nexus 4 but like LineageOS it seems to be stuck a couple major AOSP releases behind.

And well, I could keep rambling on this topic so maybe next time I will talk about the other computers on my desk like my NAS or my docking station that is simply a computer in disguise, my bluetooth speaker that can take firmware updates or my dial-up modem built on Fedora, or even my main and current laptop. Spoiler alert, none of them are any less closed and I’ll probably use the word crap or its variants as many times if not more.