FreeBSDでbroadcomのGbEカードが動かない件

あるマシンにFreeBSDをインストールしたのだが、BroadcomGbEカードで通信ができない。
DHCPに設定してもIPアドレスを取得できないし、固定で設定しても通信できない。7.2-STABLEと8.0-BETA2で確認した。

ググって以下のように/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を追加するかしないといけなかったので、直ってよかった…。