Changing PCI IDs of Intel wireless cards from Linux for Thinkpad laptops

So I bought another Lenovo Thinkpad laptop recently. (I like them, they work well with Linux, they're solidly built.) After having some minor annoyances with the Broadcom wireless in my previous thinkpad, this time I ordered one with an Intel wireless chip that'd be well supported in Linux. However once the laptop arrived, I discovered that the Intel option doesn't support the 5GHz band, which I really need at home. (There's some kind of ridiculous non-802.11 interference on the 2.4GHz band) Oh well I thought, I'll just pop a different mini-PCIe card into the laptop. I popped the one out of my old thinkpad and put it into the new one.. Which then promptly refused to boot with "Error 1802 - Unauthorised wireless card detected" *sigh* You'd think a card from one Thinkpad would be authorised to work in another, but apparently not :/ The detection is done via the PCI ID. So anyway.. I found some rumours online about being able to switch the PCI IDs of the Intel wifi cards from within Linux, permanently. (I guess it's adjusting the EEPROM somehow) (If I can switch the ID of the new card to the old one, then I'll also need to recompile the Linux driver to recognise it, but that's easy enough) I don't suppose anyone here has had to do this for their own Thinkpad (or HP) laptops, and if so, has any pointers? Thanks, Toby PS. It used to be the case that modified BIOSes existed that removed the stupid whitelist, or changed it, but with the advent of secure boot and Windows 8, it seems the BIOSs are cryptographically signed and so this is harder to achieve.

Toby Corkindale <toby.corkindale@strategicdata.com.au> wrote:
So I bought another Lenovo Thinkpad laptop recently. (I like them, they work well with Linux, they're solidly built.)
After having some minor annoyances with the Broadcom wireless in my previous thinkpad, this time I ordered one with an Intel wireless chip that'd be well supported in Linux.
However once the laptop arrived, I discovered that the Intel option doesn't support the 5GHz band, which I really need at home.
The Intel 5300 wireless card in my Lenovo X200 laptop supports the 5GHz band, or at least claims to when I run iwlist wlan0 freq. Do you have up to date wireless firmware loaded? Under Debian it's in the firmware-iwlwifi (non-free) package; it may be included in the kernel package by some distributions. Checking the specs of the card would confirm it, of course. Mine is not a new laptop, so I would expect more recent models to support the 5GHz band too.

On 19/06/13 13:10, Jason White wrote:
Toby Corkindale <toby.corkindale@strategicdata.com.au> wrote:
So I bought another Lenovo Thinkpad laptop recently. (I like them, they work well with Linux, they're solidly built.)
After having some minor annoyances with the Broadcom wireless in my previous thinkpad, this time I ordered one with an Intel wireless chip that'd be well supported in Linux.
However once the laptop arrived, I discovered that the Intel option doesn't support the 5GHz band, which I really need at home.
The Intel 5300 wireless card in my Lenovo X200 laptop supports the 5GHz band, or at least claims to when I run iwlist wlan0 freq.
That's nice, that's a dual-band card. However my laptop came with the much newer Intel Centrino N 2300 chip, which is not dual-band. Apart from it obviously not seeing the channels, it's also confirmed by checking Intel's page.
Mine is not a new laptop, so I would expect more recent models to support the 5GHz band too.
Yeah, that was an assumption I made as well. My old Lenovo came with a dual-band wireless card too. I am quite surprised Lenovo ship this laptop with a low-spec wireless card. What I find quite ugly is the way they've BIOS-locked the machine to not allow you to upgrade it.

Toby Corkindale <toby.corkindale@strategicdata.com.au> wrote:
That's nice, that's a dual-band card. However my laptop came with the much newer Intel Centrino N 2300 chip, which is not dual-band. Apart from it obviously not seeing the channels, it's also confirmed by checking Intel's page.
The specs for the Lenovo X230 (which is the newest model similar to my current laptop) suggest that the purchasor has the opton of several different wireless cards - all Intel. It would be interesting to know whether one card can be replaced by another on the "supported" list and whether Lenovo will supply this (at a price, of course).
Mine is not a new laptop, so I would expect more recent models to support the 5GHz band too.
Yeah, that was an assumption I made as well. My old Lenovo came with a dual-band wireless card too. I am quite surprised Lenovo ship this laptop with a low-spec wireless card.
What I find quite ugly is the way they've BIOS-locked the machine to not allow you to upgrade it.
I agree - that's very bad practice. The only reasons that come immediately to mind would be (1) trying to make you purchase cards through them or to upgrade the laptop; or (2) some sort of regulatory issue in one or more of their markets. As I recall, wireless regulators in Japan are particularly strict, but they're not the only example.

On 19/06/13 15:42, Jason White wrote:
Toby Corkindale <toby.corkindale@strategicdata.com.au> wrote:
That's nice, that's a dual-band card. However my laptop came with the much newer Intel Centrino N 2300 chip, which is not dual-band. Apart from it obviously not seeing the channels, it's also confirmed by checking Intel's page.
The specs for the Lenovo X230 (which is the newest model similar to my current laptop) suggest that the purchasor has the opton of several different wireless cards - all Intel.
It would be interesting to know whether one card can be replaced by another on the "supported" list and whether Lenovo will supply this (at a price, of course).
You can indeed swap one card for another on the list, as long as you purchase it direct from Lenovo, so that it has the modified PCI IDs. However for my laptop, none of the options available met my criteria -- I could either have a poorly-supported Broadcom chipset, or the single-band Intel chipset. The better Intel chips weren't available. Also it's worth noting that a wireless chip that costs about $13 on ebay (new) costs about $95 from Lenovo direct, which is a pretty hefty markup.
Mine is not a new laptop, so I would expect more recent models to support the 5GHz band too.
Yeah, that was an assumption I made as well. My old Lenovo came with a dual-band wireless card too. I am quite surprised Lenovo ship this laptop with a low-spec wireless card.
What I find quite ugly is the way they've BIOS-locked the machine to not allow you to upgrade it.
I agree - that's very bad practice. The only reasons that come immediately to mind would be (1) trying to make you purchase cards through them or to upgrade the laptop; or (2) some sort of regulatory issue in one or more of their markets. As I recall, wireless regulators in Japan are particularly strict, but they're not the only example.
Who knows.. Apparently HP do this too, but not really anyone else, and they all seem to sell stuff around the world fine. As for adjusting the PCI IDs.. It seems that on some old intel cards, you could write to the EEPROM to do so, with some patches to the drivers. The modern cards still have the EEPROM reading functions in the driver, so maybe I can find a spec and add the EEPROM writing function back in again. I've ordered a $13 card so will give it a go; otherwise I guess I just have to fall back to using a lame USB adaptor.

On Wed, Jun 19, 2013 at 03:57:25PM +1000, Toby Corkindale wrote:
I agree - that's very bad practice. The only reasons that come immediately to mind would be (1) trying to make you purchase cards through them or to upgrade the laptop; or (2) some sort of regulatory issue in one or more of their markets. As I recall, wireless regulators in Japan are particularly strict, but they're not the only example.
if they're using that as an excuse, it's pretty lame...and bogus. there are plenty of legal, wifi regulation-compliant wireless mini-PCIe cards that don't have a Lenovo brand or PCI-ID. Using them is not illegal, and does not break legal certification of the device.
Who knows.. Apparently HP do this too, but not really anyone else, and they all seem to sell stuff around the world fine.
they get away with it because people let them, they don't complain and they keep buying crippled standards-breaking shit. the whole point of PCIe (as for other peripheral connection standards) is that it is a *standard* for upgrade/replacement modules from any compliant manufacturer. refusing to boot when a third-party device is installed in the slot is anti-competitive, and possibly illegal in this country. write to the ACCC complaining about Lenovo's false advertising and anti-competitive practices - crippled mini-PCI Express is not mini-PCI Express. also complain to PCI-SIG and advise them of Lenovo abusing their trademark. and/or just return the laptop due to it being not as advertised (crippled/non-standard mini-PCIe) and not fit for purpose under your australian statutory warranty.
As for adjusting the PCI IDs.. It seems that on some old intel cards, you could write to the EEPROM to do so, with some patches to the drivers.
another alternative: this page lists some hacked bioses without the PCI-ID whitelist restrictions for some models of thinkpads. might be worth checking if your model is one of them. http://www.thinkwiki.org/wiki/MiniPCI_Express_slot craig -- craig sanders <cas@taz.net.au>
participants (3)
-
Craig Sanders
-
Jason White
-
Toby Corkindale