MaixII 通過USB口連線U盤和WiFi網絡卡
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串列埠啥的,基本都沒識別出來,估計是驅動沒有編譯進去吧。