1. 概述
TODO,基本啥都没有,封装了╮(╯▽╰)╭
2. 封装库
2.1 so库
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/lib/dll/devu-hcd-ohci.so
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/lib/dll/devu-hcd-xhci.so
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/lib/dll/devu-hcd-ehci.so
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/lib/dll/devu-hcd-uhci.so
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/lib/dll/devu-dcd-usbncm-qcom-dwc3.so
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/lib/libusbdi.a
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/lib/dll/devnp-usbdnet.so
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/lib/dll/deva-ctrl-usb.so
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/lib/dll/devh-usb.so
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/usr/lib/libcapture-usb-uvc.so
2.2 bin文件
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/sbin/io-usb-otg
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/sbin/io-usb-otg.sym
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/sbin/usb.sym
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/sbin/devc-serusb
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/sbin/devc-serusb_dcd
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/sbin/usb
qnx_ap/qnx_bins/prebuilt_QNX700/target/qnx7/aarch64le/sbin/devu-umass_client-block
2.3 配置文件
qnx_ap/qnx_bins/prebuilt_QNX700FIXME/target/qnx7/etc/usblauncher/
# ls /etc/usblauncher/
iap2.lua rules.mnt usb1.lua
iap2ncm.lua umass.lua usb2.lua
3. 进程/服务
io-usb-otg
这个就是USB的管理器,通过硬件控制器驱动程序(dll)管理USB总线和USB协议/工作模式。io-usb-otg管理器支持USB主机模式和USB设备模式(主从模式)。当io-usb-otg从一种模式切换到另一种模式时,它可以自动启动和停止适当的dll。
usblauncher_otg
这个是USB启动器服务,
# pidin a | grep usb
307255 io-usb-otg -t memory=/memory/ram/dma -dqcom-xhci ioport=0xa800000,irq=170,soc=8155,memory=/memory/ram/dma, -n /dev/usb2/io-usb-otg
356410 usblauncher_otg -S 2 -c /etc/usblauncher/usb2.lua -M /etc/usblauncher/rules.mnt -m /var/pps -n /dev/usb2/io-usb-otg -E -e -0
430143 io-hid -dusb
4. 调试
4.1 查看usb信息
# usb -vv
USB 0 (XHCI) v1.10, v1.01 DDK, v2.00 HCD, DLL: Active
Control, Interrupt, Bulk(SG), Isoch(Stream), High Speed, Super Speed, Super Speed Plus, DMA:32-bit
# use usb
usb - Display USB device configuration
Usage:
usb [options]*
Options:
-N name Name of the USB manager to query (e.g. "/dev/usb/io-usb-otg" )
-b busno Display devices on specific 'busno' only
-d devno Display device 'devno' only
-D Get descriptor data from device, instead of stored data.
(io-usb-otg by default stores standard descriptor information)
-t Alternative output format (tree-like)
-a Display descriptors of type 0x24 under the config descriptor
as audio descriptors
-v Increase level of verbosity
-V Display vendor-unique descriptors (at given verbosity level)
5. 扩展
TODO
5.1 USB EYE(眼图)
TODO
5.2 Cayplay
TODO
5.3 AOA(Android Auto)
TODO
5.4 USB MIC(卡拉OK)
TODO
5.6 USB CAM
TODO