安裝 Broadcom NetXtreme BCM5752 Gigabit Ethernet 網卡驅動

Q.無法抓到 Broadcom NetXtreme BCM5752 Gigabit Ethernet 網路卡?

Error Message:
  • 主機型號: HP WorkStation XW4300
  • 安裝版本: FreeBSD 6.0 Release


安裝完 FreeBSD 6.0 Release 後無法抓到 NetXtreme BCM5752 網卡,只有辦認到網卡公司無法辦認型號。
pciconf -lv
 none3 at pci63:0:0:  class=0x020000 card=0x3013103c chip=0x160014e4 rev=0x01 hdr=0x00
 vendor = 'Broadcom Corporation'
 device = 'Broadcom NetXtreme Gigabit Ethernet'
 class = network
 subclass = ethernet


Ans:
解決方式有二種如下


修改 if_bge.c
vi /usr/src/sys/dev/bge/if_bge.c
 約172行處新增
 { BCOM_VENDORID, BCOM_DEVICEID_BCM5751M,
  "Broadcom BCM5751M Gigabit Ethernet" },
 { BCOM_VENDORID, BCOM_DEVICEID_BCM5752,   //新增此行
"Broadcom BCM5752 Gigabit Ethernet" },   //新增此行
 { BCOM_VENDORID, BCOM_DEVICEID_BCM5782,
  "Broadcom BCM5782 Gigabit Ethernet" },
 約2319行處修改
 if (sc->bge_asicrev == BGE_ASICREV_BCM5714)      //修改前
       sc->bge_asicrev = BGE_ASICREV_BCM5750;
 if (sc->bge_asicrev == BGE_ASICREV_BCM5714 ||    //修改後
       sc->bge_asicrev == BGE_ASICREV_BCM5752)
  sc->bge_asicrev = BGE_ASICREV_BCM5750;



修改 if_bgereg.h
vi /usr/src/sys/dev/bge/if_bgereg.h
 約250行處新增
 #define BGE_ASICREV_BCM5750 0x04
 #define BGE_ASICREV_BCM5714 0x05
 #define BGE_ASICREV_BCM5752 0x06            //新增此行
 約1875行處新增
 #define BCOM_DEVICEID_BCM5751M 0x167D
 #define BCOM_DEVICEID_BCM5752 0x1600        //新增此行
 #define BCOM_DEVICEID_BCM5782 0x1696

修改完畢後在重新編譯核心 (make kernel) 後,重新開機便能順利抓到 NetXtreme BCM5752 (bge0) 網卡了。