1. 程式人生 > 其它 >MaixII 通過USB口連線U盤和WiFi網絡卡

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串列埠啥的,基本都沒識別出來,估計是驅動沒有編譯進去吧。