tcgetattr() erzeugt: Input/output error
-
Hallo,
ich hab da ein Problem mit der seriellen Schnittstelle. Bei der Ansteuerung der Schnittstelle, auf Protokollebene wird folgender Fehler ausgegeben:
Input/output error
Mein Programmcode ist in etwa dies hier:
(vollständig: http://nopaste.php-quake.net/8795)... int err = tcgetattr(fd, &term_attr); if (err != 0) { perror(""); }
Über perror bekommen ich dann besagten Fehler angezeigt. Was ich bereits überprüft habe, ist:
Gruppenzugehörigkeit in lp und dialout
crw-rw---- 1 root dialout 4, 64 1977-10-04 07:06 /dev/ttyS0
Sieht für mich richtig aus, oder irre ich mich da? (User=rw/Group=rw/Others)
Ausgabe von dmesg | grep ttyS
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 8250 00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Was hier die 3. Zeile bedeutet weiß ich ehrlich gesagt nicht genau. Zumindest scheint ttyS0 aber einen irq zu belegen. ttyS0 ist übrigens auch zusätzlich noch manuell im BIOS eingestellt.
cat < /dev/ttyS0
cat: -: Eingabe-/Ausgabefehler
Bin auch schon seit einiger Zeit am googlen, weiß mir aber da keinen Rat mehr. Falls jemand eine Idee hat, bitte ich um Antwort.
lg, Asca