20110203

Victory over Lenovo and Realtek with Linux and IBM

At least amongst the local 2600 attendees, Lenovo ThinkPads and a mixture of netbooks seem to be the preferred computer of hackers. Most netbooks are either sufficiently generic or use such a small range of parts that driver support under Linux is not much of an issue, even when it is a few google searches of your distro's forums and wiki will usually turn up a simple fix. Laptops, unfortunately, don't have the same degree of homogeny and seem to use far more varied and unusual components, many sold under either generic descriptors (Wireless N!) or OEM brandings (ThinkPad BGN Wireless), neither will allow you to identify the chipset and driver that you will require unless someone else has discovered and posted that information in a searcable place.
This is where my last few weeks of frustration began.
Having become tired of the limited processing power and the rather brain-dead storage design of my EEEpc 901 (linux edition) I decided to take another shot at finding a reasonably priced ultra-portable laptop. ThinkPads have grown on me lately as a number of my friends either own one or consulted me while buying one. Luckilly for me Lenovo was running a few sales the week I decided to actually buy the new machine, however I was still rather budget concious and opted to go for the cheaper generic default options on a few parts that were low priority for me. I included the WLAN card on that list, big mistake.
When the new X201 finally arrived (1 business day and a weekend late, as is usual for the local UPS drivers) I checked that it passed POST and diagnostics and then promptly formatted the harddrive and installed a couple of linux distros. Installations complete, I logged in and began checking that everything was working, of course the wifi card wasn't but I eventually tracked it down in the hardware configuration. Once I got a wired connection going I was able to pull down the neccessary firmware packages for the detected chipset (the Realtec RTL8191se) as well as the vendor's official driver source tarballs so that I could compile the driver for another distro.

Once the firmware and drivers were installed and loaded the card would be detected and attach to a standard wireless network interface and even allow AP searches and connect, but only for a few minutes at a time. Reported signal strengths appeared as only one of about 5 values (0db, -1db, 35db, 47db and 53db) which would rapidly change until the connection would drop (without generating the standard system messages to take down the interface so that ifconfig would still report a connection). Despite being sold as 802.11n capable it would not detect 802.11n only networks or APs broadcasting on the 802.11n long distance frequencies. This obviously doesn't qualify as working so something needs to be done.

Having exhausted all of the tweaked and custom built versions of the realtek drivers available I decided to try replacing the card. Lenovo won't sell you just the component nor will they actually sell you an upgrade; they will make you go through a torturous returns process (which they will refuse to complete if you have made any changes to the content of the harddrive or left any visible signs of opening the body) before they will eventually issue a refund which you can then use to purchase a new laptop with the hardware you need. Luckilly a competent system builder can easilly remove the keyboard and palm rest assemblies (9 clearly marked screws) to get access to the PCI-e slots, and other internals; it should be simple to find a replacement PCI-e wi-fi card and simply slide it in then shouldn't it? Of course not. Lenovo, under the guise of 'ensuring compliance with FCC regulations' for certifying the "combination of wireless tranciever and antenna", has also locked you into buying all future parts for *your* laptop by adding a PCI-ID whitelisting routine to their BIOS. If you replace the PCI-e card with one from a third party, even one of the exact same model, the BIOS will halt with an 1802 error and refuse to boot. There are a handful of tools for modifying Lenovo's BIOS update packages but Lenovo's BIOS update tool requires a functioning Windows installation, so much for that option.

For those who aren't too keen on risking the destruction of their laptop and buying Windows there is another option. It isn't much cheaper then buying a Windows license but it won't actually require paying Microsoft. IBM operates the post warranty service parts center for ThinkPad and ThinkCenter computers. Their parts aren't cheap and you will have to be very sure about exactly which part you need (as you need to order by the exact part number contained in your computer's maintenance manual) but it will work and they will ship nearly any part via UPS's next day delivery service. So, as long as you can find a properly supported card in the maintence manual you can get it without having to send your computer anywhere or having to deal with Lenovo's helpless desk and drain bramaged customer disservice^w^wsales people.

Once UPS finally got around to delivering my overpriced Intel Centrino 6300 wireless card I had it swapped out and working in five minutes.

Details about the 1802 boot error and related issues can be found on ThinkWiki.

No comments:

Post a Comment