※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 61-231-49-248.hinet-ip.hinet.net
> -------------------------------------------------------------------------- <
發信人: [email protected] (Yen-Ming Lee), 看板: FreeBSD
標 題: Re: [分享]系統偵測不到公告有支援的網路卡時...
發信站: 臥龍居 (Fri Nov 14 00:23:02 2003)
轉信站: ptt!ctu-reader!ctu-peer!news.nctu!news.cis.nctu!freebsd.ntu!utopia.lee
※ 引述《[email protected]》之銘言:
: 最近拿到一台新電腦, 主機板上內建的網路晶片是 intel pro/100 VE。
: 雖然 hardware note有註明 fxp device driver (man fxp)有支援這款網路卡,
[deleted]
: 先前在 pciconf的 man page有看到 pciconf -l顯示結果裡中,
: chip的前兩個 bytes是 Card ID。 我就在 fxp_ident_table的 NULL前多加一筆資料。
: { 0x1050, "Intel Pro/100 Ethernet" },
: 存檔之後重新編譯核心, 重開機後很順利的就抓到 fxp0,
: 目前這張網路卡工作正常~~~
: 對了, 我用的是 FreeBSD 4.7 Release
參考一下吧 ...
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/fxp/if_fxp.c.diff?r1=1.181&r2=1.182&f=h
最近拿到一台新電腦, 主機板上內建的網路晶片是 intel pro/100 VE。
雖然 hardware note有註明 fxp device driver (man fxp)有支援這款網路卡,
詭異的是開機的時候竟然抓不到!!!
我就切回 windows xp並檢視該張網卡佔用的 PCI id。
抄下 id後就切換回 BSD, 用 pci的診斷程式看一下究竟有沒有抓到該張網卡,
執行 # pciconf -lv的結果發現系統有發現該裝置,
不過沒找到適當的驅動程式。
其中 none代表核心並沒有包含此 PCI裝置的驅動程式。
none4@pci1:8:0: class=0x020000 card=0x80f81043 chip=0x10508086 rev=0x02
hdr=0x00
但是 hardware note中明明就寫到有支援這個晶片,
接著我就在 kernel source tree中尋找 fxp device driver的原始碼
(dev/fxp/if_fxp.c)。
開機過程中, 系統一定會先呼叫驅動程式內偵測硬體的函式檢查該硬體是否存在,
對 fxp來說, 偵測硬體的函式就是 fxp_probe()。
此函式中用到一個表格 (fxp_ident_table),
該表格紀錄 fxp支援網卡的 ID。
先前在 pciconf的 man page有看到 pciconf -l顯示結果裡中,
chip的前兩個 bytes是 Card ID。 我就在 fxp_ident_table的 NULL前多加一筆資料。
{ 0x1050, "Intel Pro/100 Ethernet" },
存檔之後重新編譯核心, 重開機後很順利的就抓到 fxp0,
目前這張網路卡工作正常~~~
對了, 我用的是 FreeBSD 4.7 Release
--