Mengapa beberapa distribusi Linux masih memiliki / dev / ttyS0, ttyS1, dll., Meskipun komputer yang lebih baru tidak memiliki port serial seperti itu?


34

Banyak laptop dan komputer desktop baru tidak memiliki port serial 9-pin / 25-pin. Mengapa banyak distribusi Linux masih mengandung /dev/ttyS0, dev/ttyS1file perangkat?

Karena udevdapat membuat file perangkat dinamis, mengapa /dev/ttyS0, /dev/ttyS1masih dibuat statis? Setiap kali saya boot, /dev/ttyS0dan /dev/ttyS1ada di sana.

Omong-omong: Saya menggunakan Debian 7.0.

Jawaban:


41

/devNode - node ini muncul karena driver port serial PC standar dikompilasi ke dalam kernel yang Anda gunakan, dan ia menemukan UART . Itu menyebabkan /sys/devices/platform/serial8250(atau sesuatu yang kompatibel) muncul, jadi udev membuat /devnode yang sesuai .

UART ini kemungkinan besar adalah salah satu dari banyak fitur chipset motherboard Anda. Serial UART dalam chipset masih cukup umum, meskipun menjadi semakin jarang untuk konektor DB-9 yang melekat pada pin IC UART ini.

Pada beberapa motherboard, ada konektor header untuk setiap port seri, dan Anda harus membeli kabel adaptor jika Anda ingin mengarahkan konektor itu ke bagian belakang PC:

Header 10-pin ke kabel adaptor DB-9M

Motherboard lain yang menggunakan chipset yang sama mungkin bahkan tidak mengekspos konektor header, meskipun fitur tersebut tersedia dalam silikon, murni untuk menghemat sedikit ruang PCB dan beberapa sen untuk konektor header.

Beberapa serial UART menambah biaya yang dapat diabaikan pada IC chipset PC yang diproduksi secara massal, sedangkan itu menambahkan beberapa dolar ke biaya eceran akhir sebuah motherboard untuk menjalankan konektor DB-9 ke tepi papan. Ada juga biaya dalam ruang PCB; ruang di ujung papan sangat berharga.

Tidak ada cara standar untuk menyelidiki keberadaan perangkat yang terhubung ke port serial RS-232.

Kontras USB, di mana keberadaan port pada motherboard tidak menyebabkan /devnode dibuat, tetapi menghubungkan perangkat, karena ada negosiasi yang cukup kompleks antara perangkat dan OS host. Efeknya, perangkat mengumumkan dirinya ke OS, sehingga udevdapat bereaksi dengan membuat /devsimpul yang sesuai untuk perangkat.


11
Saya juga akan merekomendasikan menyebutkan, banyak motherboard laptop -dapat memiliki serial controller, hanya saja tidak menuju ke mana pun sehingga tidak dapat digunakan tanpa membongkar laptop dan menyolder ke titik uji, banyak produsen menggunakan ini untuk melakukan beberapa pemeriksaan dasar pada jalur produksi untuk memastikan tingkat fungsi dasar pada motherboard sebelum pengiriman. Namun sejauh menyangkut Linux ini berarti ada port serial dan instantiate seperti yang diharapkan untuk setiap papan dengan pengontrol serial.
Vality

@Vality, apakah Anda tahu ada info berguna tentang ini - saya akses ke laptop yang akan dianggap usang besok dan karena itu matang untuk (a) Linux, dan (b) bermain-main.
Chris H

1
@ ChrisH Yah itu agak tergantung pada laptop, Anda akan perlu menemukan lembar data, atau setidaknya panduan hacking untuk motherboard laptop, tergantung pada model, beberapa akan memiliki tata letak yang benar untuk solder pada header serial dengan mudah meskipun beberapa papan yang lebih murah hanya memiliki beberapa titik uji yang tersebar tentang papan. Jika Anda beruntung dan yang pertama adalah Anda hanya bisa solder di header, sambungkan kabel ke sana, mungkin memotong lubang kecil di laptop Anda untuk masuk ke soket maka Anda akan memiliki port. Ingat meskipun itu akan 5 atau 3,3 volt jadi jangan menggunakannya sebagai RS232. Laptop apa itu?
Vality

@Vality acer netbook - tidak memiliki model yang tepat di sini - Saya benar-benar bertanya-tanya tentang sumber daya umum, itu akan memakan waktu sebelum saya menyelesaikannya - terima kasih.
Chris H

Masalahnya adalah kompatibilitas dasar, konservatif, mundur. Itulah sebabnya orang menyukai Linux. Anda tidak "bergerak cepat & merusak" kernel. Hal-hal yang benar-benar perlu diubah ketika ada alasan yang valid — dan cukup universal — bagi kernel untuk maju.
JakeGould

4

Bayangkan menjalankan Linux di bawah virtualisasi, banyak emulator masih mengandalkan keluaran konsol ke port serial. Ini standar yang nyaman. Selain itu, server tanpa kepala masih menggunakan port serial untuk komunikasi.


Tetapi tidak ada satu pun alasan mengapa node perangkat dibuat. Itu dibuat karena perangkat ada di sana, sejauh menyangkut kernel. Jika Anda menonaktifkan UART serial pada CMOS, itu tidak akan terjadi.
GnP

1
QEMU adalah contoh yang menggunakannya jika Anda ingin menjalankan VM di dalam terminal Anda: stackoverflow.com/questions/19565116/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

0

Perlu disebutkan bahwa banyak (kebanyakan?) Server masih menyediakan akses serial (ttyS0). Saya perlu terhubung melalui koneksi Serial-over-LAN melalui iLO / iDRAC hampir setiap hari. Seperti yang dicatat @Patrick, saya terhubung ke mesin virtual melalui port serial juga ketika mengkonfigurasi ulang jaringan, dll.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.