AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 535906
Accepted
F1Linux
F1Linux
Asked: 2019-08-17 08:44:08 +0800 CST2019-08-17 08:44:08 +0800 CST 2019-08-17 08:44:08 +0800 CST

使用“screen”命令直接串行连接到路由器

  • 772

问题:

我正在尝试通过串行端口与路由器(在本例中为 MikroTik)建立直接串行连接。我尝试了在谷歌搜索的众多链接中找到的格式:

sudo screen /dev/serialDevice baudRate

但是,这种形式的命令永远不会成功。

当这些帖子指示进入登录提示时,我在命令后多次点击“返回”,但无论我按多少次“Enter”,都不会显示登录提示。

serial-port serial-console
  • 1 1 个回答
  • 2274 Views

1 个回答

  • Voted
  1. Best Answer
    F1Linux
    2019-08-17T08:44:08+08:002019-08-17T08:44:08+08:00

    简短的回答:

    我使用的命令形式screen是:

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

    对于我的 MikroTik RB4011 路由器,我的成功screen命令如下所示:

    sudo screen /dev/ttyUSB0 115200 cs8 ixoff
    

    cs8路由器的比特率和ixoff“无流量控制”在哪里。路由器的串行连接详细信息(包括 115200 波特率)来自制造商用户指南 PDF。

    Linux 中串行电缆的设备名称源自udevadm monitor我将电缆插入 Linux 主机时的输出。

    长答案:

    虽然这个例子使用了 MikroTik 路由器,但它应该可以适应其他提供串行端口访问的网络设备,只需稍作修改。

    示例中使用的串行控制台电缆可在亚马逊上找到,经证明可与 Linux 和 MikroTik 一起使用,无需任何特殊驱动程序。

    第一步:获取设备的串口参数。

    仅在您的笔记本电脑和路由器之间连接一条串行电缆是不够的:您的笔记本电脑需要使用与其相同的设置与路由器通信。

    在串行设备随附的用户指南中,制造商将发布串行连接参数。MikroTik 告诉我,对于此示例中的 RB4011:

    "RJ45控制台端口,用于串行控制台访问,默认设置为115200 bit/s,8个数据位,1个停止位,无奇偶校验"

    此信息将提供给第 3 步screen中的命令。

    第 2 步:在 Linux 中找到串行电缆的逻辑端

    使用串行电缆在路由器和笔记本电脑之间建立物理连接后,我们必须找到电缆的逻辑screen端,因为 Linux 认为它作为目标提供给命令。

    在将串行电缆插入 Linux 主机的 USB 端口之前执行以下命令:

    udevadm monitor
    

    实时反馈(为便于阅读而在下方截断)将滚动到您的屏幕上:

    KERNEL[19223.032240] add      /devices/(SNIP)/1-1.3 (usb)
    KERNEL[19223.037774] add      /devices/(SNIP)/1-1.3:1.0 (usb)
    KERNEL[19223.037937] add      /devices/(SNIP)1-1.3:1.0/ttyUSB0 (usb-serial)
    KERNEL[19223.041748] add      /devices/(SNIP)/1-1.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)
    UDEV  [19223.063696] add      /devices/(SNIP)/1-1.3 (usb)
    UDEV  [19223.072384] add      /devices/(SNIP)/1-1.3:1.0 (usb)
    UDEV  [19223.078189] add      /devices/(SNIP)/1-1.3:1.0/ttyUSB0 (usb-serial)
    UDEV  [19223.101385] add      /devices/(SNIP/1-1.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)
    

    退出命令ctrl c

    Linux 将我们的串行电缆视为:“ ttyUSB0 ”。我们将其作为第 3 步screen中的目标提供。

    第三步:执行screen命令

    现在我们已经确定了我们的串行设备旅馆步骤 1的连接参数并在步骤 2中识别了串行电缆的逻辑设备,我们拥有了形成和执行screen命令以(最终)连接到路由器。

    命令的形式为:

    sudo screen /dev/(来自 udevadm 的设备名称)(baudRate)(TransmissionRate)(flowControl)

    使用制造商的串行连接设置,我们将“8 位”指定为cs8,因为 MikroTik 不使用流控制,我们将其设置为ixoff. 我们的命令现在如下所示:

    sudo screen /dev/ttyUSB0 115200 cs8 ixoff
    

    请注意,上述命令已知可与 MikroTik RB4011 一起使用,但您可能需要针对您的特定设备对其进行调整。man screen查看我示例中的替代设置。

    代替 using screen,您可以使用minicom -s,但我觉得screen更直接,因为您可以只附加连接参数而无需通过单独的设置菜单。

    • 2

相关问题

  • 在没有 kermit 和 lrzsz 的情况下通过串行检索文件

  • 如何防止为 cdc_acm 打开 DTR?

  • 在没有打开会话的情况下在后台运行 picocom

  • QEMU 4个以上的串口

  • 设置似乎没有 I/O 端口的 PCIe 串行卡

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve