Chromebook Trades Camera for WiFi Freedom

There are a number of companies now providing turn-key computers that meet the Free Software Foundation’s criteria for their “Respects Your Freedom” certification. This means, in a general sense, that the computer is guaranteed not to spy on you or otherwise do anything else you didn’t explicitly ask it to. Unfortunately these machines often have a hefty premium tacked on, making it an unpleasant decision between privacy and performance.

Freedom-loving hacker [SolidHal] writes in to tell us about his quest to create a FSF-compliant laptop without breaking the bank. Based on a cheap Asus C201 Chromebook, his custom machine checks off all the appropriate boxes. The operating system was easy enough with an install of Debian, and the bootloader was rid of any Intel Management Engine shenanigans with a healthy dose of Libreboot. But there was one problem: the permanently installed WiFi hardware that required proprietary firmware. To remedy the issue, he decided to install an internal USB Wi-Fi adapter that has the FSF seal of approval.

As the Chromebook obviously doesn’t have an internal USB port, this was easier said than done. But as [SolidHal] is not the kind of guy who would want his laptop taking pictures of him in the first place, he had the idea to take the internal USB connection used by the integrated webcam and use that. He pulled the webcam out, studied the wiring, and determined which wires corresponded to the normal USB pinout.

The FSF approved ThinkPenguin Wi-Fi adapter he chose is exceptionally small, so it was easy enough to tuck it inside some empty space inside of the Chromebook. [SolidHal] just needed to solder it to the old webcam connection, and wrap it up in Kapton tape to prevent any possible shorts. The signal probably isn’t great considering the antenna is stuck inside the machine with all the noisy components, but it’s a trade-off for having a fully free and open source driver. But as already established, sometimes these are the kind of tough choices you have to make when walking in the righteous footsteps of Saint Ignucius.

Internal laptop modifications like this one remind us of the Ye Olden Days of Hackaday, when Eee PC modifications were all the rage and we still ran black and white pictures “taped” to the screen. Ah, the memories.

