Debian: Lenny cannot load Broadcom NIC drivers, asking for firmware bnx2-06-4.0.5.fw or bnx2-09-4.0.5.fw during install

If you have a Dell server, dump it, or keep reading 😉

Well… to me it sounds like some copyright crap Broadcom is pulling, or perhaps Debian is trying to be more compliant with restricted drivers. Three ways I can think of to work around this:

  1. Download the deb package from http://packages.debian.org/etch/firmware-bnx2, copy it to a flash drive and insert when prompted during installation. You don’t have to mount anything… install process will automatically find and load the driver. Do not unpack the .deb package, copy it to your USB drive without any modifications. OS will access the file and extract what it needs accordingly.
  2. Install an old or supported NIC (Intel?) and proceed with installation. Once it’s done install the deb package and restart networking.
  3. Install without a NIC, then download and copy the file to a flash drive or CD, mount and install. Just make sure you’re not using Debian NetInst CD!

One of the readers suggested that I should also post a link to the page where different versions of the driver can be downloaded http://packages.debian.org/search?searchon=names&keywords=bnx2.

Updated Feb 18th 2010  by Mark (comment reply):

To the people struggling with BCM5716: Even the latest Lenny 5.0.4 stable installer (with kernel 2.6.26-2 rev 21lenny3) doesn’t yet have the PCI IDs required to load the drivers. Here is some useful info:

  1. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565353
  2. http://www.mail-archive.com/debian-kernel@lists.debian.org/msg52571.html
  3. http://wiki.debian.org/HowToRebuildAnOfficialDebianKernelPackage

I’ve just spent the last 2 days working out how to roll my own Debian installer image with a patched kernel. All this work just to get some tiny changes into bnx2.ko and preseed the firmware :)

I’ve uploaded working Debian Lenny netinstall images:

MegaUpload Links:
amd64: http://www.megaupload.com/?d=8O5D782S
i386: http://www.megaupload.com/?d=3B9W1MHP

RapidShare Links:
amd64:
http://rapidshare.com/files/359005652/debian-lenny-5.04-netinst-amd64-bcm5716.tar.bz2.html
i386:
http://rapidshare.com/files/359005127/debian-lenny-5.04-netinst-i386-bcm5716.tar.bz2.html

Note: For anybody just looking for an install image containing the bnx2 firmware, this is for you too. Well, it works for me – YMMV.

btw, the next point release (5.0.5) of Lenny will work without any of these problems.”

CC0 1.0
To the extent possible under law, the creator has waived all copyright and related or neighboring rights to this work.

53 thoughts on “Debian: Lenny cannot load Broadcom NIC drivers, asking for firmware bnx2-06-4.0.5.fw or bnx2-09-4.0.5.fw during install

  1. Scott says:

    I think this is a case of open source developers being a little too strict in their approach to distributing “free” software. Excluding bnx2 from the Lenny installer may agree well with Debian “computing ethics” but at the end of the day creates a barrier to their distribution being used on more systems. I think a fair compromise should have been to include firmware-bnx2 in the installer with a grave warning about the social dangers of non-free software but still giving the user a chance to actually finish the install.

    After all, Debian is still distributing the same (zomg! evil! non-free!) firmware via an official package repository anyway. What’s the difference, except inconvenience to the user?? Silly.

  2. Timothy Heider says:

    I have already wasted 3 hours on this (including going out to get a USB stick which I have never needed to install Linux) and have not yet solved it.

    I can’t find anything on the Debian site explaining how to resolve this either.

    When I put the USB stick into the server (with the FW file on it) it indicates it’s accessing the USB stick (the little light blinks) but then just prompts me again for removable media. I will spend another 2 hours trying to debug this now.

    How is Linux ever going to grow with things like this constantly coming up? Every time I install Linux it’s something new. Every time I need to change a JDK or an /etc/profile I have to search on Google for 2 hours to find some cryptic solution to some unexpected problem. Two of my customers went back to Debian 4 because of this “network driver issue” and now I see what they’re talking about.

    It’s so sad, but it really explains why Microsoft continues to rule the OS world.

    Sorry for the rant, but good grief! I’ve been working for 5 years with Linux and it’s always the same story.

    • Ali says:

      This is unfortunate that you are having problems, but I know quite a few users who were able to use a USB stick and had no issues. Are you sure your stick is fine and file is being transferred properly? Did you try to check the MD5 hash before and after transferring the file to your USB drive?

  3. Timothy Heider says:

    I wanted to follow my rant with something useful: if I put the firmware-bnx2_0.14_all.deb file onto the memory stick (formatted FAT32) then the network drivers install.

    It does not work if you unpack the .deb file and get the file the installer is requesting specifically.

  4. Timothy Heider says:

    Ah.. also thanks Ali for your reply. I thought these posts just went to outer space. Nice to know someone is listening… 😉

    • Ali says:

      You’re most welcome. As I mentioned in my post you did not have to unpack the .deb package… that’s why it couldn’t use it. Glad all is well now :)

  5. debian says:

    Even formatting ext2 does not work with the .deb file. You have to format fat32 and then move the .deb file over. Also after the modules are loaded remove the stick before setting up drives or…in my case debian got confused on installing grub.

    • Ali says:

      Well, normally when we talk about a flash drive it’s normally formatted as FAT32 or vFAT. I don’t format mine any other way since I want them to be good in Windows and Linux. Removing the drive is a good recommendation… I didn’t run into any problems but I don’t recall if it was still connected during installation or not. Good call, though.

    • The old trick did the job. I don’t remember if that page was available earlier when that post was published, but thanks anyway! I have updated the post with your comment.

  6. Chris says:

    Just a tip for everyone else out there so they don’t waste time like I did. Only insert the flash drive when asked for the driver, and then remove it as soon as you configure networking. The installer will detect the flash drive on scanning disks and cause havok with the ordering of drives. After the reboot it will look for sda2 instead of 0.

  7. Richard says:

    I downloaded this file: firmware-bnx2_0.14+lenny2_all.deb
    and tried to install the driver, but the installer came back saying it found no kernel modules… indeed looking at the contents of the package, it only contains *.fw files… no *.ko files…. did I get the wrong file?

  8. reddrgon says:

    I apparently have a newer Broadcom 5716 card, and even using the sid .deb package, it still isn’t working for me. I’m trying to install squeeze, I’ve tried the firmware debs for lenny, squeeze and sid; no joy on any of them. Any other suggestions?

  9. Greg says:

    What about the poor chaps that have to drive 200 miles to put usb stick in the machine :-(

    I use PXE and IP KVM to install Debian on my machines and that’s the only way if I don’t want to spend a whole day in a car driving to the datacentre

  10. Mark says:

    To the people struggling with BCM5716: Even the latest Lenny 5.0.4 stable installer (with kernel 2.6.26-2 rev 21lenny3) doesn’t yet have the PCI IDs required to load the drivers. Here is some useful info:

    1) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565353
    2) http://www.mail-archive.com/debian-kernel@lists.debian.org/msg52571.html
    3) http://wiki.debian.org/HowToRebuildAnOfficialDebianKernelPackage

    I’ve just spent the last 2 days working out how to roll my own Debian installer image with a patched kernel. All this work just to get some tiny changes into bnx2.ko and preseed the firmware :)

    I’ve uploaded working Debian Lenny netinstall images (on megaupload, sorry!)
    amd64: http://www.megaupload.com/?d=8O5D782S
    i386: http://www.megaupload.com/?d=3B9W1MHP

    Note: For anybody just looking for an install image containing the bnx2 firmware, this is for you too. Well, it works for me – YMMV.
    btw, the next point release (5.0.5) of Lenny will work without any of these problems.

  11. Gruic says:

    Here’s an interesting issue I found out with this problem:
    1) IF you put the debian packages on a usb flash drive formatted EXT2 the debian installer will NOT find the drivers
    2) IF you put those same debian packages on a usb flash drive formatted VFAT the installer will work flawlessly and find the drivers

    I see the logic but don’t totally agree with it. It should find either filesystem and then copy the drivers. Another annoying thing is that the USB drivers are always loaded prior to HBA drivers so your /dev/sda will be the usb stick. Pain in the ass if you’re not using labels to mount your drives.

  12. Jason says:

    Thanks for the information. I used your patched netinstall image and it was a real life saver for me. Just FYI: This affects older 2950 Dell servers too and not just the newer models (uses same firmware).

  13. Robin says:

    I got a Dell R510 working using the patched kernel, didn’t realise the USB stick needed to be formatted using VFAT, so that didn’t work for me. Thanks!

  14. sehpatr says:

    In solution one, when is it; insert when “prompted” during installation ?

    Is it the part when it can’t find the ethernet card and asks me to choose one, or either continue with no ethernet card?

    and it sounded to me the way it’s going to work is I install it with no ethernet card and then insert the usb and install it from there.

    But when I dont have an ethernet card I can’t install it because it requires tons of info off of internet. So I should burn 6DVD version of debian?

    Or when should I insert this USB at the installation?

    • I don’t remember exactly what message it was, but if it’s not asking you for drivers or showing you a list then it’s not finding your Ethernet card at all.

  15. sehpatr says:

    It asked me once and I tried Intel based ones just to try and see if it would work after all I tried but then server started thinking that it was intel cards at each attempt.

    I deleted my arrays and created new logical drives on the server so that it would ask me again, but it’s still thinking they are intel cards.

    Also as I was trying yesterday, now my installation hangs at detecting network hardware part. What’s up with this now? :)
    Is this anything to do with them NIC cards?

  16. Ravi says:

    Thanks for the post; I would like to package the bnx2 drivers into initrd.gz and replace the original initrd.gz with packaged bnx2 drivers one and re-create the netinstall iso. So that next time booting from netinsall iso, drivers are installed automatically. Do you know how to achieve this ?

    Thanks.

    • There are many posts out there about slipstreaming the drivers onto a Linux install CD. Unfortunately I don’t have anything ready to post at the moment.

  17. tweekd says:

    on Debian Squeeze, during the install, I had to do a ctrl-alt-F2 to get to a terminal, and then do a manual mount with mount /dev/sdc1 /media before i could get it to work w/ my usb flash. I used the bnx2_0.29.all firmware, and it installs. Don’t forget to remove the flash drive before proceeding further (so it doesn’t show up as another disk). Hope this helps.

  18. Ran into this trouble with current stable, squeeze.
    Not so nice to pack up for a drive back to datacentre, wasted total 6h for nothing.

Leave a Reply

Your email address will not be published. Required fields are marked *


+ eight = 14

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>