あるマシンに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を追加するかしないといけなかったので、直ってよかった…。