Quick notes for updating the bcm5700 driver on RedHat EL3 after updating the kernel…

  1. update your kernel

1.1. shell to the box as root (yeah, I know… don’t use root, use su. your choice, either way works)

  1. Visit http://h18023.www1.hp.com/support/files/server/us/locate/101_2543.html and grab the URL for the newest source RPM for the 77XX series ethernet adapter.

  2. curl -O the.url.to.the.source.rpm

  3. cd /usr/src/linux-< kernel_version >

# make mrproper

# make -e KERNELRELEASE=`uname -r` oldconfig

# make -e KERNELRELEASE=`uname -r` dep

  1. # cd /usr/src/linux-< kernel -version >

# rpm -ivh bcm5700-< version >.src.rpm

5.1 Build the binary RPM for the bcm5700 driver.

# cd /usr/src/redhat

# rpmbuild -bb SPECS/bcm5700.spec

  1. Check to see what’s currently installed, if any.

# rpm -q bcm5700

If an old version of the package exists, the RPM package should be

removed.

# rpm -e bcm5700

Then remove the loaded bcm5700 module.

# rmmod bcm5700

Verify that the old bcm5700 package has been removed as follows:

# rpm -q bcm5700

  1. Install the new rpm

# rpm -ivh RPMS/i386/bcm5700-< version >.i386.rpm –force

  1. Ensure that the /etc/modules.conf file is configured similar to the

example listed below. The example below is presented as if more

than one adapter is present. If so, one eth# instance should exist

for each ethernet port. Refer to the modules.conf man page for more

information.

alias eth0 bcm5700

alias eth1 bcm5700

alias eth# bcm5700

  1. You can now reboot your server. Upon reboot the network should

start with the bcm5700 driver loaded and the correct network

configuration. To verify that the bcm5700 driver is loaded, use

the following command.

# lsmod

If bcm5700 is listed then the bcm5700 driver loaded. If not and /etc/modules.conf lists the wrong driver for ethX, ifdown the interfaces, rmmod wrong_alias_name, edit /etc/modules.conf, replacing with alias ethX bcm5700, insmod bcm5700, and ifup the interfaces (or just edit /etc/modules.conf and reboot…)