Yanıtlar:
Bence bu komut:
dmesg | grep tty
Bunu kendi Linux kutumda (yalnızca 1 Seri portu olan) çalıştırmak tek bir ttyS0 çıkış hattı üretir. Kendiniz deneyin, ne demek istediğimi anlayacaksınız.
tty
tty isminizi almak için sadece yazabilirsiniz . Sanırım OP'nin kastedilen, "hangi seri bağlantı noktalarının getty
çalıştığı " sorusunu sormadıkları için.
Tespit edilen hangi UART'lara bakın /proc/tty/driver/serial
. Olan bir satır uart:unknown
: hiçbir şey tespit edilmedi (ve muhtemelen mevcut değil).
# cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:16550A port:000002F8 irq:3 tx:111780 rx:1321 RTS|DTR|DSR
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3
Bir şey bağlıysa ve CTS, DSR veya CD satırlarını sürüyorsa (bunlar giriş satırlarıdır), aslında bir şey olduğundan bile emin olabilirsiniz ... Aynı şey rx-byte-count için de geçerlidir.
Bunu programlı bir şekilde yapmanız gerekiyorsa, dmesg'den çıktı okumak zahmetli olabilir, bunun yerine / dev / serial / by-id klasörü cihazınızın tanımlanabilir verilerinden sonra adlandırılan ve belirli / dev / tty * işaretlerini gösteren sym linklerine sahiptir. bağlı.
Dağıtıma özgü bazı özel udev kuralları olup olmadığından emin değilim, ama Ubuntu'da iyi çalışıyor, çalışıp çalışmadığını bana bildirin.
ttyS0
ile 3
eşleşecek şekilde COM1
aracılığıyla 4
sırasıyla. Genellikle aynı donanım kaynaklarına sahiptirler ve her zaman algılanamazlar, bu yüzden her zaman var olurlar.
setserial
ttyS0 seri portun kullandığı kaynakları eşleştirmek için. linux.die.net/man/8/setserial Bu normalde gerekli değildir, çünkü COM4 dışındaki herhangi bir şey genellikle Linux'un algılaması ve uygun bir seri aygıt eklemesi için yeterli yardımcı donanıma sahiptir.
Veri almak için setserial
kullanılan bir komut da vardır /proc/tty/driver/serial
.
# setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3