My JavaScript book is out! Don't miss the opportunity to upgrade your beginner or average dev skills.

Tuesday, February 17, 2015

A disappointing journey in the laptop industry

update as if everything I've written and experienced wasn't already disappointing enough, this security hole caused by this nonsense software installed by Lenovo to "help us", should give you an indication of how badly are ingenuous Laptop customers treated these days. But please, find out even more problems in this blog-post!
When I've left all big, cuddling, lovely, companies that gave me a MacBook Air/Pro for the last 6 years, I couldn't believe how difficult would have been to replace such important part of my daily life.
This is the story of a "once technical assistant at the Computer Shop behind the corner" person that, 18 years later, miserably failed at persecuting his ideals trying to go full Open Source.

Why I wanted an Apple alternative!

The "just work" company disappointed me so much with Yosemite I didn't want to waste my money there. I have the latest Mac Mini with the latest software in, and I've bought it after my good older Mac Mini became utterly slow behind some free OS update.
Guess what, this latest Mac Mini with best CPU and max amount of RAM already works quite slow and I haven't even installed much software in it.
I use stock OSX iTunes, Safari, everything that was already installed and Spotify that does not even start automatically, and I have the feeling it's slow! When you spend some money for "the latest, the greatest", that's not exactly the feeling you'd expect, right?
I also don't like much iTunes or the Apple store, way too close systems that together with most of the rest of OSX does not give me the feeling I am helping, improving, using, or contributing, to what I love the most and do daily: Open Source!
Will I keep using the MacMini? Yes, when I need to test stuff on OSX or as entertainment "box" (it hurts me calling it like that, it could be much more), but it's not portable and it does not give me the freedom I am looking for with everything else.

Hence the problem(s) ...

The list of well known, and unexpected things, I've discovered last month of my life were unthinkable 18 years ago. Where is all this going and why?
You might think this post is about suggesting to boycott everything that is not Open Source, you'll actually realize that who's actually boycotting the Open Source community is the industry itself, with all its caveats, locks, and constrains, that the industry itself created: keep reading if you are still here!

They don't give you a Zero OS option

This is the very first problem I've encountered: there is no such option as let me buy this laptop without a pre-installed Operating System.
The result is that you have to pay Windows licenses, it's included in the price!
And when the price is that low, is not because the OS license got cheaper, the new hardware you choose is crappier than others, and you are paying $50 extra for that license anyway.
OK, to be fair, sometimes you have the option to give the license back and being refunded ... now how much pointless bureaucracy this procedure adds is not the problem; the problem is that the moment you sign-up for such option you basically give up any sort of warranty about your machine.
They are unable to provide assistance to non Windows OS, there's no Help Desk worth or specialized enough behind laptops, you are on your own ... with your problems, and I'll tell you all of them pretty soon!

Locked up BIOS

This was one of the biggest surprise from those days where building up your own Desktop PC was all about changing and upgrading your underlying system so that you didn't have to buy another PC from scratch, you could simply change a component and be good to go.
Not anymore ... let's see what happened here, shall we? My Lenovo Yoga 3 Pro, the laptop I've mistakenly chosen as daily buddy for my work, is telling me that the Intel Dual Band Wireless AC 7265 card I've bought due problems with the bundled, closed-source, BROADCOM wi-fi Bluetooth module crap, is unauthorized.
Basically, Lenovo used a BIOS that locked its own component up so that I cannot upgrade for good. Unauthorized? What does it mean, not compatible or something?
[webreflection@Lenovo-Yoga-Pro ~]$ lspci
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 08)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 08)
00:04.0 Signal processing controller: Intel Corporation Broadwell-U Camarillo Device (rev 08)
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 (rev e3)
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
00:1f.6 Signal processing controller: Intel Corporation Wildcat Point-LP Thermal Management Controller (rev 03)
01:00.0 Network controller: Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter (rev 03)
Above is the list of components my Open Source OS uses to work, these are all Intel but the last line: Broadcom
That Broadcom controller has no Open Source drivers, and when I've found myself (together with many others) few days ago unable to use my laptop, I've instantly bought the Intel wifi replacement.
It's natively supported by my kernel and OS but my laptop BIOS decided to not authorize it, whatever the f#£k that means!

Not only Lenovo

