一、临时方法
1、安装ser2net软件
ser2net工具安装完后,可执行文件放在:/usr/sbin/ser2net,配置文件放在/etc/ser2net.conf
#opkg update
#opkg install ser2net
2、修改 ser2net.conf 文件
终端不能显示全部的话,可以用winscp编辑 /etc/ser2net.conf 文件。
ser2net.conf 文件中把端口都注释掉,自己新增一条 1234 端口:(详细说明在永久方法里面)
1234:raw:0:/dev/ttyS2:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
3、运行以下命令配置完成
ser2net -c /etc/ser2net.conf
二、永久方法(修改源码、编译进固件)
1、将ser2net 软件包编译进固件
(1)make menuconfig 进入配置图形界面
(2)“/”查找 ser2net 软件包的位置
(3)如图:
(4)根据提示选中软件包:
Network --->
<*>ser2net
2、修改 ser2net.conf 文件
- 在openwrt源码根目录下建一个files文件夹(openwrt/files),再新建 openwrt/files/etc 文件夹。
- 到 /build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/ser2net-2.10.0 拷贝一份 ser2net.conf 文件到 openwrt/files/etc 文件夹。
- 给文件夹权限:chmod 777 files -R
ser2net.conf 文件中把端口都注释掉,自己新增一条 1234 端口:
#2001:raw:600:/dev/ttyS0:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
#2002:raw:600:/dev/ttyS1:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
#2003:raw:5:/dev/ttyS2:115200
#2004:raw:5:/dev/ttyS3:115200
#2005:raw:5:/dev/ttyS4:9600
#2006:raw:5:/dev/ttyS5:9600
#2007:raw:5:/dev/ttyS6:9600 tw=tw1 tr=tr1
#3001:telnet:0:/dev/ttyS0:19200 remctl banner1
#3011:telnet:3:/dev/ttyS0:19200 banner2
#3002:telnet:0:/dev/ttyS1:9600
#3003:telnet:0:/dev/ttyS2:9600 banner3
#3003:telnet:0:/dev/ttyS2:9600 signature1 rs485=rs485port1
#3004:telnet:0:/dev/ttyS3:115200
#3005:telnet:0:/dev/ttyS4:9600
#3006:telnet:0:/dev/ttyS5:9600 open1
#3007:telnet:0:/dev/ttyS6:9600 close1
#5001:rawlp:10:/dev/lp0
#3020:telnet:0:/dev/ttyUSB0:9600 banner1 remctl asdfasd
#3021:telnet:0:/dev/ttyUSB1:9600 banner2 open1 close1 remctl
#5000:telnet:0:/dev/ttyAPP0:9600 NONE 1STOPBIT 8DATABITS -XONXOFF LOCAL -RTSCTS led-tx=tx led-rx=rx
1234:raw:0:/dev/ttyS2:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
配置格式说明:
<TCP port>:<state>:<timeout>:<device>:<options>
TCP port:TCP/IP端口号,可以加IP信息如127.0.0.1 , 2000或者localhost,2000; 如果这里指定了IP,则只能绑定在这个固定的IP
state: 四种可选状态
*off: 禁止该端口的连接
*raw: 端口和串口设备之间双向通信
*rawlp: 端口向串口设备单向通信
*telnet: 使用telnet协议时用
timeout:超时,以秒为单位;当没有活动的连接时,可以设置这个时间关闭端口;常写0,关闭该功能,即不会超时
device: 指定映射本机的哪个串口(This must be in the form of /dev/<device>)
options: 设置串口的参数如:波特率(300,1200,2400,4800,9600,19200,38400,57600,115200)
校验(EVEN,ODD,NONE)
停止位(1STOPBIT,2STOPBITS)
数据位(7DATABITS,8DATABITS)
开启(关闭)XON\XOFF :XONXOFF(-XONXOFF)
开启(关闭)硬件控制流:RTSCTS(-RTSCTS)
3、设置 ser2net 开机自启动
- 新建 openwrt/files/etc/init.d 文件夹
- 在 openwrt/files/etc/init.d 文件夹内新建 ser2net_ttyS2_tcp 文件
- 给文件夹权限:chmod 777 init.d -R
- 输入以下内容:
#!/bin/sh /etc/rc.common #/etc/init.d/ser2net_ttyS2_tcp START=80 start() { /usr/sbin/ser2net -c /etc/ser2net.conf } stop(){ killall ser2net_ttyS2_tcp }
三、测试
用 TCP 调试工具连接开发板 IP,端口 1234。(这里使用的wan口有线网络)

TCP端:
串口端: