Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    通过USB共享使D1s上的tina联网(RNDIS Gadget)

    D1系列-RISC-V
    1
    2
    388
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • SdtEE
      SdtEE LV 3 last edited by

      之前设计这块D1s的PCB的时候,出于复杂度的考虑,板子上没有预留WiFi 模块的焊盘,当然更没有做GMAC。那么当初我就没有打算让这块板子联网吗?当然不是。除了WiFi和插网线以外,支持USB peripheral的设备还有一种简单的联网方式,也就是配置设备为RNDIS Gadget。通过这种方式,只需一根USB线,就可以达到供电、联网、调试(ssh)、文件传输(smb/nfs/scp)的目的,并且配置操作也不复杂。下面就简介一下如何配置D1s为RNDIS Gadget。
      ItwmlV.png

      1 Reply Last reply Reply Quote Share 1
      • SdtEE
        SdtEE LV 3 last edited by

        首先是配置内核以支持RNDIS Gadget。首先用晕哥的这贴 简单修改 哪吒d1 tina sdk 的 sys_config.fex 和 board.dts,让D1s先把Linux跑起来 来使D1的tina SDK支持D1s。然后参考这篇文档,make kernel_menuconfig之后勾选USB Gadget Support下的RNDIS一项。之后make和pack产生新的镜像并烧写到卡。现在这个镜像上的内核已经支持RNDIS Gadget了。
        然后参考我以前写的一贴 全志平台上通过configfs(libcomposite)配置RNDIS Gadget(u_ether)及Windows下的驱动 来在configFS中启用RNDIS。在D1s上这个教程有一些地方需要灵活处理一下,首先是/sys/kernel/config/usb_gadget下已经有设备g1了,不用新建,然后g1/configs/下也有了一个配置,我这里是c.1,所以也不用新建。之后创建软链接也是链接到configs/c.1/下。
        之后是配置网络。上面链接的教程提供了通过修改/etc/network/interfaces来配置的方法,如果生成D1s镜像时把根分区设置成了squashFS,/etc/就变成了只读的,没法更改。另一种方式是直接通过命令配置:

        ifconfig usb0 up
        ifconfig usb0 192.168.137.2 netmask 255.255.255.0
        route add default gw 192.168.137.1
        

        这时电脑应该能识别出一个没有Internet访问的网络。把电脑的那个网络的IP设置为192.168.137.1就可以和板子实现局域网互联了。
        通过将电脑的互联网共享给板子,还可以使板子联通外网。这个操作在各个系统下不一样,Windows下的操作很容易查到,这里就不赘述了。

        1 Reply Last reply Reply Quote Share 0
        • 1 / 1
        • First post
          Last post

        Copyright © 2022 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

        行为准则 | 用户协议 | 隐私权政策