05 OrangePi通过usb线实现与pc端的网络通信

minicom 是pc上操作uart设备的一个软件工具.
minicom会捕捉用户的键盘输入,并把输入的内容通过uart接口发出去。但不显示发出的内容.
minicom只显示通过uart接口接收到的内容.

为什么接板子后,按键盘会有相应的显示?
1). 板上的uart通过usb线接到pc上. 板子可以通过uart口接收到pc端的uart口发出内容(pc端也可接收到板上发的内容).

2). 板上的uboot对uart数据的处理.  uboot会接收uart数据,并会把接收到的内容转发回去(回显).

3). 板上uboot通过uart接收命令, 并把执行命令的结果通过uart口发出去.

///
linux内核的作用: 统一管理软硬件的资源. 而且也统一硬件设备的驱动的接口及应用程序调用的的接口.

//

板子没有有线网卡, 但有提供otg接口, 可以让我们的板子作个虚拟网卡通过usb线接到pc, 在pc上就会多产生一个网络设备。然后pc就可以通过产生的网络设备与板子通信了, 板子也可以通过网络挂载pc上的共享目录.

  1). 配置内核,让内核支持此功能.
      在原内核配置上,多配的内容:
      在内核源码根目录下:
      make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

      File systems  --->
        [*] Network File Systems  --->
         [*]     NFS client support for NFS version 3
         [*]     NFS client support for NFS version 4
      Device Drivers  --->
     [*] USB support  --->
         <*>   USB Gadget Support  --->
           <M>   USB Gadget Drivers     //修改成'M',原来是'*'
             <M>     Ethernet Gadget (with CDC Ethernet support) 

      修改好后,退出保存。再编译内核(注意不用"make clean")
      make uImage ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

      再编译驱动模块(也就是选'M'项)
      make modules ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

  2). 更新内核镜像及文件系统
      把板上的SD卡用读卡器接PC上后, 正常情况下会自动把分区挂载到一个目录(如没有则手动挂载)
      我的挂载状况:
    /dev/sdb1 on /run/media/root/104A-F304
    /dev/sdb2 on /run/media/root/linux

      cp arch/arm/boot/uImage  /run/media/root/104A-F304           //更新内核镜像
      make modules_install ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/run/media/root/linux/    //把编译生成的模块驱动.ko文件放到文件系统的分区里

      make modules_install ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/disk3/h3fs/     //也给PC上的板子文件系统更新,以防SD卡系统挂掉后可以恢复

      以上操作完成后, 反挂载后把SD卡接回板子上启动系统.

  3).
      板子系统启动进入文件系统后, 我们要用的驱动文件就是"/lib/modules/3.4.112/kernel/drivers/usb/gadget/g_ether.ko"
      板子端的操作: 
         modprobe g_ether     //加载刚才的ko驱动文件
     echo 2 > /sys/devices/platform/sunxi_usb_udc/otg_role  //让板子的otg接口作设备用.

         //上两步操作完成后, 板子端会多usb0网络设备
         接入usb线后,pc端也会多一个网络设备(名字不确定的,我的是enp0s29f7u1)

      最后把两端的网络设备设好IP,即可网络通信:
      ifconfig usb0 192.168.11.10   //设置板子端的IP
      ifconfig enp0s29f7u1 192.168.11.20   //设置PC端的IP

      设好即可ping通,也就可以在板子上挂载pc的nfs共享目录.如我pc上nfs共享目录"/disk3/share",则在板子上:
    mount 192.168.11.20:/disk3/share /mnt -o nolock
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值