Warren.Guy.net.au

The personal web site of Warren Guy of Perth, Western Australia

FreeBSD 6.2 on Dell Poweredge SC440

Dell Poweredge SC440

Note (8 August 2008): You shouldn't be reading this... This totally works in FreeBSD 6.3-RELEASE. You should use that instead.

The Dell Poweredge SC440 is an entry level “tower” server designed for small business environments. We have a couple of these in the rack in the office now, they’re quite decent machines — decently priced and well featured.

Operating system support is generally good, it supports Linux out of the box (officially, RedHat), and Ubuntu Linux installs without incident. Today however, I installed FreeBSD 6 on one of these SC440’s and although the install appeared to go well, a problem became apparent after boot — the network interface was not available!

Big uh oh

This is a problem. Having no network interface makes this machine next to useless as a network server. Some Googling suggested that FreeBSD 6.2-RELEASE does not support the new generation of the onboard Broadcom Gigabit Ethernet controller found on the SC440. Apparently if you order it with the optional additional Gigabit Ethernet controller, the second PCI controller works just fine.

The solution

I can confirm however that the bge driver in FreeBSD 6.2-STABLE (after May 8th 2007) does contain support for this controller, and building a new kernel based on FreeBSD 6.2-STABLE fixed my problem. Without network access, you’ll have to find a way other than cvsup to get the latest source on to the machine though. I cvsup’d RELENG_6 stable branch to my desktop machine in a temporary directory, burned the contents to a CD, and then copied the tree from the CD to the SC440 in question. I built a new kernel (with a couple of unrelated modifications) and voila! A fully functioning SC440 on FreeBSD 6.2.

dmesg output:

pci5: <ACPI PCI bus> on pcib5
bge0: <Broadcom BCM5754/5787 A2, ASIC rev. 0xb002> mem 0xefbf0000-0xefbfffff irq 17 at device 0.0 on pci5
miibus0: <MII bus> on bge0
brgphy0: <BCM5787 10/100/1000baseTX PHY> on miibus0
brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
bge0: Ethernet address: 00:1a:a0:<removed>

ifconfig output:

bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
ether 00:1a:a0:<removed>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active

pciconf -l -v output:

bge0@pci5:0:0: class=0x020000 card=0x01df1028 chip=0x167a14e4 rev=0x02 hdr=0x00
vendor = 'Broadcom Corporation'
class = network
subclass = ethernet

Page modified 14 weeks ago