Ngoài ra còn có tty0tty http://sourceforge.net/projects/tty0tty/ là trình giả lập modem null thực sự cho linux.
Nó là một mô-đun hạt nhân đơn giản - một tệp nguồn nhỏ. Tôi không biết tại sao nó chỉ đưa ngón tay cái xuống sourceforge, nhưng nó hoạt động tốt với tôi. Điều tốt nhất về nó là cũng mô phỏng các chân phần cứng (RTC / CTS DSR / DTR). Nó thậm chí còn thực hiện các lệnh iotcl TIOCMGET / TIOCMSET và TIOCMIWAIT!
Trên một kernel gần đây, bạn có thể gặp lỗi biên dịch. Điều này là dễ dàng để sửa chữa. Chỉ cần chèn một vài dòng ở đầu nguồn mô-đun / tty0tty.c (sau bao gồm):
#ifndef init_MUTEX
#define init_MUTEX(x) sema_init((x),1)
#endif
Khi mô-đun được tải, nó tạo ra 4 cặp cổng nối tiếp. Các thiết bị là / dev / tnt0 đến / dev / tnt7 trong đó tnt0 được kết nối với tnt1, tnt2 được kết nối với tnt3, v.v. Bạn có thể cần sửa các quyền của tệp để có thể sử dụng các thiết bị.
biên tập:
Tôi đoán rằng tôi đã nhanh một chút với sự nhiệt tình của tôi. Trong khi trình điều khiển có vẻ hứa hẹn, nó có vẻ không ổn định. Tôi không biết chắc chắn nhưng tôi nghĩ rằng nó đã làm hỏng một máy trong văn phòng tôi đang làm việc ở nhà. Tôi không thể kiểm tra cho đến khi tôi trở lại văn phòng vào thứ hai.
Điều thứ hai là TIOCMIWAIT không hoạt động. Mã này dường như được sao chép từ một số mã ví dụ "tty nhỏ". Việc xử lý TIOCMIWAIT có vẻ đúng chỗ, nhưng nó không bao giờ thức dậy vì cuộc gọi tương ứng đến Wake_up_interruptible () bị thiếu.
biên tập:
Vụ tai nạn trong văn phòng thực sự là lỗi của tài xế. Thiếu một khởi tạo và mã TIOCMIWAIT chưa được kiểm tra hoàn toàn đã gây ra sự cố cho máy.
Tôi đã dành ngày hôm qua và hôm nay viết lại trình điều khiển. Có rất nhiều vấn đề, nhưng bây giờ nó hoạt động tốt với tôi. Vẫn còn thiếu mã cho điều khiển luồng phần cứng do trình điều khiển quản lý, nhưng tôi không cần nó bởi vì tôi sẽ tự mình quản lý các chân bằng TIOCMGET / TIOCMSET / TIOCMIWAIT từ mã chế độ người dùng.
Nếu bất cứ ai quan tâm đến phiên bản mã của tôi, hãy gửi cho tôi một tin nhắn và tôi sẽ gửi cho bạn.