Gần đây tôi cần đặt lại mật khẩu trên một UPS APC cũ yêu cầu kết nối cáp nối tiếp độc quyền của họ, nhấn nút đặt lại và đăng nhập bằng tên người dùng và mật khẩu mặc định qua giao diện nối tiếp. Tôi đã kết nối nó với cổng nối tiếp trên R720XD và chuyển cổng qua máy ảo Ubuntu.
tôi đã sử dụng stty
để định cấu hình cổng nối tiếp theo tài liệu của APC, đã khởi chạy màn hình /dev/ttyS0 <tùy chọn>
, và đã đi làm. Vì một số lý do, đầu ra là một mớ hỗn độn. Có vẻ như nó sẽ nhận 3-4 ký tự đầu tiên của mỗi lần truyền, sau đó bỏ lỡ phần còn lại. tôi đã thử minicom
với kết quả tương tự.
Vì vậy, tôi đã thực hiện kiểm tra vòng lặp - kết nối RX và TX với nhau - để xem liệu những gì tôi đã gửi có quay trở lại không. Vấn đề tương tự. Tôi nối một máy hiện sóng vào dây và phát hiện ra rằng mọi lần nhấn phím đều được gửi đúng cách; Tôi có thể thấy nó đi qua dây. Nhưng vì một số lý do, hầu hết các nhân vật sẽ không xuất hiện trên màn hình
.
Sau đó tôi phát hiện ra rằng nếu tôi đã làm con mèo/dev/ttyS0
trong một thiết bị đầu cuối và echo dọc chuỗi > /dev/ttyS0
mặt khác, tôi có thể thấy mọi thứ đều ổn!
Tôi đã kết thúc chỉ cần rời khỏi con mèo
mở để xem các byte đến và chạy màn hình
trong một thiết bị đầu cuối khác để gửi các lần nhấn phím, hoạt động tốt và dễ dàng hơn nhiều so với sử dụng tiếng vang
hết lần này đến lần khác. Mật khẩu đã được đặt lại thành công bằng cách này.
Nhưng bây giờ tôi tò mò... có ai có ý tưởng gì tại sao không màn hình
và minicom
có vấn đề? Tôi đã thử mọi tùy chọn tôi có thể tìm thấy trong Đàn ông
, nhưng không may mắn. Có vẻ như có thứ gì đó khác kéo các byte ra khỏi bộ đệm, nhưng tôi không biết đó có thể là gì.