É muito provável que a porta ttyS0 realmente exista na sua placa-mãe. E muito possivelmente há também um conector na placa-mãe para usá-lo também! Quando comprei minha última placa, cheguei a essa conclusão também (ao ver a porta listada), procurei todos os conectores no manual da placa. Não havia conector direto para o exterior, apenas um pequeno "cabeçalho". Então eu corri um cabo para um conector externo db9, e tudo está funcionando!
Os três seguintes ( ttyS1-S3
) provavelmente NÃO existem, mas estão listados porque o driver da porta serial os testou, que é a ação padrão em muitos Linuxes. Veja a página de manual para setserial
, que é a função chamada quando o Linux é inicializado. Diz:
During the normal bootup process, only COM ports 1-4 are initialized, using the default I/O ports and IRQ values, as listed below
EDIT: By the way, é fácil ver se o ttyS*
funciona como arquivos ou não. Apenas tente enviar algo para eles pelo comando do console:
cat <some_short_file> > /dev/ttyS1
provavelmente dará um I/O error
, porque não há nenhum driver conectado. O mesmo para ttyS0
funcionará normalmente. O >
no comando redireciona a saída do comando cat
para a porta serial. cp shortfile /dev/ttyS0
também funciona.
EDIT: ttyS1-S3 não estão fisicamente lá, então não, você não pode usá-los. Existem outros dispositivos que você pode usar como portas virtuais, como pseudoterminals (pty) e dispositivos de loop. Verifique o Wikipedia e o man pages for ptys . Onde ptys são dispositivos de caractere, você pode usar dispositivos de loop para transferência de bloco (por exemplo, para discos virtuais). Wikipedia e página do manual documentação .