Sayangnya port serial non-PlugNPlay, jadi kernel tidak tahu perangkat mana yang dicolokkan. Setelah membaca tutorial HowTo, saya punya ide yang berfungsi.
The /dev/
direktori unix seperti OS berisi file bernama ttySn (dengan n menjadi angka) . Sebagian besar tidak sesuai dengan perangkat yang ada. Untuk menemukan yang mana, lakukan perintah:
$ dmesg | grep ttyS
[ 0.872181] 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 0.892626] 00:07: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 0.915797] 0000:01:01.0: ttyS4 at I/O 0x9800 (irq = 19) is a ST16650V2
[ 0.936942] 0000:01:01.1: ttyS5 at I/O 0x9c00 (irq = 18) is a ST16650V2
Di atas adalah contoh output dari PC saya. Anda dapat melihat inisialisasi beberapa port serial:
ttyS0
, ttyS1
, ttyS4
, ttyS5
.
Salah satunya akan memiliki tegangan positif pada perangkat yang terhubung. Jadi dengan membandingkan konten file /proc/tty/driver/serial
dengan dan tanpa perangkat yang terhubung, kita dapat dengan mudah menemukan ttyS yang terkait dengan perangkat kita. Jadi, sekarang lakukan:
$ sudo cat /proc/tty/driver/serial> /tmp/1
(un) pasang perangkat
$ sudo cat /proc/tty/driver/serial> /tmp/2
Selanjutnya periksa perbedaan antara kedua file. Di bawah ini adalah output dari PC saya:
$ diff /tmp/1 /tmp/2
2c2
< 0: uart:16550A port:000003F8 irq:4 tx:6 rx:0
---
> 0: uart:16550A port:000003F8 irq:4 tx:6 rx:0 CTS|DSR
Dengan membandingkan tiga angka dengan output dmesg kita dapat menentukan yang mana adalah port:
[ 0.872181] 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Karenanya, perangkat kami adalah /dev/ttyS0
, misi tercapai!