串行控制台配置

串行控制台配置

所以我有一个在 Shuttle XS36V 上运行的 Ubuntu 服务器(12.10)。这台电脑完全没有头(安装时只连接到电视上)。现在,我试图使用串行端口连接到我的盒子(以防网络不可用)。顺便说一句,这根本不起作用 :(

我跟着https://help.ubuntu.com/community/SerialConsoleHowto

在服务器上:

root@server # dmesg | grep ttyS0
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.5.0-23-generic root=/dev/mapper/vg00-lvroot ro console=tty0 console=ttyS0,115200n8
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.5.0-23-generic root=/dev/mapper/vg00-lvroot ro console=tty0 console=ttyS0,115200n8 
[    0.000000] console [ttyS0] enabled
[    1.720744] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    1.777564] 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

我还配置了 ttyS0 :

root@server # cat /etc/init/ttyS0.conf 
# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.

start on stopped rc or RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L 115200 ttyS0 vt102

在客户端(Ubuntu Desktop 12.10,但也尝试过 Windows 7),我刚刚插入了 rs232 转 usb 电缆,dmesg 显示:

root@client # dmesg
...
[ 8722.807731] usb 1-1.2: new full-speed USB device number 5 using ehci_hcd
[ 8722.900863] usb 1-1.2: New USB device found, idVendor=067b, idProduct=2303
[ 8722.900872] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 8722.900877] usb 1-1.2: Product: USB-Serial Controller D
[ 8722.900882] usb 1-1.2: Manufacturer: Prolific Technology Inc. 
[ 8722.945131] usbcore: registered new interface driver usbserial
[ 8722.945147] usbcore: registered new interface driver usbserial_generic 
[ 8722.945159] USB Serial support registered for generic
[ 8722.945163] usbserial: USB Serial Driver core
[ 8722.945517] usbcore: registered new interface driver pl2303
[ 8722.945532] USB Serial support registered for pl2303
[ 8722.945549] pl2303 1-1.2:1.0: pl2303 converter detected
[ 8722.947531] usb 1-1.2: pl2303 converter now attached to ttyUSB0

顺便说一下,跑步的时候

screen /dev/ttyUSB0 115200 

什么都没有发生(当然我的用户属于拨出组)...只有黑屏。

有什么想法吗?谢谢帮助

答案1

关于串行控制台,有几点需要注意。

  1. 您需要一根交叉电缆,将客户端的 TX 连接到服务器上的 RX,反之亦然。此外,您还需要接地。其他的或多或少选修的.这种电缆通常称为零调制解调器电缆,可以在 eBay、亚马逊等网站上以低价购买。或者你也可以自己制作。
  2. 它没有状态。服务器不知道什么时候有客户端在监听。因此,您必须通知服务器发送某些内容 - 否则它会坐在那里等待输入。发送回车键是获取某些响应的常见方式。如果它坐在登录提示符处,这将提供一些输出。

这是我见过人们在使用串行连接时犯的两个最常见的错误。他们习惯使用 ssh 或 telnet,它们有状态 - 并且服务器在连接时会响应。或者他们习惯使用现代电缆,如果电缆合适,它通常就可以正常工作。

随着 Raspberry Pi 等廉价计算机的出现,串行控制台在很多情况下可能成为一种方便且廉价的带外管理系统。

答案2

对于现代的 Ubuntu,您可以在这里找到一个示例:

https://ubuntuforums.org/showthread.php?t=2343595

相关内容