Bear in mind that this is not Lenovo only, the MeegoPad T01 PC Stick, as example, has the worst from both worlds: you cannot easily put linux on it, due hybrid EFI 32bit boot VS 64bit system which has still many issues, and a preinstalled Windows you don't pay until it expires: it's sold unlicensed, meaning you are screwed when that evaluation time will go.
Avoid that product, if you want my advice, the MinnowBoard MAX is a way nicer device for all your experiments and it's not bound to any OS and its bios is upgradable via console (also EFI64 compatible!).

Locked Upgrades

This is the other screwed up part: if you don't have Windows, you cannot update your BIOS.

That, my dear reader, is a clear "you MUST use Windows or you cannot update what you bought" message, and I won't be able anymore in my life to update the bios of this piece of crap that does not let me install an Intel thing in a 99% Intel system.


It does not matter if you even read an Open Hardware symbol in your dev board, that does not mean what you think it does.

Above symbol means that schematics of your boards and info/names about components it uses, are freely available. This does not mean Open Source drivers, which is usually the very first big mistake everyone does in the industry, this means that if you are a Chinese factory maybe you can reproduce such board, if you're allowed of doing so.
Drivers are the main problem in Open Source OS and development, these are most of the time clsoed source. Your Mali GPU in your Open Source phone is goddamn closed source, and your Raspberry PI has a VideoCore GPU driver that is half closed source too and my bloody Broadcom WiFi module also has a bloody hybrid driver that is half closed source!
I don't want to deal with any of this anymore because if Intel can have Open Source drivers for basically every-fucking-thing it produces out there, so could every other company in this world. What's the secret behind? Why we cannot have good reliablity and performance in OS world too?
Why is that, since most of these same companies develop their own stuff in Open Source environments? I don't understand!

So here a quick rule of tumb: is that an Intel thing? Full intel thing? Go for it!

Otherwise be sure you've spent weeks finding out if that little component in the entire Open Source system could be the bottleneck of whatever you want to do with your laptop, developer board, hardware whatsoever!
Do you have a granted problem-free ability to use the closed source within the Open Source env and you don't mind it? Go for it, but ask yourself why it has to be like that ... and please tell me once you find the answer!


This is the other big topic that everyone in this planet seems to ignore when it comes to electronics.
We all love the unfolding experience we have with modern devices, where most of the time the envelop is fully recyclable ... so adorable, isn't it?
Then there is a world behind chips we ignore, where Intel in pursuit of conflict free supply chains becomes also an etic must.
Lenovo, at that time, was the only one providing a laptop with 5th gen Intel CPUs, a generation born behind this Intel's Conflict Free initiative, the only CPU I felt comfortable, from the top of my privileged life, to buy.
I must be honest, I've no idea about other non-intel components inside this machine, but I've done what I could to be a responsible buyer.

Anyway, if Conflict Free Minerals are hard to understand, imagine everytime you buy chips (or Doritos), you gonna end up in the very same way with local people, instead of trees: Have I convinced you Intel is trying to do better than others in basically all fields?

Essential hints for an Open Source Laptop

This is what I'd do differently if I was aware already about all these tiny details that screwed my new laptop experience very badly:
  • be sure all components are Intel or have Open Source drivers. AFAIK Samsung has some Laptop like this and they write all specs on the site.
  • try to understand if you can get rid of the Windows OS or License without loosing your laptop warranty. I even have a Windows License/Nuber in my Yoga BIOS, that's just ridiculous, as example!
  • try to understand if who's selling you the laptop provides at least BIOS upgrades for Linux. Most vendors do, Lenovo seemed to ignore Linux completely, at least for the Yoga line, but just one of them means they don't just care, period!
  • last, but not least, try to understand if components are green, conflicts free, sustainable, and everything else you could do as responsible buyer to make this world a better place for everyone else, including yourself
Once you've done all this, give also archibold installer a try, before going with other mainstream distros: it's GNOME on ArchLinux and I can assure you it's a damn pleasant environment to be, more than good old snappy OS X if I might, very smooth, very complete, very nice!
And that's all folks


Christoph Wagner said...

At least at notebooksbilliger (German notebook shop) you usually can decide if you want Windows or not.

Andrea Giammarchi said...

thanks Christoph, but it looks like the Yoga 3 Pro does not have such option.

In any case, another problem I haven't talked about, is the keyboard layout: they do not let you chose which layout you want, and having a QWERTZ layout keyboard is a big problem for me as developer ... I used to have one when I lived in Berlin and I got rid of it with fire!

Christoph Wagner said...

If I didn't have to write as much in German for work I'd go with QWERTY. Oh well.