FreeBSD em0 fallback para 100Mbit Fast Ethernet no HP / Compaq DC7700

0

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 o driver em . Eu descobri recentemente que o FreeBSD não manipula esta porta LAN corretamente, pois não é capaz de usá-la como 1000baseT. Durante a inicialização, quando o dispositivo em0 é detectado, ele é exibido como 1000baseT, mas, quando efetuo o login, o dispositivo volta a ser 100baseTX. Se eu forçar manualmente de volta para gigabit,
ifconfig em0 media 1000baseT
a conexão cai imediatamente, o led na porta do switch se apaga e o dispositivo se comporta como se não tivesse nenhum cabo conectado.
Sempre que redefino a mídia para autoselect,
ifconfig em0 media autoselect
o dispositivo é configurado corretamente para 1000baseT primeiro - por tempo suficiente para consultar o status do adaptador e ver que ele está configurado para gigabit - e, em um segundo, ele é alterado para 100baseTX Fast ethernet.
Eu testei em 3 dessas máquinas da HP. O mesmo comportamento em cada computador.
Eu também testei com vários cabos UTP. Mesmo um STP de alta qualidade, curto e de alta qualidade. O 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. 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 lançando meu dispositivo em0 de volta para 100baseT. O OpenBSD 5.2 / i386 também descarta o dispositivo em0 para 100baseT, então ele deve ser um código de driver compartilhado entre o FreeBSD e o OpenBSD. Tentei um par de Linux Live CDs, e todos eles manipular corretamente esta porta LAN em velocidade gigabit sem nenhum sinal de problema. E finalmente, o Win7 também usa o mesmo hardware em velocidade gigabit sem problemas.
Então eu concluí que o problema está no código do driver do FreeBSD em.
Eu gostaria de saber se outros têm experiência semelhante com o driver em no FreeBSD, ou se alguém tem um dispositivo em que funcione como 1000baseT.

Algum de vocês usa um hardware similar?
Você experimenta seu dispositivo em voltando à Fast Ethernet?
Algum de vocês usa um dispositivo em que funcione corretamente como GbE?

Para referência, aqui está um exemplo do que acontece no FreeBSD 9.2R, independentemente da inicialização de amd64 e i386.
O tempo entre um comando e o próximo é sempre apenas os 2 a 5 segundos que eu levo para digitar aquele comando em particular e pressiono enter na minha velocidade normal de digitação. Para este exemplo, não usei a seta para cima para obter 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.

    
por Keve 31.08.2014 / 12:19

0 respostas