あるマシンにFreeBSDをインストールしたのだが、BroadcomのGbEカードで通信ができない。



DHCPに設定してもIPアドレスを取得できないし、固定で設定しても通信できない。7.2-STABLEと8.0-BETA2で確認した。



[ググって](http://lists.freebsd.org/pipermail/freebsd-stable/2009-April/049571.html)以下のように/boot/loader.confに設定して何とか解決したのでメモ。問題はBroadcomのカードではなく、むしろNVIDIAチップセットにある模様。



◎/boot/loader.conf
hw.bce.msi_enable=0
hw.pci.enable_msi=0
具体的なカードは以下の通り。
◎dmesgの出力
bge0: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0xb002>
mem 0xfddf0000-0xfddfffff irq 16 at device 0.0 on pci2
miibus0: <MII bus> on bge0
◎pciconf -lvの出力
$ pciconf -lv|less
none0@pci0:0:0:0:       class=0x050000 card=0x02f010de chip=0x02f010de rev=0xa2 hdr=0x00
vendor     = 'Nvidia Corp'
device     = 'C51 Host Bridge'
class      = memory
subclass   = RAM
(中略)
bge0@pci0:2:0:0:        class=0x020000 card=0x01ec1028 chip=0x167a14e4 rev=0x02 hdr=0x00
vendor     = 'Broadcom Corporation'
device     = 'Broadcom NetXtreme Gigabit Ethernet Controller (BCM5754)'
class      = network
subclass   = ethernet
NICが使えないとなると、OSを変えるかIntelあたりのNICを追加するかしないといけなかったので、直ってよかった…。