Conectando dois dispositivos na Ethernet 10Base-T sem um comutador

8

Estou tentando conectar dois dispositivos, um dos quais é capaz apenas de 10 Mbps e não oferece suporte à negociação automática. (O outro é uma caixa preta, não sei como saber se ele suporta negociação automática, embora funcione quando conectado ao meu PC a 10 / 100Mbps)

Eu posso conectar esses dispositivos usando um switch, e eles conversam muito felizes. No entanto, se eu conectar os dispositivos diretamente um ao outro, nenhum pacote parece atravessar o link. Tentei quatro cabos, um direto, um cruzado, um direto com TX + e TX- fios trocados e um cross-over com TX + e TX- fios trocados. Eu tentei os dois últimos cabos nos dois sentidos. (No caso dos pinos 3 e 6 serem trocados em qualquer dispositivo, li que isso pode ser um problema com a 10M, que usa transmissão polarizada).

Posso conectar-me a qualquer dispositivo do meu PC se limitar minha NIC a 10M e pedir para não negociar automaticamente.

Existe outra coisa que o switch poderia estar fazendo para fazer essa conexão funcionar? Há outras coisas que eu poderia tentar obter um cabo entre esses dispositivos?

Weir_Doe
fonte
Eu testei com um hub de velocidade dupla, além do switch que eu estava usando, isso funciona perfeitamente. Também testei todos os cabos em half e full duplex, de acordo com a excelente resposta que Hauke ​​Laging deu (embora, infelizmente, não esteja correta). Quando uso cabos diretos, as luzes de link e atividade sugerem que o tráfego está sendo enviado, mas nenhum pacote chega dos dois lados.
Weir_Doe

Respostas:

3

Dê uma olhada no artigo da Wikipedia .

O comutador pode corrigir uma incompatibilidade duplex. Talvez você possa alternar a caixa não-preta entre half e full duplex?

Hauke ​​Laging
fonte
Muito bom ponto, obrigado. Tentei os modos full-duplex e half-duplex no dispositivo sobre o qual tenho controle. Vou ler o resto do artigo que você sugeriu, espero que isso ajude a esclarecer.
Weir_Doe
Se entendi corretamente, devo deixar o dispositivo no qual eu tenho controle em half-duplex e apenas tentar enviar tráfego em uma direção. Isso descartará um problema de duplex? Pelo menos até conseguir uma conexão funcionando sem o switch.
Weir_Doe 31/05
1
@Weir_Doe Obviamente, é difícil enviar tráfego em apenas uma direção. Não tenho experiência com esse caso, mas presumo que o problema esteja fortemente relacionado à quantidade de tráfego. Não causa muito tráfego, mas pode ajudar a fazer uma atribuição estática de ARP no sistema que você controla. E se você não precisar enviar muitos dados, também poderá ser útil usar tccom HTB e configurações bastante extremas, para que após cada pacote haja uma pausa.
Hauke ​​Laging
Eu tenho controle completo de um dispositivo e o outro envia um único pacote de teste a cada poucos segundos; portanto, neste caso, não preciso de uma pausa para garantir baixo tráfego em uma direção. É uma boa sugestão, especialmente a menção tc-htb se outras pessoas tiverem problemas semelhantes.
Weir_Doe
1

Finalmente resolvi.

Ao usar a Auto-negociação, a Detecção Paralela é usada para determinar a velocidade do link quando o outro dispositivo não é capaz de Auto-Negociação.

A preocupação levantada por Hauke ​​Laging é válida, principalmente nesse caso, pois uma incompatibilidade duplex pode causar o estabelecimento de um link, mas uma conexão extremamente lenta. No entanto, ao usar a Detecção Paralela, os dois dispositivos devem usar o Half-Duplex como padrão, já que seria impossível saber se um dispositivo era capaz de full / half duplex apenas a partir do LTP transmitido por um dispositivo que não suporta Negociação Automática.

No meu caso, a caixa preta falhou ao realizar a Detecção Paralela e estava com o padrão de 100M, apesar das especificações alegando que suportavam a Detecção Paralela. Uma atualização de firmware corrigiu isso.

O motivo pelo qual o link funcionou no meu PC foi que, mesmo quando limitei minha NIC a 10M HD, ele ainda estava usando a Auto-Negociação para comunicar suas capacidades e, portanto, a caixa preta detectou corretamente a taxa necessária. Da mesma forma, isso funcionou perfeitamente quando conectado a um switch, pois o switch detectou os pulsos LTP e AutoNegotiation corretamente.

Obrigado por todos os comentários úteis e links úteis. Se alguém tiver um problema semelhante, ficarei feliz em ajudar na depuração.

Weir_Doe
fonte