Tôi có một vài máy HP DC7700CMT, mỗi máy có cổng LAN 82566DM GbE tích hợp của riêng nó, được hiển thị trong dmesg là Intel PRO / 1000 và sử dụng trình điều khiển em . Gần đây tôi phát hiện ra rằng FreeBSD không xử lý cổng LAN này một cách chính xác, vì nó không thể sử dụng nó như 1000baseT. Trong quá trình khởi động, khi thiết bị em0 được phát hiện, nó được hiển thị là 1000baseT, nhưng khi tôi đăng nhập, thiết bị bị rơi trở lại 100baseTX. Nếu tôi tự buộc nó trở lại gigabit,
ifconfig em0 media 1000baseT
, kết nối sẽ bị ngắt ngay lập tức, dẫn đến cổng chuyển đổi bị tắt và thiết bị hoạt động như không có cáp kết nối.
Mỗi lần tôi đặt lại phương tiện thành tự động chọn,
ifconfig em0 phương tiện tự động chọn
thiết bị được đặt chính xác thành 1000baseT trước tiên - chỉ đủ thời gian để truy vấn trạng thái bộ điều hợp và thấy rằng thiết bị được đặt thành gigabit - sau đó trong một giây, nó sẽ thay đổi thành ethernet nhanh 100baseTX.
Tôi đã thử nghiệm nó trên 3 máy HP như vậy. Hành vi giống nhau trên mỗi máy tính.
Tôi cũng đã thử nghiệm nó với nhiều cáp UTP. Ngay cả một STP ngắn, chất lượng cao. Hành vi tương tự.
Tôi đã thử 3 công tắc khác nhau. Một công tắc D-Link Desktop GbE 8 cổng, một bộ định tuyến GbE TP-Link với công tắc GbE 4 cổng tích hợp và một công tắc HP ProCurve 2810 GbE với 24 cổng. Hành vi tương tự với mỗi chuyển đổi.
Và cuối cùng, tôi đã thử nhiều hệ điều hành. FreeBSD 9.3R / amd64, 9.2R / amd64, 9.2R / i386, 8.4R / amd64, 7.4R / amd64, tất cả đều thả thiết bị em0 của tôi trở lại 100baseT. OpenBSD 5.2 / i386 cũng giảm thiết bị em0 xuống 100baseT, do đó, nó phải là mã trình điều khiển em được chia sẻ giữa FreeBSD và OpenBSD. Đã thử một vài đĩa CD Linux Live và tất cả chúng đều xử lý đúng cổng LAN này ở tốc độ gigabit mà không có dấu hiệu rắc rối. Và cuối cùng, Win7 cũng sử dụng phần cứng tương tự ở tốc độ gigabit mà không gặp vấn đề gì.
Vì vậy, tôi kết luận rằng vấn đề nằm ở mã trình điều khiển em FreeBSD.
Tôi muốn biết liệu những người khác có trải nghiệm tương tự với trình điều khiển em trong FreeBSD hay không, nếu có ai có thiết bị em hoạt động như 1000baseT.
Có ai trong số các bạn sử dụng một phần cứng tương tự không?
Bạn có trải nghiệm thiết bị em của mình rơi trở lại Fast Ethernet không?
Có ai trong số các bạn sử dụng một thiết bị em hoạt động đúng như GbE không?
Để tham khảo, đây là một ví dụ về những gì xảy ra trên FreeBSD 9.2R, bất kể khởi động amd64 và i386.
Thời gian giữa một lệnh và lệnh tiếp theo luôn chỉ là 2 đến 5 giây, tôi phải nhập lệnh cụ thể đó và nhấn enter với tốc độ gõ thông thường. Trong ví dụ này, tôi đã không sử dụng mũi tên lên để lấy lại lệnh trước đó từ lịch sử. Mỗi lệnh được gõ vào.
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
Bất kỳ bình luận hoặc đề nghị được đánh giá cao.