Pierwotnie nie chciałem tego robić, ale jednak zdecydowałem się zrootować telefon... Dzięki temu miałem dużo większe pole do popisu w rozwiązywaniu problemu z dropbearem 🙂
Skompilowałem sobie parę narzędzi na ARM (tcpdump, strace) i dzięki temu stwierdziłem, że faktycznie firewall jest czysty, zaś połączenia na porcie ssh docierają do telefonu bez problemu. Okazało się jednak, że nie odbiera ich dropbear - wisi cały czas na select(). Czyżby więc był błąd w funkcji systemowej? Niemożliwe! Przyjrzałem się innym procesom nasłuchującym na portach tcp w systemie. Jedyna różnica była taka, że bindowały się na adresach ipv6 zamiast ipv4 jak dropbear. Może więc w tym tkwił problem? Odpaliłem sobie zatem wrapper ipv6->ipv4. No i proszę, udało się połączyć! 🙂
Podsumowując ten techniczny wywód: dropbear nie obsługuje adresów ipv6. Najwyraźniej w androidzie stopniowo rezygnują z supportu ipv4, dlatego gdy wgraliśmy wersję 2.3.4, dropbeary przestały działać. Podobno jest patch do dropbeara, który daje pełną obsługę ipv6. Jak go znajdę, przekompiluję i zobaczę czy zadziała. A póki co uruchamiam sobie z wrapperem.