Serial Console
Serial Console 和 Terminal 工具支持通过串口与设备直接通信,用于初始或恢复配置,最多可支持 132 台设备。本页讲解用于硬件流控的 null-modem 线缆配置,包括无握手以及具备部分或完全握手能力的选项。
Serial Console(串行控制台)
Serial Console 和 Serial Terminal 是用于与通过串口互连的设备和其他系统通信的工具。串行终端用于监控和配置许多设备——包括调制解调器、网络设备(包括 MikroTik 路由器),以及任何可以连接到串行(异步)端口的设备。
Serial Console 功能用于配置直接访问配置设施(显示器/键盘和串口),它们主要用于初始或恢复配置。连接两台主机(如两台 PC,或两台路由器;不是调制解调器)需要一根特殊的 null-modem 线缆。从另一台计算机访问串行控制台需要一个终端仿真程序(例如 Windows 上的 HyperTerminal 或 Linux 上的 minicom)。路由器串口的默认设置为 115200 bits/s(x86 默认为 9600 bits/s)、8 个数据位、1 个停止位、无校验、硬件 (RTS/CTS) 流控。
Serial Terminal(管理侧)功能在以下情况下很有用:
- 在山顶上,MikroTik 无线安装位置旁边是无法通过带内方式(通过 IP 网络的 telnet)管理的设备(包括交换机和 Cisco 路由器)。
- 通过串口监控气象报告设备。
- 连接到需要通过串行连接进行监控和管理的高速微波调制解调器。
MikroTik 的 serial-terminal 功能最多可以监控和控制 132 台(甚至更多)设备。
Serial Console 连接
设备之间的串行通信使用 RS232。它是计算机世界中最古老、最广泛使用的通信方法之一。它曾用于与调制解调器或其他外设 DTE/DCE 通信。在现代,串行通信的主要用途是 DTE/DTE 通信(数据终端设备),例如通过使用 null-modem 线缆。null modem 线缆有多种类型,其中一些可能根本无法与 RouterBoard 配合使用。
无握手的 Null Modem
这种线缆完全不使用握手引脚:
| Side1 (DB9f) | Side2 (DB9f) | 功能 |
|---|---|---|
| 2 | 3 | Rx ← Tx |
| 3 | 2 | Tx → Rx |
| 5 | 5 | GND |
它允许在交叉连接的 Rx/Tx 线路上进行纯数据传输。使用这种线缆无法进行硬件流控。进行流控的唯一方式是使用 XOFF 和 XON 字符进行软件流控。
带回环握手的 Null Modem
无握手线缆的问题在于,当连接到启用了硬件流控的设备时,软件在检查调制解调器信号线时可能会挂起。
带回环握手的 Null modem 线缆解决了这个问题;它的主要目的是让定义良好的软件误以为有可用的握手:
| Side1 (DB9f) | Side2 (DB9f) | 功能 |
|---|---|---|
| 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 输出发送自己的就绪信号,通信会挂起。
带部分握手的 Null Modem
当启用流控同时又需要与最初 DTE/DCE 通信使用流控的方式保持兼容时,可以使用这种线缆。
不建议将此类型线缆与 RouterOS 配合使用。
| Side1 (DB9f) | Side2 (DB9f) | 功能 |
|---|---|---|
| 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 |
带完全握手的 Null Modem
与特殊软件配合使用,不应与 RouterOS 一起使用。
| Side1 (DB9f) | Side2 (DB9f) | 功能 |
|---|---|---|
| 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 |
Null Modem 兼容性
以下汇总表可帮助你为应用选择合适的线缆。
| 无握手 | 回环握手 | 部分握手 | 完全握手 | |
|---|---|---|---|---|
| 端口功能有限的 RouterBoard | Y | Y | N* | N |
| 功能完整的 RouterBoard | Y | Y | Y | N |
* - 可能仅在禁用硬件流控时才能工作
| 无握手 | 回环握手 | 部分握手 | 完全握手 | |
|---|---|---|---|---|
| 仅软件流控 | Y | Y* | Y** | Y** |
| 低速 DTE/DCE 兼容硬件流控 | N | Y | Y* | N |
| 高速 DTE/DCE 兼容硬件流控 | N | Y | Y** | N |
| 通过特殊软件进行高速通信 | N | N | Y* | Y |
* - 作为替代方案可用
** - 可用但不推荐
RJ45 类型串口
这种类型的端口用于 RouterBOARD 2011、3011、4011、CCR1072、CCR1036 r2、CCR2xxx 和 CRS 系列设备,有时称为 "Cisco style" 串口。
RJ45 转 DB9 线缆引脚定义

