https://bbs.sipeed.com/thread/844
MaixII的USB口是用来做device连接电脑跑adb的。
但是有没有方法可以在不跑adb的时候(总不能天天跑adb吧,再说adb也可以网络跑啊)连接一些USB设备玩玩呢。
以下是摸索过程:
一、探索USB device是怎么跑起来的:
在设备中看到这样一个文件:
/etc/init.d/S50usb
在其中看到一句:
cat /sys/devices/platform/soc/usbc0/otg_role
抱着好奇的心态在设备上跑了这句脚本,结果如下所示:
root@sipeed:~# cat /sys/devices/platform/soc/usbc0/otg_role
usb_device
二、瞎猫装到死耗子,成功切换为USB host
再好奇下看这个/sys/devices/platform/soc/usbc0 目录中都有啥,结果如下:
root@sipeed:~# ls /sys/devices/platform/soc/usbc0
driver hw_scan_debug of_node subsystem usb_device usb_null
driver_override modalias otg_role uevent usb_host
重点是里面的:usb_device usb_host usb_null
那直接把 usb_host echo到 /sys/devices/platform/soc/usbc0/otg_role 中看看啥效果:
echo "usb_host" > /sys/devices/platform/soc/usbc0/otg_role
root@sipeed:~# lsusb
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0001
哈,USB控制器出来了。
三、连接USB设备
想着设备内识别SD卡,那U盘应该也差不多。插个U盘试下。
root@sipeed:~# lsusb
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 002: ID 1f75:0902
Bus 002 Device 001: ID 1d6b:0001
多出来一个设备,在/dev目录下看了下果然多出来一个sda:
挂载U 盘试试:
root@sipeed:~# mkdir /mnt/usbdisk
root@sipeed:~# mount /dev/sda4 /mnt/usbdisk/
root@sipeed:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 256512 88352 162920 35% /
tmpfs 29864 12 29852 0% /tmp
none 29796 0 29796 0% /dev
/dev/mmcblk0p3 2013 1 2013 0% /mnt/cfg
/dev/mmcblk0p6 2939292 59664 2863244 2% /mnt/UDISK
/dev/sda4 7926272 405644 7520628 5% /mnt/usbdisk
挂载成功。
然后,试了下无线网卡、USB串口啥的,基本都没识别出来,估计是驱动没有编译进去吧。