2010-04-14 21:10:13 +0000 2010-04-14 21:10:13 +0000
33
33
Advertisement

Skąd mam wiedzieć, który /dev/ttyS* jest moim portem szeregowym?

Advertisement

Mam laptopa, który ma tylko jeden port szeregowy.

Wszedłem do:

/dev

katalog, i znalazłem:

ttyS0
ttyS1
ttyS2
ttyS3

Skąd mam wiedzieć, który z tych “ttyS” odnosi się do mojego portu szeregowego?

Advertisement

Odpowiedzi (5)

34
34
34
2010-04-14 21:24:54 +0000

Myślę, że jest to ta komenda:

dmesg | grep tty

Uruchomienie tego na moim własnym pudełku z Linuksem (które ma tylko 1 port szeregowy) daje pojedynczą linię wyjściową ttyS0. Spróbuj sam, a zobaczysz, co mam na myśli.

14
14
14
2016-06-30 15:45:47 +0000

Zobacz, które UARTy zostały wykryte w /proc/tty/driver/serial. Linia z uart:unknown oznacza: nic nie wykryto (i prawdopodobnie nie istnieje).

# 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

Jeśli coś jest podłączone i steruje liniami CTS, DSR lub CD (są to linie wejściowe) to możesz być nawet pewien, że coś jest… To samo dotyczy licznika rx-byte-count.

7
Advertisement
7
7
2014-12-20 13:55:13 +0000

Jeśli musisz to zrobić programowo, czytanie wyjścia z dmesg może być kłopotliwe, zamiast tego folder /dev/serial/by-id ma dowiązania sym, które są nazwane po identyfikowalnych danych urządzenia i wskazują na konkretne /dev/tty\u0026apos; do których są podłączone.

Nie jestem pewien czy jest to jakaś specjalna reguła udev, która jest specyficzna dla danej dystrybucji, ale działa dobrze w Ubuntu, daj mi znać czy działa.

6
6
6
2010-04-14 21:17:04 +0000

ttyS0 do 3 odpowiadają odpowiednio COM1 do 4. Zwykle mają te same zasoby sprzętowe i nie zawsze są wykrywalne, więc zawsze istnieją.

1
Advertisement
1
1
2016-09-12 15:19:53 +0000

Istnieje również komenda setserial, która używa /proc/tty/driver/serial do uzyskania danych.

# 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
Advertisement