
我有幾台 HP DC7700CMT 機器,每台機器都有自己的集成 Intel 82566DM GbE LAN 端口,在 dmesg 中顯示為 Intel PRO/1000,並使用嗯司機。我最近發現 FreeBSD 無法正確處理此 LAN 端口,因為它無法將其用作 1000baseT。在啟動過程中,當EM0偵測到裝置後,它顯示為 1000baseT,但當我登入時,裝置又回落到 100baseTX。如果我手動將其強制回千兆位,
ifconfig em0 媒體 1000baseT
連接立即斷開,交換器連接埠上的 LED 熄滅,並且設備的行為就像沒有連接電纜一樣。
每次我將媒體重置為自動選擇時,
ifconfig em0 媒體自動選擇
設備首先正確設定為 1000baseT - 有足夠的時間查詢適配器狀態並查看其設定為千兆位元 - 然後在一秒鐘內更改為 100baseTX 快速乙太網路。
我已經在 3 台這樣的 HP 機器上進行了測試。每台計算機上的行為相同。
我還用多條 UTP 電纜對其進行了測試。即使是一篇簡短的、高品質的 STP 文章。同樣的行為。
我嘗試了 3 個不同的開關。一台 8 連接埠 D-Link 桌面 GbE 交換器、一台內建 4 連接埠 GbE 交換器的 TP-Link GbE 路由器和一台具有 24 連接埠的 HP ProCurve 2810 GbE 交換器。每個開關的行為相同。
最後,我嘗試了多種作業系統。 FreeBSD 9.3R/amd64、9.2R/amd64、9.2R/i386、8.4R/amd64、7.4R/amd64,所有這些都將我的 em0 裝置降回 100baseT。 OpenBSD 5.2/i386 也將 em0 裝置降低到 100baseT,因此它必須是 FreeBSD 和 OpenBSD 之間共享的 em 驅動程式程式碼。嘗試了幾張 Linux Live CD,它們都以千兆位元速度正確處理該 LAN 端口,沒有任何問題的跡象。最後,Win7也以千兆位元速度使用相同的硬件,沒有任何問題。
所以我斷定問題出在FreeBSD em驅動程式碼。
我想知道其他人是否有類似的經歷嗯FreeBSD 下的驅動程序,或者如果有人有嗯確實作為 1000baseT 工作的設備。
你們有人使用類似的硬體嗎?
你經歷過你的嗯設備回落到快速乙太網路?
你們有人使用嗎嗯可以作為 GbE 正常運作的設備嗎?
作為參考,以下是 FreeBSD 9.2R 上發生的情況的範例,無論引導 amd64 還是 i386。
一個命令和下一個命令之間的時間總是只有 2 到 5 秒,我輸入該特定命令並以我通常的打字速度按 Enter 鍵。對於此範例,我沒有使用向上箭頭從歷史記錄中獲取較早的命令。每個命令都被輸入。
Script started on Sun Aug 31 11:48:04 2014
root@hp:~ # ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:0f:fe:82:30:37
inet 10.25.74.105 netmask 0xffffff00 broadcast 10.25.74.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
root@hp:~ # ifconfig em0 media autoselect
root@hp:~ # ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:0f:fe:82:30:37
inet 10.25.74.105 netmask 0xffffff00 broadcast 10.25.74.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
root@hp:~ # ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:0f:fe:82:30:37
inet 10.25.74.105 netmask 0xffffff00 broadcast 10.25.74.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
root@hp:~ # ifconfig em0 media 1000baseT
root@hp:~ # ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:0f:fe:82:30:37
inet 10.25.74.105 netmask 0xffffff00 broadcast 10.25.74.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet 1000baseT (autoselect)
status: no carrier
root@hp:~ # ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:0f:fe:82:30:37
inet 10.25.74.105 netmask 0xffffff00 broadcast 10.25.74.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet 1000baseT (autoselect)
status: no carrier
root@hp:~ # ifconfig em0 media autoselect
root@hp:~ # ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:0f:fe:82:30:37
inet 10.25.74.105 netmask 0xffffff00 broadcast 10.25.74.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
root@hp:~ # ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
ether 00:0f:fe:82:30:37
inet 10.25.74.105 netmask 0xffffff00 broadcast 10.25.74.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
root@hp:~ # exit
exit
Script done on Sun Aug 31 11:49:58 2014
如有任何意見或建議,我們將不勝感激。