| 信号 | Console 端口 (DTE) RJ-45 | RJ-45 交叉线缆 RJ-45 引脚 | 适配器 DB-9 引脚 | 适配器 DB-25 引脚 | 信号 |
|---|---|---|---|---|---|
| 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 上附加一个额外的串行排针。
CCR 串行排针
Cloud Core Router 系列设备在 PCB 板上有一个串行排针,称为 J402 或 100
以下是该连接器的引脚定义:

Serial Terminal 用法
RouterOS 允许使用 /system/serial-terminal 命令与通过串口连接到路由器的设备和其他系统通信。所有键盘输入都会转发到串口,来自端口的所有数据都会输出到连接的设备。
首先,你必须有一个空闲的串口。如果设备只有一个串口(如所有 RouterBoard、WRAP/ALIX 板等),你必须禁用该串口上的系统控制台,才能把它用作 Serial Terminal 来连接其他设备(例如交换机、调制解调器):
/system/console/disable 0
请确保只是禁用控制台而不是移除它,因为如果你真的移除它,RouterOS 会在下次重启后重新创建控制台。
危险
在把设备连接到 RouterBoard 上的串口时需要注意的注意事项:
按前述方式重新配置 RouterBoard 上的 Serial0 端口后,你将失去对 RouterOS 的串行控制台访问。这意味着如果你无法通过网络访问 RouterBoard,可能需要重置整个配置才能重新获得访问。
重启 RouterBoard 时,引导加载程序 (RouterBOOT) 总是使用串行控制台(RouterBoard 上的 Serial0)发送一些启动消息,并提供对 RouterBOOT 菜单的访问。
串口向所连接设备输出文本可能会使你连接的设备感到困惑。此外,在标准配置中,你可以通过按任意键进入 RouterBOOT 菜单。因此,如果你的串行设备在启动期间向 RouterBoard 的串口发送任何字符,RouterBoard 会进入 RouterBOOT 菜单,并且不会启动 RouterOS,除非你手动干预!
你可以重新配置 RouterBOOT,使其仅在收到 <kbd>Delete</kbd> 字符时才进入 RouterBOOT 菜单——使用此设置可以减少重启时路由器卡住的可能性!
或者,对于较新版本,可以使用"静默启动"功能来抑制串行接口上的任何输出,包括移除启动声音。
接下来,你必须根据所连接设备的串口设置来配置你的串口。使用以下命令把你的串口设置为 19200 波特 8N1。你需要使用什么设置取决于你连接的设备:
/port/set serial0 baud-rate=19200 data-bits=8 parity=none stop-bits=1
你也可以尝试让 RouterOS 猜测所需的波特率,通过设置
/port/set serial0 baud-rate=auto
如果尚未连接设备,现在是连接的时候了。通常,你需要一根 null modem 线缆(与以太网交叉线相同)。现在你已准备好:
/system/serial-terminal serial0
这会让你访问连接到 Serial0 端口的设备。<kbd>Control</kbd>+<kbd>A</kbd> 是前缀键,意味着你会进入一个小型 "菜单"。如果你需要向远程设备发送 <kbd>Control</kbd>+<kbd>A</kbd> 字符,请按两次 <kbd>Control</kbd>+<kbd>A</kbd>。
如果你想退出与串行设备的连接,请按 <kbd>Control</kbd>+<kbd>A</kbd>,然后按 <kbd>Q</kbd>。这会让你回到 RouterOS 控制台。
危险
不要以错误的速度连接设备,并避免转储二进制数据。
Special Login(特殊登录)
Special login 可用于访问通过串行线缆连接的另一台设备(例如交换机),方式是打开一个 telnet/ssh 会话,直接把你带到该设备(无需先登录 RouterOS)。
本演示使用两台 RouterBoard 和一台 PC。

路由器 R1 和 R2 通过串行线缆连接,一台 PC 通过以太网连接到 R1。要从 PC 通过串行线缆访问路由器 R2,你必须在 R1 上设置一个串行接口代理。这通过一个称为 special-login 的功能完成。
信息
默认情况下 console 绑定到串口。 首先,通过禁用
/system/console菜单中的条目来解除 console 与串口的绑定:
[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] >
要退出 special login 模式,请按 <kbd>Control</kbd>+<kbd>A</kbd> 和 <kbd>Q</kbd>:
[admin@MikroTik] >
[Q - quit connection] [B - send break]
[A - send Ctrl-A prefix] [R - autoconfigure rate]
Connection to 10.1.101.146 closed.
危险
路由器重启后,如果连接着串行线缆,路由器可能会卡在 Bootloader 主菜单。 要解决此问题,你需要把进入 bootloader 主菜单的按键从任意键改为 <kbd>Delete</kbd>:
- 进入 bootloader 菜单。
- 选择
k进入 boot key 选项。 - 选择
2把按键改为 <kbd>Delete</kbd>。
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 choice: 2