United States (change)
Shortcuts: Downloads Fedora Red Hat Network
Account Links: Cart Your Account Logout
The very first thing to check when having problems with a Broadcom Ethernet card is to check if the correct module (driver) is loaded. In Red Hat Enterprise Linux 2.1, it was the bcm5700 module, but this has been replaced with the tg3 module, which fixes many problems with the Broadcom cards on Red Hat systems. To find out what you are running type the command lsmod which will provide output like the following:
# lsmod Module Size Used by Not tainted soundcore 7012 0 (autoclean) nls_iso8859-1 3516 0 (autoclean) udf 99552 0 (autoclean) ide-cd 34016 0 (autoclean) cdrom 32544 0 (autoclean) [ide-cd] lp 9124 0 (autoclean) parport 38816 0 (autoclean) [lp] autofs 13620 0 (autoclean) (unused) tg3 58312 2 ipt_REJECT 4632 1 (autoclean) ipt_state 1080 3 (autoclean) ip_conntrack 29704 1 (autoclean) [ipt_state] iptable_filter 2412 1 (autoclean) ip_tables 16544 3 [ipt_REJECT ipt_state iptable_filter] floppy 57488 0 (autoclean) sg 37228 0 (autoclean) microcode 6848 0 (autoclean) keybdev 2976 0 (unused) mousedev 5624 1 hid 22276 0 (unused) input 6144 0 [keybdev mousedev hid] usb-ohci 23176 0 (unused) usbcore 80928 1 [hid usb-ohci] ext3 89960 3 jbd 55060 3 [ext3] aacraid 34148 4 sd_mod 13360 8 scsi_mod 112680 3 [sg aacraid sd_mod]
The module name is in the first column, so if bcm5700 is listed you will need to run the following commands in order to remove the bcm5700 module and replace it with the tg3 module:
# service network stop # rmmod bcm5700 # modprobe tg3 # service network start
If you do not have the tg3 module you can get it by downloading the newest kernel off of the module Red Hat Network (RHN). You will also want to make sure your /etc/modules.conf file will load these modules properly as well. Your /etc/modules.conf file should look something like this (noting the tg3 modules is being used on device eth0):
alias eth0 tg3 alias scsi_hostadapter aacraid alias usb-controller usb-ohci
If you have the correct modules loaded and your card still randomly stops working, you may need to set its speed and duplexing settings manually, you can do this with the ethtool command, again assuming eth0 is the interface your card is on:
ethtool -s eth0 speed <10 | 100 | 1000> duplex < half | full> autoneg off
This generally happens if the switch or router the computer connects to has problems with Auto-negotiation. In order to make this permanent, you can edit the /etc/sysconfig/network-scripts/ifcfg-eth0 file and add:
ETHTOOL_OPTS=”speed <10 | 100 | 1000> duplex < half | full>”
This will make the changes you made permanent so you don't have to set the speed and duplex each time you restart your machine. If the above things do not work it may be a hardware problem, and you will want to switch the port the card is connected to, change the wire, change which slot the card is in, turn off auto-negotiation on your switch/router. If those things do not work there may be something else wrong with a setting on the operating system or with the card (hardware) itself. It is always a good idea to verify that the physical layer (Ethernet cable, hub/switch ports, etc.) are working properly before troubleshooting further.