无法在 MikroTik RB4011iGS+ 上获取串行控制台

无法在 MikroTik RB4011iGS+ 上获取串行控制台

我正在尝试连接到我的 MikroTik RB4011iGS+ 的串行控制台。

我可能遗漏了一些明显的东西,但我似乎无法获得终端(或其他任何东西)。

相关文档页面:

https://wiki.mikrotik.com/wiki/Manual:System/Serial_Console

我当前的路由器配置/system console涉及/port

[admin@MikroTik] > /system console print
Flags: X - disabled, U - used, F - free
 #   PORT                                       TERM
 0 F serial0                                    vt102


[admin@MikroTik] > /system console print detail
Flags: X - disabled, U - used, F - free
 0 F port=serial0 channel=0 term="vt102"


[admin@MikroTik] > /port print
Flags: I - inactive
 #   DEVICE NAME                         CHANNELS USED-BY                       BAUD-RATE
 0          serial0                             1 Serial Console                115200
 1          serial1                             1                               115200


[admin@MikroTik] > /port print detail
Flags: I - inactive
 0   name="serial0" used-by="Serial Console" device="" channels=1 baud-rate=115200
     data-bits=8 parity=none stop-bits=1 flow-control=none

 1   name="serial1" used-by="" device="" channels=1 baud-rate=115200 data-bits=8
     parity=none stop-bits=1 flow-control=none

我也尝试过以 9600 波特率工作并使用端口serial1,但结果相同(缺乏)。

RouterBoardminicom 2.7通过以下电缆连接与正在运行的 Linux 机器相连:

  • RouterBoard 背面有一个 RJ45 串行端口;
  • 直 RJ45 电缆将 RouterBoard 连接到 Cisco 风格的适配器;
  • 这种思科风格的适配器将 RJ45 连接到 DB9,我已经用万用表仔细检查过它是否连接正确(见下文);
  • 最后,将 DB9 端插入串行转 USB 电缆。

这是思科风格适配器的引脚排列,如相应的 MikroTik 文档页面

RJ45 转 DB9 电缆引脚排列

这是串行到 USB 内核日志和lsusb条目:

# dmesg
(...)
[632023.804776] usb 2-2: Product: USB-Serial Controller
[632023.804788] usb 2-2: Manufacturer: Prolific Technology Inc.
[632023.807327] pl2303 2-2:1.0: pl2303 converter detected
[632023.819548] usb 2-2: pl2303 converter now attached to ttyUSB0

# lsusb
(...)
Bus 001 Device 017: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
(...)

字面上地抓起一台装有 Windows 95 的旧 486 来确保串行到 USB 电缆工作正常,并且我成功地使用串行到 USB 转换器和空调制解调器电缆在 HyperTerminal/Win95 和 Minicom/Linux 之间以 9600 波特率进行通信。

Windows 95 运行超级终端,显示从 Linux 的 Minicom 发送的文本,证明串行转 USB 电缆工作正常。

我也尝试过将 Cisco 式适配器直接插入 Win95 串行端口。我也无法在 HyperTerminal 上获得终端。

我也尝试过使用picocomand 代替screenminicom但没有任何区别。

因此,问题不应该出在适配器上(适配器连接正常,我有两个适配器),也不应该是 RJ45 电缆(以太网连接正常),也不应该是串口转 USB 转换器。但是,我没有在路由器上看到任何其他可以配置的东西(我也重启了路由器,但串口链接中什么都没有显示 - 甚至没有启动信息)。我遵循了 MikroTik 的所有说明,甚至 YouTube 视频。

我现在有点疯狂,知道这会是一个愚蠢的错误。我可能做错了什么?

谢谢!

答案1

所以,我知道这将是一个愚蠢(和尴尬)的错误。我只是很遗憾在此期间发生了一次失败的 RMA。

TL;DR:适配器的针脚是倒置的(卷曲的?),我系统地上下颠倒地测试了它,可能假设我应该匹配公针而不是母针,所以一切看起来都很好。直线 RJ45 电缆不合适。我需要卷曲的 RJ45 电缆。

我花了多长时间才发现?现在是讲故事的时间,希望将来能帮助别人:

我联系了商店,向他们展示了这篇帖子,他们也认为这可能是故障,并创建了 RMA。我把 RouterBoard 寄过去,然后等待。

第二天,商店联系我,表示一切正常,没有发现任何异常,所以很明显我这边出了问题。请记住,这是我第一次通过 RJ45 进行 RS-232 连接。

今天收到路由器,再试一次,问题明显依旧。

最后,我决定明显的我决定自己做一个适配器,因为这是我以前唯一没有机会测试(也从未真正使用过)的部件。也许我的适配器接触不良了?幸好我有剥线钳,我还没有焊接我的gigatron.io,其 Pluggy McPlugface PS/2 适配器有一个我可以使用的 DB-9 母连接器。

因此,我剥去了一侧的 RJ45 电缆,并将适配器连接到面包板上(如图所示,是之前的思科适配器):

RJ45-DB9 适配器连接到面包板上

从 RouterBoard 启动后,第一次尝试就可以立即发挥作用。

串行控制台正在工作

只有到达这一点后,我才注意到 RJ45 触点与适配器中的触点相反。

Cisco 适配器倒置了(卷起来了?)。我查了一下,发现这是个问题。

因此,直线型 RJ45 电缆并不合适。需要卷式 RJ45 电缆,我将使用剥去的电缆剩余部分来制作一条。

就是这样。如果别人能更早发现错误,这种情况可能就发生了。

谢谢大家的关注,现在大家可以集体呻吟了!

答案2

我用screen-适用于 OSX 和 Linux 的串行电缆 - 用于连接到我的路由器的 RB4011 路由器的串行端口。

您需要的命令的语法screen是:

sudo screen /dev/(serialDevice) (baudRate) (TransmissionRate) (flowControl)

连接到我的RB4011iGS+5HacQ2HnD-IN路由器,screen我使用的命令是:

sudo screen /dev/ttyUSB0 115200 cs8 ixoff

cs8“ 是路由器的比特率,并且 “伊克索夫“指定“无流量控制”。 ”115200"是路由器的波特率。

请注意设备”ttyUSB0“特定于我正在使用的串行电缆。但是您可以按指定的方式使用其余命令。

我在网上找到的所有用于建立串行连接的“操作指南”screen都只告诉您只将波特率传递给命令,但当我尝试这样做时,这是不够的。如果不另外传递*传输速率流量控制screen,当您尝试连接到 RB4011 时,命令将会挂起。

我在 RB4011 上的串行配置如下:

[admin@RB4011] > /port print 
Flags: I - inactive

 #   DEVICE NAME       CHANNELS USED-BY     BAUD-RATE

 0     serial0         1 Serial Console        auto

 1     serial1         1                      115200

[admin@RB4011] > /system console print

Flags: X - disabled, U - used, F - free

 #   PORT              TERM

 0 F serial0           vt102

我也曾成功使用过minicom -s它来与路由器建立串行连接。但是,由于minicom需要通过设置菜单来配置连接,我更喜欢screen直接将所有必需参数传递给命令的方式。

相关内容