概述

串行控制台和终端是一种工具,用于和串口相互连接的设备和其他系统进行通信。串行终端可用于监控和配置许多设备-包括调制解调器、网络设备(包括MikroTik路由器),以及任何可以连接到串行(异步)端口的设备。

串行控制台功能用于配置直接访问的配置设施(监视器/键盘和串行端口),这些设施大多用于初始或恢复配置。需要一根特殊的空调制解调器电缆来连接两台主机(如两台PC,或两台路由器;不是调制解调器)。注意,需要一个终端仿真程序(如Windows的HyperTerminal或Linux的minicom)来从另一台计算机访问串行控制台。路由器串口的默认设置为115200比特/秒(x86系统默认为9600比特/秒),8个数据位,1个停止位,无奇偶校验,硬件(RTS/CTS)流量控制。

一些客户说明了串行终端(管理端)功能的有用情况:

  • 在山顶上,MikroTik无线设备与无法进行带内管理(通过IP网络的telnet)的设备(包括交换机和Cisco路由器)相邻。

  • 通过串口监控天气报告设备

  • 连接到一个高速微波调制解调器,需要通过串口连接进行监控和管理。

利用MikroTik的串行终端,可以监测和控制多达132个(甚至可能更多)设备。

串行控制台的连接

设备之间的串行通信是通过RS232完成的,它是计算机世界中最古老和最广泛传播的通信方法之一。用于与调制解调器或其他外围设备DTE/DCE的通信。在现代社会,串行通信的主要用途是DTE/DTE通信(数据终端设备),例如,使用空调制解调器电缆。有几种类型的空调制解调器电缆,其中一些可能不能和RouterBoards一起使用。

无握手的空调制解调器

这种电缆完全不使用握手引脚:

Side1 (DB9f) Side2 (DB9f) Function
2 3 Rx ← Tx
3 2 Tx → Rx
5 5 GND

允许交叉连接的Rx/Tx线路上只有数据流量。这种类型的电缆不进行硬件流量控制。执行流量控制的唯一方法是使用XOFF和XON字符的软件流量控制。

带有回环握手的空调制解调器

第一条电缆的问题是,当连接到一个启用了硬件流量控制的设备上时,软件在检查调制解调器信号线时可能会挂起。

带有回环握手的空调制解调器电缆可以解决这个问题,它的目的是欺骗定义良好的软件,使其认为有握手功能:

Side1 (DB9f) Side2 (DB9f) Function
2 3 Rx ← Tx
3 2 Tx → Rx
5 5 GND
1+4+6 - DTR → CD + DSR
- 1+4+6 DTR → CD + DSR
7+8 - RTS → CTS
- 7+8 RTS → CTS

用这种电缆不能实现硬件流控制。此外,如果远程软件不发送自己的准备信号到DTR输出,通信就会中断。

带部分握手的空调制解调器

这种电缆可以在启用流量控制时使用,而不会与DTE/DCE通信中使用流量控制的原始方式不兼容。

不建议在RouterOS中使用这种类型的电缆。

Side1 (DB9f) Side2 (DB9f) Function
1 7+8 RTS2 → CTS2 + CD1
2 3 Rx ← Tx
3 2 Tx → Rx
4 6 DTR → DSR
5 5 GND
6 4 DSR ← DTR
7+8 1 RTS1 → CTS1 + CD2

具有完全握手功能的空调制解调器

与特殊软件一起使用,不要与RouterOS一起使用。

Side1 (DB9f) Side2 (DB9f) Function
2 3 Rx ← Tx
3 2 Tx → Rx
4 6 DTR → DSR
5 5 GND
6 4 DSR ← DTR
7 8 RTS → CTS
8 7 CTS ← RTS

空调制解调器兼容性

下面的汇总表可以为你的应用选择合适的电缆。

无握手 回环握手 部分握手 完全握手
端口功能有限的RouterBoards Y Y N1 N
全功能的RouterBoards Y Y Y N
  1. 只有硬件流控禁用时才能工作

无握手

回环握手

部分握手

完全握手

软件流控

Y

Y 1

Y 2

Y 2

低速DTE/DCE兼容硬件流控

N

Y

Y 1

N

高速DTE/DCE兼容硬件流控

N

Y

Y 2

N

使用特殊软件的高速通信

N

N

Y 1

Y

  1. 可以作为替代方案使用

  2. 可以使用,但不建议使用

RJ45串口

这种类型的端口用于RouterBOARD 2011、3011、4011、CCR1072、CCR1036 r2、CCR2xxx和CRS系列设备,有时被称为 "思科式"串口。

RJ45到DB9电缆引脚:

Signal Console Port (DTE) RJ-45 RJ-45 Rolled Cable RJ-45 Pin Adapter DB-9 Pin Adapter DB-25 Pin Signal
RTS 1 8 8 5 CTS
DTR 2 7 6 6 DSR
TxD 3 6 2 3 RxD
Ground 4 5 5 7 Ground
Ground 5 4 5 7 Ground
RxD 6 3 3 2 TxD
DSR 7 2 4 20 DTR
CTS 8 1 7 4 RTS

RB M33G 额外的串口接头

对于RBM33G,额外的串口接头可以连接到GPIO引脚U3_RXD, GND, U3_TXD, 和3V3上。

