
Eu tenho algumas máquinas HP DC7700CMT, cada uma com sua própria porta LAN Intel 82566DM GbE integrada, mostrada no dmesg como Intel PRO/1000 e usando oelesmotorista. Recentemente descobri que o FreeBSD não lida corretamente com esta porta LAN, pois não é capaz de usá-la como 1000baseT. Durante a inicialização, quando oem0dispositivo é detectado, ele é mostrado como 1000baseT, mas quando eu faço login, o dispositivo volta para 100baseTX. Se eu forçar manualmente de volta para gigabit,
ifconfig em0 mídia 1000baseT
a conexão cai imediatamente, o led na porta do switch apaga e o dispositivo se comporta como se não tivesse nenhum cabo conectado.
Cada vez que eu redefino a mídia para seleção automática,
seleção automática de mídia ifconfig em0
o dispositivo é configurado corretamente para 1000baseT primeiro - apenas por tempo suficiente para consultar o status do adaptador e ver se ele está configurado para gigabit - e em um segundo ele muda para 100baseTX Fast Ethernet.
Eu testei em 3 dessas máquinas HP. O mesmo comportamento em cada computador.
Também testei com vários cabos UTP. Mesmo um STP curto e de alta qualidade. Mesmo comportamento.
Eu tentei 3 interruptores diferentes. Um switch D-Link Desktop GbE de 8 portas, um roteador TP-Link GbE com switch GbE de 4 portas integrado e um switch HP ProCurve 2810 GbE com 24 portas. O mesmo comportamento com cada switch.
E, finalmente, tentei vários sistemas operacionais. FreeBSD 9.3R/amd64, 9.2R/amd64, 9.2R/i386, 8.4R/amd64, 7.4R/amd64, todos baixando meu dispositivo em0 de volta para 100baseT. O OpenBSD 5.2/i386 também descarta o dispositivo em0 para 100baseT, portanto deve ser um código de driver em compartilhado entre o FreeBSD e o OpenBSD. Tentei alguns Live CDs do Linux e todos eles lidam adequadamente com essa porta LAN em velocidade de gigabit, sem nenhum sinal de problema. E finalmente, o Win7 também usa o mesmo hardware em velocidade gigabit sem problemas.
Então concluí que o problema está no código do driver do FreeBSD em.
Gostaria de saber se outras pessoas têm experiência semelhante com oelesdriver no FreeBSD, ou se alguém tiver umelesdispositivo que funciona como 1000baseT.
Algum de vocês usa um hardware semelhante?
Você experimenta seuelesdispositivo voltando para Fast Ethernet?
Algum de vocês usa umelesdispositivo que funciona corretamente como GbE?
Para referência, aqui está um exemplo do que acontece no FreeBSD 9.2R, independentemente da inicialização do AMD64 e do i386.
O tempo entre um comando e o próximo é sempre de 2 a 5 segundos que levo para digitar aquele comando específico e pressionar Enter na minha velocidade normal de digitação. Neste exemplo, não usei a seta para cima para recuperar um comando anterior do histórico. Cada comando foi digitado.
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
Qualquer comentário ou sugestão é apreciado.