openWRT USB转串口调试记录

openWRT USB转串口调试记录

1 背景介绍

串口是用来调试开发板的接口,它是开发者与开发板之间的桥梁,通过串口可以输出开发板的启动日志或者输入命令来执行想要的操作。但是,目前大多数设备有USB接口,却不一定有串口。通过USB转串口,可以对外提供调试接口。

2 实验环境

  • 使用的是Banana Pi BPI-R64开发板,上面的主控芯片是联发科的MT7622,其上有一个USB接口。使用的是openwrt开源系统。
  • USB转串口线所使用的芯片是PL2303。
  • 一台台式机,其后有9针的串口。

在这里插入图片描述

3 软件改动

  • 在openwrt menuconfig中增加USB转串口线驱动的支持,目前市面上USB转串口线常用的芯片是PL2303,CH341等。

在这里插入图片描述

  • 更改源码文件openwrt/target/linux/mediatek/base-files/etc/inittab,以将console输出重定向到USB口。

    root@sw101:~/myProject/openwrt$ cat target/linux/mediatek/base-files/etc/inittab
    ::sysinit:/etc/init.d/rcS S boot
    ::shutdown:/etc/init.d/rcS K shutdown
    ::askconsole:/usr/libexec/login.sh
    ttyS0::respawn:/sbin/getty -L ttyUSB0 115200 vt100 //新增内容,将console输出重定向到ttyUSB0
    

    Note:getty命令默认是不支持的,需要更改menuconfig中的配置。

    有些帖子写直接修改/etc/inittab文件,经实测发现reboot后改动消失,而改源码的方式在reboot后仍然有效。

  • 启动系统,将USB转串口线插入开发板的USB口,console会有log输出:

    [   31.910000] usb 1-1: reset full-speed USB device number 2 using xhci-mtk
    [   32.100000] usb 1-1: pl2303 converter now attached to ttyUSB0
    

    查看系统/dev目录,会新增一个ttyUSB0设备,至此,USB转串口驱动加载成功。

  • 通过stty命令设置串口参数

    Note:stty命令默认是不支持的,需要更改menuconfig中的配置。

    stty使用教程参考链接:stty详解

    "stty -F /dev/ttyUSB0 -a"命令用来查看串口参数:

    root@OpenWrt:/# stty -F /dev/ttyUSB0 -a
    speed 115200 baud;stty: /dev/ttyUSB0
     line = 0;
    intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
    eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
    werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
    -parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon
    -ixoff -iuclc -ixany -imaxbel -iutf8
    opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop
    -echoprt -echoctl -echoke -flusho -extproc
    

    由于前面修改inittab文件时,新增内容“ttyS0::respawn:/sbin/getty -L ttyUSB0 115200 vt100”中指定了波特率为115200,若"stty -F /dev/ttyUSB0 -a"命令输出波特率不是115200,需通过命令“stty -F /dev/ttyUSB0 ispeed 115200 ospeed 115200 speed 115200” 设置波特率。

  • 通过MobaXterm软件连接串口

    此时要小心,上面"stty -F /dev/ttyUSB0 -a"命令输出中有一个“-inpck“,表示没有奇偶校验,所以Parity那一项选None。
    在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenWRT USB打印服务器插件是一个为OpenWRT路由器提供的打印功能扩展插件。通过使用此插件,用户可以将路由器上的USB接口扩展为一个打印服务器,从而能够通过网络将打印任务发送到路由器并完成打印。 该插件的使用非常简便。首先,用户需要安装并启动OpenWRT USB打印服务器插件。接着,将打印机通过USB接口连接到路由器上。一旦打印机连接成功,用户只需登录路由器管理页面,在设置中找到并启用打印服务器功能。 启用打印服务器后,用户可以在网络中的任何设备上将打印任务发送到路由器,无需连接到实际的打印机。用户只需选择“打印”选项,并选择路由器上所配置的打印机。路由器将接收到的打印任务传递给打印机,并完成打印。 OpenWRT USB打印服务器插件不仅提供了方便的打印功能,还具有一些额外的优势。首先,用户可以通过网络共享打印机,并允许多个设备同时使用同一台打印机。其次,由于打印机直接连接到路由器,用户无需将电脑或其他设备保持开启状态即可进行打印。此外,该插件还支持自动打印队列管理,确保打印任务按照先后顺序进行处理。 总之,OpenWRT USB打印服务器插件为OpenWRT路由器提供了强大的打印功能扩展。通过将USB接口配置为打印服务器,用户可以在局域网中方便地共享和管理打印机,并实现无线打印功能。这大大提升了打印效率和便利性,是个实用的插件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值