需要RouterOS 6.45.1+固件!

CCR 串口接头

云核心路由器系列设备在PCB板上有一个串口接头,称为J402或100

以下是该连接器的引脚分布:

串行终端的使用

RouterOS允许使用 /system serial-terminal 命令与通过串口连接到路由器的设备和其他系统进行通信。所有的键盘输入将被转发到串口,所有来自串口的数据将被输出到连接的设备。

首先必须有一个空闲的串口,如果设备只有一个串口(像所有的RouterBoards、WRAP/ALIX板等),必须禁用这个串口上的系统控制台,以便能够把它作为 串口终端 与其他设备(交换机、调制解调器等)连接:

/system console disable 0

请确保只是禁用控制台,而不是删除,当真正删除它时,RouterOS会在下次重启后重新创建控制台。

注意,有一些注意事项是你应该注意的! 花点时间了解这些限制,以避免在将设备连接到RouterBoard的串行端口时发生奇怪的事情:

  • 通过重新配置RouterBoard上的Serial0端口,如上图所示,你会失去对RouterOS的串行控制台访问。这意味着如果不能再通过网络访问你的RouterBoard,甚至可能不得不重新设置它的整个配置以再次获得访问权。

  • 当重启RouterBoard时,启动加载器(RouterBOOT)将始终使用串行控制台(RouterBoards上的Serial0)来发送一些启动信息并提供对RouterBOOT菜单的访问。

    让文本从串行端口出来到所连接的设备上,可能会使连接的设备感到困惑。此外,在标准配置中,可以通过按 任意 键进入RouterBOOT菜单。因此,如果串行设备在启动时向RouterBoard的串行端口发送任何字符,RouterBoard将进入RouterBOOT菜单,除非手动干预,否则将 启动RouterOS!

    可以重新配置RouterBOOT,使其只在收到 DEL 字符时才进入RouterBOOT菜单-用这个方法来减少重启时路由器卡住的机会!

    或者如果使用较新的版本 Silent boot 功能,可以用来抑制串行接口上的任何输出,包括去除启动的声音。

接下来根据所连接设备的串口设置来配置串口。使用以下命令,把串口设置为19200 Baud 8N1。需要使用什么设置取决于所连接的设备:

/port set serial0 baud-rate=19200 data-bits=8 parity=none stop-bits=1

也可以通过设置让RouterOS猜测需要的波特率

/port set serial0 baud-rate=auto

现在可以连接设备了,如果还没完成,则必须使用 空调制解调器电缆 (和以太网的交叉电缆相同)。现在可以开始了:

/system serial-terminal serial0

这将使你能够访问你连接到Serial0端口的设备。Ctrl-A 是前缀键,这意味着你将进入一个小 "菜单"。如果你需要发送 Ctrl-A 字符到远程设备,请按 Ctrl-A 两次。

如果你想退出与串行设备的连接,输入 Ctrl-A,然后按 Q。这将使你回到RouterOS的控制台。

不要以不正确的速度连接设备,避免转储二进制数据。

特殊登录

特殊登录用来访问另一个通过串行电缆连接的设备(例如交换机),打开一个telnet/ssh会话,直接进入这个设备(无需先登录RouterOS)。

为了演示,使用两个RouterBoards和一台PC。

路由器R1和R2用串行电缆连接,PC通过以太网与R1连接。假设想通过串行电缆从PC访问路由器R2。要做到这一点,必须在R1上设置串行接口代理。可以通过名为 特殊登录 功能来完成。

默认情况下,控制台绑定到串行端口。

第一项任务是取消控制台与串口的绑定,只需禁用/系统控制台菜单中的条目:

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

下一步是添加新用户,在这里是 _serial_,并将它和串口绑定。

[admin@MikroTik] > /user add name=serial group=full
[admin@MikroTik] > /special-login add user=serial port=serial0 disabled=no
[admin@MikroTik] > /special-login print
Flags: X - disabled
 #   USER                                                                    PORT
 0   serial                                                                  serial0

现在已经准备好从PC上访问R2。

maris@bumba:/$ ssh serial@10.1.101.146

[Ctrl-A is the prefix key]
R2 4.0beta4
R2 Login:

[admin@R2] >

要退出特殊登录模式,请按Ctrl+A和Q

[admin@MikroTik] >
[Q - quit connection]      [B - send break]
[A - send Ctrl-A prefix]   [R - autoconfigure rate]


Connection to 10.1.101.146 closed.

路由器重启,连接串行电缆后,路由器可能会卡在启动器主菜单上。

要解决这个问题,需要允许<any>键到<delete>键访问bootloader主菜单:

  • 进入bootloader菜单

  • 按’k’键查看启动键选项

  • 按’2’将键改为<删除>。

What do you want to configure?
d - boot delay
k - boot key
s - serial console
n - silent boot
o - boot device
u - cpu mode
f - cpu frequency
r - reset booter configuration
e - format nand
g - upgrade firmware
i - board info
p - boot protocol
b - booter options
t - call debug code
l - erase license
x - exit setup
your choice: k - boot key

Select key which will enter setup on boot:
 * 1 - any key
   2 - <Delete> key only

your chaoice: 2