Slashdot Mirror


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?

19 of 482 comments (clear)

  1. Confirm? by sczimme · · Score: 5, Funny


    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.
  2. IBM Thinkpads are the same way by explorer · · Score: 5, Interesting

    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.

    1. Re:IBM Thinkpads are the same way by Anonymous Coward · · Score: 5, Interesting

      From what I've read this is because the FCC approval for the wireless is the combination of the card and the antenna (which is built into the screen). Obviously it's not really in IBM's (or any other manufacturer) interest to test every possible wireless card with their kit. They probably lock them to keep the FCC happy.

    2. Re:IBM Thinkpads are the same way by Moofie · · Score: 5, Insightful

      Seems to me that if they don't want their computer to be compatible with PCI cards, they shouldn't advertise it as being compatible with PCI cards.

      But maybe I'm crazy.

      --
      Why yes, I AM a rocket scientist!
    3. Re:IBM Thinkpads are the same way by h2odragon · · Score: 5, Informative

      There's an easy enough workaround for that.

    4. Re:IBM Thinkpads are the same way by Fluffy+the+Cat · · Score: 5, Informative

      I've disassembled the Thinkpad BIOS and read the code myself. It scans every PCI device and flags any that have a class id starting with "02" (which signifies communication devices). Each communication device is then compared against a whitelist of PCI vendors, device IDs and subvendor information. If it's not on that list, the system will print an "1802: Unauthorized network device detected" error and stop booting. At that point, all you can do is switch off the machine. It's easy enough to fix in the BIOS - thankfully, it's even easier to fix by setting a CMOS bit that disables the check.

  3. There's a simple solution. by Anonymous Coward · · Score: 5, Insightful

    We can keep our own list of venders who do this... ..and don't buy from them.

  4. Workaround by Anonymous Coward · · Score: 5, Informative

    # 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.
    # 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 /CS option to phlash16 in order to check the checksum.
    # If it's worked, your card should now work. If it hasn't, your laptop is probably dead.

    1. Re:Workaround by Fluffy+the+Cat · · Score: 5, Interesting

      There's an easier way. See this page for a utility that disables the check without requiring BIOS modification.

  5. HP is (in)famous for this sort of thing by n6mod · · Score: 5, Interesting

    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.
  6. This guy is amazing: by Saint+Aardvark · · Score: 5, Informative
    http://www.paul.sladen.org/thinkpad-r31/wifi-card- pci-ids.html

    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.

  7. Incompatibility List? by DavidNWelton · · Score: 5, Interesting

    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.

  8. The credit goes to: by the_mighty_$ · · Score: 5, Informative
    --
    VI VI VI - the editor of the beast!
  9. Re:IBM has been doing it for years! by Anonymous Coward · · Score: 5, Insightful

    ...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.

  10. Mini PCI was never intended for end users by Anonymous Coward · · Score: 5, Interesting
    Intel Technology Journal:
    The PCI Express Mini Card specifically targets addressing system manufacturers' needs for build-to-order (BTO) and configure-to-order (CTO) applications rather than providing a general end-user-replaceable module. This form factor has characteristics more typical of an "embedded" application including the platform integration of the media interfaces such as communications connectors or wireless antennas.
    Cisco MPI350 FAQ:
    The Cisco MPI350 cannot be sold as an aftermarket adapter because ... Regulatory certification is based on the MPI350 being coupled with a particular antenna. Although modular regulatory approvals are available, they only apply to the original equipment manufacturer (OEM), who is responsible for embedding similar antennas in different devices. Modular regulatory approval does not eliminate the restriction on aftermarket sales since the end user might embed the adapter in devices with unapproved antennas.
    Basically, these companies are using FCC regulations as an excuse for limiting Mini-PCI cards (not just on these particular laptop models, but all Mini-PCI cards in general) to OEM installation only.
  11. The key word is: STANDARD by mrchaotica · · Score: 5, Insightful
    What I don't hear about is apple and there slots not taking anything but "AIRPORT" cards? why is nobody bitching about that?
    Because Airport is completely proprietary. I don't expect to be able to put a 3rd-party card in my iBook's airport slot because there are no 3rd-party cards that would fit. On the other hand, if IBM or anyone else advertises that their laptop has a [standard] mini-PCI slot, then it damn well better actually be a mini-PCI slot! And it should work with any [standard] mini-PCI card.

    (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

  12. confirmation of laptop age by hymie3 · · Score: 5, Funny

    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. =)

  13. The correct answer is.... by TiggertheMad · · Score: 5, Funny

    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!
  14. This is probably the real issue ... by SalesEngineer · · Score: 5, Informative

    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.