Jak wspominałem w poprzednich wiadomościach, zabrałem się ostatnio za uruchamianie "antycznego" linuksowego komputerka SBC (jeszcze sprzed czasów Raspberry Pi) Sarge-at91. Polska konstrukcja na AT91RM9200, działająca pod kontrolą Linuksa Angstrom. Mam dwa egzemplarze - jeden złożony i uruchomiony, w drugim brakuje jeszcze kilku elementów.
Ostatnio podczas eksperymentów natknąłem się na ciekawą przypadłość. Za nic nie byłem w stanie połączyć się z płytką za pomocą SSH. Proces łączenia utyka na "expecting SSH2_MSG_KEX_DH_GEX_REPLY". Początkowo chciałem to zrzucić na niekompatybilność pomiędzy zabytkowym serwerem SSH na płytce, a współczesnym klientem. Googlując trafiłem jednak na informację, że lekarstwem na podobną przypadłość (na zupełnie innym sprzęcie) okazywała się zmiana parametru MTU na interfejsie sieciowym serwera na mniejszą wartość. Faktycznie pomogło - zmiana MTU z
1500 na 567 umożliwiła zestawienie połączenia SSH. Wydaje mi się to jednak dziwne, bo 1500 jest prawidłową wartością dla Ethernetu.Z ciekawości postanowiłem zrobić jeszcze jedną rzecz - podpiąłem do USB komputerka zewnętrzną kartę Ethernet i zestawiłem na niej połączenie. Problem jak ręką odjął - teraz jestem w stanie połączyć się nawet przy MTU=1500. Tak więc problem występuje jedynie na interfejsie sieciowym AT91RM9200, z PHY STE100P. Dodatkowo wbudowany interfejs sieciowy z jakiegoś powodu łączy się na 10Mbps, chociaż wydaje mi się, że AT91 powinien mieć już FastEthernet.
Ktoś ma jakiś pomysł co do możliwej przyczyny zachowania? Rozważania mają charakter czysto "akademicki". Zabrałem się za uruchamianie tego urządzenia z sentymentu, nie w praktycznym celu (od tego mam Raspberry Pi). Jak mi się znudzi, wróci do szuflady.
Zwyczajnie zaintrygowało mnie dziwne zachowanie interfejsu sieciowego. Łączy się, pobiera adres z DHCP, można przesyłać dane, odpowiedzi na pingi przychodzą w obydwie strony, ale SSH się wywala o ile nie zmniejszę MTU...