30 thoughts on “Chromebook Trades Camera for WiFi Freedom

  1. I know, right? It’s not like they should own the device they purchased. Obviously they’re just leasing it from Microsoft/Apple, who have the right to run whatever they want on it remotely.

    It’s not like there’s been multiple confirmed BIOS and OS backdoors anyway. Everything’s fine, so why worry?

      1. It is easy to think you are so much better or more informed than someone that doesn’t see things your way. So bro, give us a break and leave your personal comments to people who give a damn! It is interesting to see what some people will go through to solve their particular issues. And who knows the tidbits I get from the story might be important to me somewhere down the line. But if not, that is fine as well. Each to his own.

  2. Aaaahhh.
    I think you hit the nail on the head:
    It must be the placebo effect playing tricks on us.

    That is, there is clearly no performance difference between Libreboot and stock-firmware on my Lenovo T400 laptops side by side (With exact clone of the linux OS running on each).

    I must be imagining the stock T400 being at 48*C CPU with cpufreqd hardly moving past 800Mhz let alone above 1.6Ghz whilst feeling sluggish whilst idle.
    Doesn’t time fly? because the battery seems to last a couple hours at best (it must of been 4 hours in reality?)

    The placebo effect seems to make me feel like the Librebooted T400 last another 3.5 Hours. It must be purely psychological for me to think I’ve seen the Librebooted laptop hit and even maintain 2.13Ghz for any length of time, let alone the pure imaginative effect of the placebo effect causing me to think the laptop runs at 29*C under normal use.

    .

    Thanks, I think I’ll now upgrade to a closed source OS and closed source BIOS… they sound soooo much better now I know testing two T400 laptops side by side gave purely biased results.

    What CPU do you recommend? I’d guess you’ll get along fine with the “Latest greatest fastest 1.2Ghz Pleb-tium processor from Intel”

  3. I have done a comparable mod on an old laptop. Not for ‘freedom’ but just to have a second wifi interface that supports 5GHz. I used the USB from the fingerprint reader.

  4. And about the antenna : couldn´t find in the pictures, but didn´t the original machine already have antennas ? They usually go to the sides/backside of the display and connect to the mainboard, so would be just a matter of connecting them to the newly added wireless card ? No need to suffer being near the “noisy components”.

    1. Sure the laptop likely has antennas somewhere, but the Wifi adapter doesn’t have a way to connect it to them. Suppose you could try and solder the antenna lead to the microscopic PCB antenna on the adapter, but you’d need a real steady hand.

      Easier to just take the hit in signal strength. At least you know you won’t destroy anything.

      1. Well, couldn´t find a good picture of the wifi adapter. But if he soldered the cables from the usb connector of the camera, soldering the two wires from an antenna cable would be easy. And the cables should already be around. because they need to reach the mainboard to connect to the onboard wifi.

    2. From the pictures it seems like the adapter could be fitted on top of the screen with some digging, cutting the usb connector and removing the camera entierely. It would allow a much better range.. after passing through the motherboard the signal coming from the right must be very weak

      1. Unfortunately the usb connector is part of the main pcb and has components on the other side! So cutting it off wasn’t really on option. In addition, the antennas are rather bulky folded pieces of metal, which end up making the pcb thicker than the lcd, etc, so fitting it up there wouldn’t work. If I have issues, I’ll solder the antennas left over to the pcb which should do the trick.

    3. The laptop does have two antenna cables already. The problem is the usb dongle uses two folded pieces of steel as the antennas, so no good way of attaching them. I figured I’d test out without the antennas and see how it works. It I notice issues I’ll solder them on and make an update to the writeup.

  5. Hmm it is certainly a polarizing topic. Personally, I just go with the assumption that they already have my data several times over by now anyway and are much more likely to steal it from a company’s servers that provide services I use than hitting my personal devices.
    Really, it seems the best thing to do is ruin your credit so no one else can get anything monetary using your info lol.

  6. This is far more ambitious than my method of simply putting a strip of black electrical tape over the built-in camera of my laptop, and leaving the webcam unplugged from the USB ports on my desktop. Well done!
    I will have to look into Libreboot. It’s not something I had heard of before (I don’t pay a lot of attention to computer news these days) and it sounds like it might be useful.

  7. It’s not always about extreme idealism. I write closed source software for a living and yet I would prefer an entirely open source computer myself.

    It comes down to quality, usable lifetime and convenience.

    I’ve spent a lot of time working in both Windows and Linux. I usually find Windows is a constant fight to get the computer to do what I want it to do because Windows just wasn’t designed with my needs in mind. Linux is a much better experience for me overall. So, at home I use Linux.

    Driver manufacturers put a lot of effort into their Windows drivers. When they write proprietary Linux drivers it is often an afterthought. OSS developers however usually actually use what they develop so they are motivated to put the effort in to fixing their bugs. So, at least on Linux avoiding proprietary stuff gets me a more reliable result.

    Also, hardware manufacturers are in the business to sell more hardware. I’m not interested in spending 100s of dollars to buy a new laptop, tablet, phone, etc… every year just to keep up with my neighbors. There was a time when hardware was increasing in capability so much that devices a few years old were physically incapable of doing things that newer ones could and that I cared about. This has not been true for the past 10 to 15 years. We really have hit the law of diminishing returns. Hardware doesn’t improve that much anymore (except maybe for pocket sized items like phones but I suspect their development will top off soon too). Most of the obsolescence turning our electronic treasures into landfill waste are really just artificial limitations imposed by software. Open source however tends to support older hardware much longer. My 10 year old computer performs the vast majority of common tasks just as well if not better than most new ones. (3d heavy games being an exception.. for now).

    Finally, convenience. Linux distros go through a lot of effort to write scripts, default config files, etc.. so that hardware just works upon install. Binary blobs often do not fit into the process and end up requiring special steps to make them work. Sometimes this is a one time thing. Often it is something that must be repeated each time the operating system is updated. If you have ever found that your network device quit working after an update and the solution is to download an updated driver for it. But.. that network device was your internet access, you need it to download the update.. then you know what I mean. Open source drivers usually just end up getting rolled into the stock kernel source and are updated automatically right along with everything else. Everything just works!

    1. There are many. Ath9K pci-e chips have no on board CPU, so there is no blob to load in them. The USB version has a CPU, but the firmware for it is open source (though badly written). You can buy cards with this chip on aliexpress for a few $: https://www.aliexpress.com/wholesale?SearchText=ar9271

      Ralink (now Mediatek) also has some wifi chips without firmware, although the USB version does need a trivial 8051 blob that handles packet transport over USB. It seems to be possible to have the chip download this image from external EEPROM instead of from the host, allowing you to make a FSF ‘Respects your freedom’ compliant dongle, although of course the same proprietary code is running. I never saw a dongle that used the chip in this way, so maybe it does not work in practice or there is no market demand.

  8. “and the bootloader was rid of any Intel Management Engine shenanigans with a healthy dose of Libreboot” Since it uses an ARM CPU (RK3288), I think that is a safe, but misleading, statement to make.

    But it will still be Vulnerable to Spectre 1 & Spectre 2.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.