【S100闪连】RDK S100/S100P闪连方法:一根Type-C解决开发需求

声明:启用S100闪连功能将禁用adb,若有该需求请勿配置S100闪连

声明:启用S100闪连功能将禁用adb,若有该需求请勿配置S100闪连

声明:启用S100闪连功能将禁用adb,若有该需求请勿配置S100闪连


在RDK S100/S100P平台中,有以下几种开发方式以及优劣:

  • 接屏幕键鼠使用S100图形化界面开发:连接非常麻烦,且实际部署后肯定不能以该方式调试
  • 使用网口共线局部IP后SSH开发:需要一根网线连接PC和板卡
  • 串口登陆开发:没法互传文件,不能多开终端
  • 连接无线WIFI后SSH开发:需要安装网卡

在S100平台中,有没有一种方式,不用网线,不接屏幕键鼠,不装网卡,拿到板卡后立刻就能进行快速丝滑地开发?

  • 有,用闪连,一根TypeC同时享受CPU串口+MCU串口+闪连

在RDK X5中,闪连接口单独作为一路TypeC接口引出,实际上是一路模拟网口的USB接口,拥有了虚拟的IP,将PC机对应端口的IP改为同一局部网后可以使用SSH登录进去。

而在S100中,CPU的调试串口和MCU的调试串口分别过TTL串口USB芯片之后,共同接入了同一个USB2.0hub下,我们可以通过在S100中为这一路USB配置虚拟网口功能,并添加到开机自启动,来实现S100的闪连,但这会牺牲adb功能


接下来不说明原理了,直接从刚拿到板卡的一刻开始说明如何配置闪连


检查阶段

  1. 新板卡都自带系统,如果有板卡系统要求请先按照手册说明,正确烧录系统后继续,如果没有则往下;

  2. 检查开关拨码是否都位于正常启动位置,如下图:


  3. 插电启动,等待约30s,观察板卡指示灯,如果POWER灯常量,SYSTEM灯闪烁说明启动成功;


串口连接

配置闪连需要临时登陆板卡,这里使用CPU调试串口,同为Type-C接口,和闪连共用同一物理端口。

  1. 首先保证PC机安装了CH34x串口驱动,可以通过本链接安装;

  2. 使用具有数据传输功能的Type-C数据线,连接S100板卡上唯一一个Type-C接口至PC机USB;

  3. 打开串口工具(这边建议使用MobaXterm),添加Session,选择Serial,选择CPU调试串口对应的端口(正常来说小号是CPU串口,大号是MCU串口),波特率为921600,确定;


  4. 在打开的窗口中输入登陆账号密码(默认都是root或者sunrise,建议root),如下图:


此时已通过串口登陆到S100的CPU中了


安装闪连

  1. 在串口终端中键入touch quicklink_installer.sh,创建一个闪连安装脚本;

  2. 键入vim touch quicklink_installer.sh编辑该脚本,按下键盘A进入INSERT模式


3.复制以下代码,默认闪连IP为192.168.1.110,如有其他IP需求请先修改再重新复制:

#!/bin/bash

touch ./quick_link_start.sh

cat >> ./quick_link_start.sh << EOF
#!/bin/bash

### BEGIN INIT INFO
# Provides:          quick_link_start_service
# Required-Start:    $all
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start quick link at boot time
### END INIT INFO

usb-gadget.sh stop adb
usb-gadget.sh start rndis
ifconfig usb0 192.168.1.110

exit 0
EOF

sudo rm -f "/etc/init.d/quick_link_start.sh"

sudo mv ./quick_link_start.sh /etc/init.d/quick_link_start.sh

sudo chmod +x /etc/init.d/quick_link_start.sh

sudo update-rc.d quick_link_start.sh defaults

sudo systemctl enable quick_link_start.sh

4.右键终端,选择OK,粘贴内容:


5.按下Esc键,输入:wq保存,回车确定;

6.键入sudo bash ./quicklink_installer.sh以运行安装脚本,正常都会安装成功,重启板卡后闪连将会生效;

7.(可选)键入rm quicklink_installer.sh删除安装脚本;

8.(可选)重启后,键入ifconfig可以看到usb0产生了虚拟的ip:



使用闪连(以win11为例)

  1. 保持刚才的接线,不需要做任何改动,打开PC机设置,进入以太网设置:


  2. 以太网中应该会出现一个无法访问Internet的端口


  3. 修改这个端口的IP,设置为手动IP,打开IPv4,将IP改到与闪连接口同一局部网下(但不能相同),子网掩码改为255.255.255.0,点击保存



  4. 然后在PC机的终端中测试是否ping通:


接下来可以使用你的ssh工具通过闪连登陆板卡了


基于闪连使用VSCode开发RDK S100

接下来介绍如何使用VSCode闪连开发RDK S100.


  1. 保证S100正常开机,且通过TypeC与PC连接;

  2. 打开VSCode,安装Remote-SSH插件


  3. 打开远程资源管理器,选择隧道/SSH,点击添加SSH连接


  4. 输入ssh连接命令,此处展示如何使用默认闪连IP登陆root用户,然后回车


  5. 选择第一个配置文件


  6. 右下角出现该提示表示添加成功


  7. 然后点击连接并输入密码(root用户密码为root,sunrise用户密码为sunrise)


  8. 左下角看到类似以下标识表示连接成功


  9. 可以通过打开文件夹来操作工作区文件,支持拖拽上传/下载文件,也可以使用VSCode创建远程终端




END

如有遗漏或不足欢迎补充

2 个赞