BIOS-Approved PCI Cards For Laptops
derek_farn writes "First there were printers that would would only work with vendor annointed ink cartridges; now we have laptops that will only boot with vendor annointed PCI cards. Keeping a list of approved PCI cards in the bios is one way of ensuring that customers renew their maintenance contracts. How else are they going to be able to plug in a PCI card released after the last BIOS update?" My HP laptop is several years old; can anyone confirm this?
My HP laptop is several years old; can anyone confirm this?
How should we know? It's your laptop.
I want to drag this out as long as possible. Bring me my protractor.
My older Thinkpad T40p has a whitelist, too. Luckily the Cisco 350 mini-PCI card I needed to connect to the corporate wireless LAN is on the whitelist. IBM actually sells the Cisco card with an IBM part number.
But forget trying to buy a random 802.11 a/b/g card and plug it in.
Please work to undermine the Great Strength of the PC market, the open architecture.
Brilliant move.
They should find everyoen who supported this decision and make sure they never work in any decision-making capacity anywhere again.
We can keep our own list of venders who do this... ..and don't buy from them.
# You need an uncompressed copy of the BIOS. The easiest way to obtain this is probably to use phlash16 under DOS with the /BU option. This will write out an uncompressed copy as BIOS.BAK. /CS option to phlash16 in order to check the checksum.
# Find out the PCI vendor, device and subsystem IDs of your card. In Linux, doing lspci -v will tell you this.
# Open the BIOS file in a hex editor. Find the BCPUSB header (there's an index near the start of the file that contains references to lots of BCP stuff. Ignore the one that appears here). Shortly after this is a set of PCI IDs, split up with 0s. The file is in little endian format, so the first byte in the file is the second byte of the ID. For instance, an IBM Pro/Wireless 2100 is 8086:1043 with a subsystem id of 8086:2551. This will appear as 8680431086805125. Make the modifications to suit your card.
# Find the string EXTD. The 4 bytes after that are an additive checksum. When all the 4 byte blocks in the file are added up, they must equal 0. Change the checksum as appropriate. At some point I'll probably get round to writing a tool to do this.
# Reflash your BIOS. Make sure that you use the
# If it's worked, your card should now work. If it hasn't, your laptop is probably dead.
I have an old NetServer LPr that I use as a Debian server. It's built like a tank, and has been fairly reliable, save for one issue:
Since I got it (used), it always printed a warning that non-HP DIMMs were detected, and HP's on-site warranty didn't cover problems caused by non-HP memory.
Then two of the DIMMs failed, so I popped the lid.
You guessed it. HP memory.
At least the motherboard was kind enough to turn on a flashing light next to the bad DIMMS. (Seriously)
You have violated Robot's Rules of Order and will be asked to leave the future immediately.
I came across his site a while back, and holy crap if he isn't hacking his BIOS to get around these limitations. (His page is linked to if you follow a link from TFA, but I figured he deserves more prominence here.)
Interestingly, this is the same IBM (and HP, for that matter) that we have come to know and love for their help with Linux. I realize they're a big company, full of lawyers and patents and left hands unaware of what the right hand's doing, but I'm still really surprised I haven't heard about this before.
Anyone know of a blacklist of this sort of shenanigans? I'm the sysadmin where I work, and it'd be great to know what to stay away from -- and to explain to these companies why they've lost our business.
Carousel is a lie!
Capitalism provides a simple solution to this problem.
Track down the person that made such an non-upgradable notebook and kill them in their sleep.
Actually, maybe that's not the capitalistic way of solving it but it's likely more satisfying.
I'm a big tall mofo.
There is a list of hardware that is not very Linux friendly here: http://www.leenooks.com/ - perhaps this stuff would make a good addition to the list.
http://www.welton.it/davidw/
Matthew Garrett
...because apple does not market it as a miniPCI slot, but rather an AirPort card slot. It doesn't claim to be something that it's not - a place to plug in whatever you feel like plugging in. It's there just for the AirPort card, and nothing more.
What I don't hear about is apple and there slots not taking anything but "AIRPORT" cards? why is nobody bitching about that?
I think this is simply because we don't expect openness with Apple. Their hardware is generally proprietary, while PC hardware is not.
(note: this is not Apple fanboyism -- I don't complain about the proprietary slot on the lid of of my Compaq laptop either.)
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
Bastards!
What does this button do...
Your post is hilarious because IBM has been known to be doing this for some time now. You ahve been fortunate to only use IBM whitelisted products so far.
In fact your post reminds me of an incident I experienced a few years ago. I was approached and reprimanded by a WWII veteran for driving a "Jap car". At the time I was driving an Isuzu. After the man was finished reprimanding me, he jumped into his Chevrolet and drove away. I burst out laughing because the particular model of Chevrolet that he was driving was actually a re-branded Isuzu.
Like the CD-ROM protection schemes that made the discs nonstandard, are these laptops far enough from the device standard that they could be forbidden from using the mini-PCI brand/logo/classification?
If Carly were still in office, she'd probably find a way to convince you that your printer is out of ink and you need to buy refills!
Aside from that, if this under-handed marketting strategy is going to keep us from running servers/workstations, what's next - BMWs whose engines suddenly stop working because there's a Fram oil filter installed? What if I decide to use a generic dollar-store bulb in my socket instead of the "approved" Philips bulb? Based on this theory, can you imagine what would happen if I were to eat a bag of knock-off raisin bran?
It sounds to me that this is just a marketting gimick to screw customers over and force them to buy what the manufacturer wants you to buy. God forbid I should find a better alternative to what the manufacturer wants me to buy.
-- Game Developers: Stop porting badly-textured games from crappy console systems!
He probably bought some generic made-in-god-knows-where card
Look, *all* the PC cards are made in the same giant sized factory called "Taiwan". I ran into a problem with an HP Netserver that HP blamed on my Crucial branded memory by saying only HP branded memory was good enough. Of course the solution ended up not involving the memory. Heck, HP doesn't own a memory fab; they just slap their sticker on whatever they get the best bulk rates on. In the article about the mini-PCI card, HP has no legitimate way to claim only thier PCI cards have to be used or the dang thing won't even boot. It's one thing to say 'we don't support it because you installed a third party peice' and it's completely different to actively prevent even trying.
My HP laptop is several years old; can anyone confirm this?
Yeah, Timothy. I was there with you when you bought your laptop. It was around the same time that I got my iPod. It was a first generation, so, yeah, your laptop is definitely a few years old.
You're welcome. =)
Your laptop is downloading pr0n and warez from the internet, and is unresponsive when you try to get it to do something useful. I'd put it's age at about 14.
HA! I just wasted some of your bandwidth with a frivolous sig!
It happened to me when I upgraded from an intel 2100 wireless card to an intel 2200 wireless pci card in an eight month old Compaq X1000 laptop. Rolling back to an older bios "fixed" the problem.
More info here: http://www.x1000forums.com/index.php?showtopic=573 9
Today's lesson: Don't buy Compaq.
Unlike a regular PCI add-in card, the miniPCI WiFi card(s) in question doesn't contain a PCI option ROM. Like VGA, SCSI or RAID cards, this option ROM configures the device before the OS loads.
Since the option ROM isn't on the device, the ROM is stored in the system BIOS. When PCI option ROMs are stored in the BIOS, they are associated with the device's PCI "vendor ID" and "device ID". The "hack" described in an earlier post tells the BIOS to look for a different vendor/device ID (which hopefully is compatible with the embedded option ROM).
Some network adapters require the option ROM for the OS drivers to work, and network booting requires the option ROM so the BIOS can use UNDI/PXE.
This is a support problem from the notebook manufacturer. They only tested a few adapters, and only have room in the BIOS for one network option ROM. This has nothing to do with "trusted computing" or weird conspiracy theories. If the integrated card can't be upgraded, then USB or PCMCIA devices should be an option.