Seri portumun hangi / dev / ttyS * olduğunu nasıl bilebilirim?


Yanıtlar:


32

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.


Bu, komutun çalıştırılmasından sonra, eğer cevap ... konsol [tty0] etkinse ... ve başka hiçbir şey yoksa, / dev / tty0 cihazına bağlı herhangi bir cihaz (sorunun görünen aptallığı için özür dilerim) anlamına mı geliyor?
Hektor

1
Tek sorun, dmesg çıktısının giderilebilmesi - yani eğer çok geç çalışırsanız, şansınız kalmaz. / Proc / tty / driver / seriye bakmak daha sağlam bir cevap gibi görünüyor ve daha sonra bu bağlantı noktasına veri yazarken artan rx kesintilerini kontrol edin
Neil McGill

Üzgünüm, herhangi bir çıktı göremiyorsam ne yapmam gerekir?
user3019105

Eğer şu anda belirtilen seri hat üzerinden bir terminalde iseniz, ttytty 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.
Thom Nichols

14

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.


7

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.


5

ttyS0ile 3eşleşecek şekilde COM1aracılığıyla 4sırasıyla. Genellikle aynı donanım kaynaklarına sahiptirler ve her zaman algılanamazlar, bu yüzden her zaman var olurlar.


Cevap için teşekkürler. Öyleyse, Linux'a ttyS0'ın seri port donanımımla eşleşmesini istediğimi söylemek istiyorum, ne yapmam gerekiyor?
sivabudh

Sen kullanırsınız setserialttyS0 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.
Ignacio Vazquez-Abrams

0

Veri almak için setserialkullanı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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.