I bought my first ThinkPad back in 2007, a new-on-market T60p. It was a relatively expensive investment—my previous and first laptop was a delicate Dell Inspiron 8200—but I needed the 15.4” widescreen LCD to run through PDFs quickly on a two-page-up display. I turned to Lenovo knowing that ThinkPads had solid construction quality and generally-good Linux support, even if the T60p was exceptionally heavy and had non-existent graphics acceleration support for the first year or so. I didn’t mind really. I was happy.
Central to this happiness was an improved WiFi experience provided by an Atheros AR5BXB72 802.11 a/b/g/n mini-PCI Express adapter attached to two antennas located behind the LCD screen; the Inspiron had a single antenna attached to a high-power, ‘b’-only adapter I swapped in from a company I had just discovered called NetGate. It was a neat experiment but not-quite-practical for day-to-day-work due to a lack of antenna diversity.
But alas, I dissembled my T60p for parts after I thought the mainboard power units bit the dust, which I learned later was simply caused by a defective power cable. In need of a new laptop, and having a generally-good experience with the T60p, I turned to Lenovo for a new-on-market Thinkpad X201i. At $900 it was a cost-effective purchase providing a powerful but lightweight solution to my mobile computing needs. I opted for the cheapest WiFi adapter – why spend money on an upgrade option when I knew I would swap in my old adapter?
And the X201i came with three wireless antennas.
Upon arrival I made short work of reformatting the hard disk with a Linux distribution, booted, saw that all was well, then shut down the laptop for the adapter swap-out. It took several minutes to figure out how to connect the antennas and even how to fit the full-size adapter into half-size mini-PCI slots, but with that accomplished I hit the power switch while taking pride in the overall efficiency of the process.
A second later, an obnoxious beep and the following ominous message appeared in white lettering on a black screen:
1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.
Normally I would have assumed this was a Linux issue—boot error messages are displayed in the same fashion—but this was different.
Part 2: A Closer Look
As early as 2003 IBM instituted a policy1 of refusing to boot laptops with adapters not on pre-approved whitelists; the number of approved cards for a given model is typically less than five. This policy change resulted in the ‘1802’ error I encountered above and remains in effect for all new laptops sold. I’m under the impression—citable correspondance is hard to come by—that the lock-out is designed to enforce end-user compliance with FCC regulations even if the FCC has no actual policy directing manufacturers to do so. Forced obsolesce thus becomes a part of Lenovo’s overall business strategy, under color of FCC compliance, at the expense of user freedom.2 Tellingly, one cannot buy a new ThinkPad that does not include a new WiFi adapter.
In fairness the FCC does require “intentional emitter” radio-frequency (RF) devices to undergo comprehensive testing; the risk that a particular combination of adapter firmware, independently-developed device drivers (e.g., kernel modules), and antenna configuration could result in RF emissions in excess of FCC permissible levels is non-trivial especially given the deleterious effect such a non-compliant configuration would have on others sharing the spectrum. The FCC mandates devices be tested as a whole3 and correspondingly places limitations on end-user configuration. Any change to the device as-FCC-certified must be approved in writing in advance by the FCC. But given that WiFi’s spectrum allocation was based on “a home networking technology for nomadic users…through a wireless connection that operates at relatively short distances,”4 prior FCC certification of previous, non-whitelisted adapters, and similarities in design between Lenovo laptops, it’s hard to imagine substantial emission differences that would cause meaningful concern by any party involved. In this case FCC over-regulation, in combination with an unwillingness to provide enforceable end-user protections against wayward manufacturers, is stifling marketplace innovation.
I posit the FCC should take into policy consideration the following three suggestions:
—Overhaul the Office of Engineering and Technology Equipment Authorization database – correspondence is difficult to navigate and discover. Additionally, it is not possible to link directly to a specific document, thus impeding meaningful conversation on the same data set.
—Allow 3rd-party ‘Permissive Change’ certifications. Currently, only Lenovo may authorize an alternate adapter, firmware, or antenna to be tested as being FCC-compliant in a particular model.
—Explore ways to improve developer and hobbyist access to “pre-certification” RF-measurement and diagnostic tools.
I’d like to take a moment to thank Ernie “Chip” Douglas for his helpful perspective on these issues.
Part 3: Coreboot
"With the right background and some months of development the answer can become yes." —Peter Stuge, a coreboot developer on the complexities of providing free/libre BIOS images (source
Initially, and in the least efficient manner possible, I managed to flash a lightly-patched BIOS image that bypassed all whitelist checks. It was a stopgap measure that also underscored the need to find a better, permanent solution; looking though strings in the original BIOS binary image reveals at least one objectionable code comment. This is code that I don’t care to run and trust for production-level work.
BIOS development is in many ways more complex than kernel development and, to boot, failed flashing yields rather expensive paperweights.
The above images show a Bus Pirate attached directly to my x201i BIOS chip in preparation for flashing a self-built coreboot image. It’s a work-in-progress but I’m excited about the initial progress I’ve made and the prospect of running a fully-free operating system. Stay tuned for updates.
 Durey, Lincoln. ”Linux and IBM : “Unauthorized” Mini-PCI : TCPA Updates.” linux-kernel mailing list. 3-June-2003, accessed 19-May-2013. https://lkml.org/lkml/2003/6/3/162
 SparkFun has an excellent writeup titled The FCC and Open Source Hardware that provides a detailed overview of the certification process.
 Lane, Bill. ”Topic 10: License-Exempt Wireless Applications for Public Safety.” FCC Tech Topics. Accessed 19-May-2013. http://transition.fcc.gov/pshs/techtopics/techtopics10.html
 Lenovo is granted Freedom of Information Act exemptions for proprietary “BIOS Lock” and antenna design features, complicating independent evaluation and development work.