openWRT 串口設置, 串口及TCP端口 ser2net 透傳設置

硬件: MT7688, USART1 串口 (/dev/ttyS1)shell

軟件: openWRT Ver 15, Linux 3.18.29tcp


串口配置及其開機服務工具

1. 查看串口設備測試

#ls -l /dev/tty*
查詢結果示例

crw-r--r--    1 root     root        5,   0 Jan  1  1970 /dev/tty
crw-r--r--    1 root     root        4,  64 Jan  1  1970 /dev/ttyS0
crw-r--r--    1 root     root        4,  65 Jan  1  1970 /dev/ttyS1
crw-r--r--    1 root     root        4,  66 Jul 31 06:58 /dev/ttyS2

說明: this

    a. /dev/tty就是登陸的shell終端,設備號是(5,0);spa

    b. /dev/ttyS0,/dev/ttyS1,/dev/ttyS2 就是設備全部的三個串口;code

2. 軟件安裝rem

#opkg update
#opkg install coreutils-stty

    安裝完後,可執行文件放在:/usr/bin/stty;it

3. 設置串口參數,以及串口數據收發測試;class

顯示串口當前參數
    #stty -F /dev/ttyS1
    #stty -a -F /dev/ttyS1
串口參數配置
    #stty -F /dev/ttyS1 raw speed 115200
串口2 發送數據
    #echo "hello" > /dev/ttyS1
串口2 接收數據
    #cat /dev/ttyS1

注:但上述設置在開機後會丟失,故把相關設置放入啓動服務中.

4. 參數開機啓動服務化

4.1 新建或編輯文件:
    #vi /etc/init.d/usart1

4.2 文件內容:
#!/bin/sh /etc/rc.common
#/etc/init.d/usart1
START=80
start() {
    /usr/bin/stty -F /dev/ttyS1 raw speed 115200
}

stop(){
    killall usart1
}

4.3 修改文件屬性:
    #chmod 777 /etc/init.d/usart1

4.4 啓用開機啓動服務
    #/etc/init.d/usart1 enable

4.5 關閉服務
    #/etc/init.d/usart1 disable

5. 重啓進行測試

#reboot

串口TCP透傳及其開機服務

1. 軟件安裝

#opkg update
#opkg install ser2net

  ser2net工具安裝完後,可執行文件放在:/usr/sbin/ser2net,配置文件放在/etc/ser2net.conf 

2. 配置修改

    目的: 實現2003TCP端口與串口1,ttyS1互通; 保留2003端口,波特率修改成115200。
            ser2net.conf 文件中有不少咱們用不到的端口配置,都註釋掉.

#....
# Don't do this by default
#CONTROLPORT:2000
#2001:raw:600:/dev/ttyS0:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
#2002:raw:600:/dev/ttyS1:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
2003:raw:0:/dev/ttyS1:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
#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

3. 配置生效命令;

#ser2net -c /etc/ser2net.conf

注:但上述配置有效性在開機後會丟失,故把相關設置放入啓動服務中.

4. 參數開機啓動服務化

4.1. 新建或編輯文件:
    #vi /etc/init.d/ser2net_ttyS1_tcp2003

4.2 文件內容

#!/bin/sh /etc/rc.common
#/etc/init.d/ser2net_ttyS1_tcp2003
START=80
start() {
    /usr/sbin/ser2net -c /etc/ser2net.conf
}

stop(){
    killall ser2net_ttyS1_tcp2003
}

4.3 修改文件屬性:
    #chmod 777 /etc/init.d/ser2net_ttyS1_tcp2003

4.4 啓用開機啓動服務
    #/etc/init.d/ser2net_ttyS1_tcp2003 enable

4.5 關閉服務
    #/etc/init.d/ser2net_ttyS1_tcp2003 disable

5. 重啓進行測試

#reboot