Are you having problems getting Bart’s Boot CD to recognize the Broadcom NetXtreme 57xx Gigabit Controller network interface card?
I work with some Dell computers (models: Optiplex SX280, Optiplex GX620, Precision 690 and Precision 370) that have this NIC and the current version of Bart’s Boot CD is unable to recognize it. The automatic NIC detection fails with a message to the effect of “could not find any device, you can try manually selecting a driver” (sorry, I can’t remember the exact error).
Naturally, I looked on Bart’s site to see if there was a new driver cab file that would fix this problem. There I found b57.cab, which had the description “Broadcom NetXtreme Gigabit Ethernet NDIS2 Driver v7.03 (031002)”. That seemed like it would be the right one so I put it on my boot disk and tried it. Again, auto-detection failed.
I tried manually loading the driver in b57.cab but I got “Error 7306: The driver failed to initialize.” I tried manually loading some of the other drivers on the disk but I got “Error 7321: Network-card drivers failed to load.”
The good news is that I figured out how to fix this issue, after doing some research. Essentially, I made a custom version of b57.cab. Read on for more details. Note that you could apply these techniques for making custom versions of any of Bart’s network driver cabs.
First, let me explain how (I think) the auto-detection works. Each of the network driver cabs includes a file called ndis.pci. Here are the contents of ndis.pci from the latest released version of b57.cab (ver 1.6):
ret="B57" ven=14E4 "Broadcom" dev=1645 "NetXtreme Gigabit Ethernet (BCM5701)" 1644 "NetXtreme Gigabit Etherent (BCM5700/5401)" 16A7 "NetXtreme Gigabit Ethernet (BCM5703X)" 165D "NetXtreme Gigabit Ethernet (BCM5705M 10/100/1000)" 165E "NetXtreme Gigabit Ethernet (BCM5705M 10/100/1000)" 166D "NetXtreme Gigabit Ethernet (BCM5705MFE 10/100)" 16A6 "NetXtreme Gigabit Ethernet (BCM5702 10/100/1000)" 164D "NetXtreme Gigabit Ethernet (BCM5702FE 10/100)" 1648 "NetXtreme Gigabit Ethernet (BCM5704C 10/100/1000)" 1696 "NetXtreme Gigabit Ethernet (BCM5782 10/100/1000)"
“Ven” stands for “vendor id”, which identifies the manufacturer of the card. “dev” stands for “device ID”, which identifies the model or chip set of the card. Operating systems use the vendor and device IDs to implement plug-and-play for PCI devices. When plug and play works, the operating system can automatically load the correct drivers for a device.
In this case, the manufacturer is Broadcom (vendor id 14E4) and all of the listed devices seem to be NetXtreme 57xx Gigabit devices of some sort. So why did autodetection fail? A clue is to look at the revision history of b57.cab. For example, look at this note: “v1.2 Updated by Oivind Pettersen from IBM, added dev=1644″. Hmm, perhaps I need to add a new device ID to the list but how do I know which one to add?
To answer that question, I loaded Windows on a Dell Precision 690 and started poking around in Control Panel. I found the information I needed by drilling down to Control Panel | System | Hardware | Device Manager | Network Adapters | Broadcom NetXtreme 57XX Gigabit Controller | Details. There I found the string “PCI\VEN_14E4&DEV_1600&SUBSYS_01C01028&REV_02\4&F667E4F&0&00E0″.
In that string, you can clearly see the vendor id, 14E4, and the device id, 1600. If you examine the device id list above, you’ll note that 1600 is missing. Therefore, I added it. Similarly, for the Dell Optiplex SX280 and GX620, I had to add the device id 1677. I can’t remember what the device id was for the Precision 370 but it was either one of the old ones of one of the two new ones.
After making the changes, my new ndis.pci file looked like this:
ret="B57" ven=14E4 "Broadcom" dev=1600 "NetXtreme Gigabit Ethernet (BCM57xx)" 1645 "NetXtreme Gigabit Ethernet (BCM5701)" 1644 "NetXtreme Gigabit Etherent (BCM5700/5401)" 16A7 "NetXtreme Gigabit Ethernet (BCM5703X)" 165D "NetXtreme Gigabit Ethernet (BCM5705M 10/100/1000)" 165E "NetXtreme Gigabit Ethernet (BCM5705M 10/100/1000)" 166D "NetXtreme Gigabit Ethernet (BCM5705MFE 10/100)" 1677 "NetXtreme Gigabit Ethernet (BCM57xx)" 16A6 "NetXtreme Gigabit Ethernet (BCM5702 10/100/1000)" 164D "NetXtreme Gigabit Ethernet (BCM5702FE 10/100)" 1648 "NetXtreme Gigabit Ethernet (BCM5704C 10/100/1000)" 1696 "NetXtreme Gigabit Ethernet (BCM5782 10/100/1000)"
After changing ndis.pci, I rebuilt b57.cab with CabPack (any cab building software would suffice).
To get the new cab into your boot disk, you need to do the following:
- Put the cab in the folder
bart\bcd\cabs\drivers\ndis - cd to the folder
bart\bcd - build the boot sector: bcd -bab
- create the ISO file: bcd -b corpmb
- burn the ISO file to CD using Nero or other burning software
After building a new boot disk I tried it. This time, the card was automatically detected and the system tried to load the DOS network driver in b57.cab. Unfortunately, I got “Error 7306: The driver failed to initialize.”
What else could be wrong? Perhaps I had an old version of the DOS driver? Sure enough, I found a newer version of the NetXtreme 57xx DOS NDIS2 drivers on Broadcom’s website. The version number was 10.4.6 (I think the lastest version on Bart’s site was 7.03).
To upgrade the driver, I simply replaced the B57.dos in b57.cab with the B57.dos included in the download from Broadcom. Then I followed the previously mentioned steps to rebuild the boot disk. This time, auto-detection worked AND the driver loaded correctly! Woot!
Using these steps, anyone should be able to quickly build a custom b57.cab. However, if you’re technically challenged (or just plain lazy), you can get the cab file here, along with the accompanying readme. All that I ask is that you leave me a “thank you” comment if you download the cab.
Note that you could also use these steps to upgrade the cab files for other network drivers. Just keep these tips in mind:
- If auto-detection fails, you first must find the cab file that contains an
ndis.pciwith your card’s vendor id. If you find the vendor id, you will need to add a device id tondis.pci. If you don’t find the vendor id in any of the cabs, you’ll need to make a brand new cab file. I don’t have any specific instructions on that but you should be able to figure it out from my notes above. - If you get “Error 7321: Network-card drivers failed to load”, you probably have the wrong DOS driver for your card. For example, you tried to use a Broadcom driver for an Intel card. Try a different driver.
- If you get “Error 7306: The driver failed to initialize”, you probably have the right driver but it’s too old. Try a newer version of that driver.
If this tip helped you, please leave me a comment!







can you please provide your b57.cab for download? I followed your steps, and the b57 cab doesn;t show up during dos boot up “during manual nic load”. Thanks
Broadcom nics are pieces of shit period.
worked well for me on optiplex 740
thanks
I have followed your instructions and have succeeded to make a boot floppy for latitude d830
I LOVE YOU!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Elena from Italy
Thank you – your tips saved me a lot of time and stress!
Thanks for the information.
Glad i came across your site- been using Barts boot disk with ghost. But with the B57.cab it begins to load the ghost window then hangs. Your instructions work, the network card is detected it loads the driver, i connect to my ghost image desktop but for some reason I can get no further.
Ah found the solution- duh- it was a sata drive i was trying to image so need to run ghost.exe -NOIDE
This is for ghost 2003
Now ghost runs!!
Downloaded your CAB file, hoping it will work on our Optiplex 740s. Thanks!