Eu finalmente resolvi esse problema. Foi o problema de tamanho FIFO do driver UART do kernel. O hardware FIFO é de 64 bytes, mas o driver estava ciente de apenas 32 bits ou algo assim.
Eu conecto a um roteador executando o OpenWRT via porta serial. Toda a saída do shell está quebrada como mostrado aqui (símbolos ausentes) e aqui ( ls /dev/
output - seqüências de escape mostradas e bagunça geral). O interessante é que as mensagens do kernel durante a inicialização parecem bem. A porta serial está definitivamente funcionando como eu testei com numerosas distribuições e máquinas, então eu acho que é um problema OpenWRT. Como faço para consertar isso? BTW reduzindo a taxa de transmissão não ajuda.
Eu finalmente resolvi esse problema. Foi o problema de tamanho FIFO do driver UART do kernel. O hardware FIFO é de 64 bytes, mas o driver estava ciente de apenas 32 bits ou algo assim.