主题中讨论的其他器件:AM3352、 TPS65910、 TLV320AIC3106
工具/软件:Linux
您好、先生、
我正在尝试将 usb0调为 OTG。 我按照以下链接中给出的配置进行了操作、
我按照 OTG 端口的步骤并在 menuconfig 中将 USB 小工具支持配置为模块。 当我刷写内核时、我能够获得在 USB1上正确连接的器件的枚举。
现在我连接了 SanDisk USB 存储设备、但无法获得枚举、后来我尝试插入 g_mass 存储、但未添加。 我们在两种情况下尝试了上述练习、即保持外部开关为 VBUS 线路供电并移除开关、但结果相同。
这些是日志、
当有外部交换机时、在 OTG 端口配置下、我获得了如下所示的 dmesg 日志、
root@AM335x-EVM:~# dmesg | grep USB
[10.590850] AM335x-phy-driver 47401300.usb-phy:用于消费者复位的 GPIO 查找
[10.590888] AM335x-phy-driver 47401300.usb-phy:、使用器件树进行 GPIO 查找
[10.590911] of _get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401300[0]的'set-GPIO'属性
[10.590926] of_get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401300[0]的'resset-GPIO'属性
[10.590939] 使用查找表进行 GPIO 查找的 AM335x-phy-driver 47401300.usb-phy:
[10.590955] AM335x-phy-driver 47401300.usb-phy:查找 GPIO 复位失败
[10.590970] AM335x-phy-driver 47401300.usb-phy:用于消费类 VBUS 检测的 GPIO 查找
[10.590982] AM335x-phy-driver 47401300.usb-phy:、使用器件树进行 GPIO 查找
[10.590996] of _get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401300[0]的'VBUS-detect-GPIO'属性
[10.591009] of _get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401300[0]的'VBUS-detect-GPIO'属性
[10.591021] 使用查找表进行 GPIO 查找的 AM335x-phy-driver 47401300.usb-phy:
[10.591035] AM335x-phy-driver 47401300.usb-phy:查找 GPIO VBUS-Detect 失败
[10.591129] 使用虚拟稳压器未找到47401300.usb-phy 电源 VCC
[10.713483] AM335x-phy-driver 47401b00.usb-phy:用于消费者复位的 GPIO 查找
[10.713522] AM335x-phy-driver 47401b00.usb-phy:、使用器件树进行 GPIO 查找
[10.713543] of _get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401b00[0]的'set-GPIO'属性
[10.713558] of _get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401b00[0]的'resset-GPIO'属性
[10.713572] AM335x-phy-driver 47401b00.usb-phy:、使用查找表进行 GPIO 查找
[10.713587] AM335x-phy-driver 47401b00.usb-phy:查找 GPIO 复位失败
[10.713602] AM335x-phy-driver 47401b00.usb-phy:用于消费类 VBUS 检测的 GPIO 查找
[10.713614] AM335x-phy-driver 47401b00.usb-phy:、使用器件树进行 GPIO 查找
[10.713628] of_get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401b00[0]的'VBUS-detect-GPIO'属性
[10.713641] of_get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401b00[0]的'VBUS-detect-GPIO'属性
[10.713654] AM335x-phy-driver 47401b00.usb-phy:、使用查找表进行 GPIO 查找
[10.713667] AM335x-phy-driver 47401b00.usb-phy:查找 GPIO VBUS-Detect 失败
[10.713758] 47401b00.usb-phy 电源 VCC 未找到、使用虚拟稳压器
[19.470784] usbcore:注册的新接口驱动程序 usbfs
[19.476441] usbcore:注册的新接口驱动程序集线器
[19.610612] usbcore:注册的新设备驱动程序 USB
[19.845402] musb-hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)
[19.845437] musb-hdrc:MHDRC RTL 版本2.0
[19.845449] musb-hdrc:设置 fifo_mode 4.
[19.845475] musb-hdrc:28/31最大 EP、16384/16384内存
[19.845671] musb-hdrc musb-hdrc.0.auto: MUSB HDRC 主机驱动程序
[19.889467] musb-hdrc musb-hdrc.0.auto:新 USB 总线已注册、分配总线编号1
[20.018126] musb-hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)
[20.018159] musb-hdrc:MHDRC RTL 版本2.0
[20.018172] musb-hdrc:设置 fifo_mode 4.
[20.018194] musb-hdrc:28/31最大 EP、16384/16384存储器
[20.018356] MUSB HDRC musb-hdrc.1.auto:主机驱动程序
[20.081780] musb-hdrc musb-hdrc.1.auto:新 USB 总线已注册、分配的总线编号2
[21.319388] USB 2-1:使用 musb-hdrc 的新型高速 USB 器件编号2
[21.939934] CDC_ETHERE 2-1:1.10 usb0:register 'CDC_ETHER' at usb-musb-hdrc.1.auto-1、CDC Ethernet Device、DE:AD:be:ef:00:00
[22.010210] CDC_ETHERe 2-1:1.12 USB1:寄存器'CDC_ETH'、位于 usb-musb-hdrc.1.auto-1、CDC 以太网器件、DE:AD:BE:ef:00:01
[22.022924] usbcore:注册的新接口驱动程序 CDC_ACM
[22.072319] usbcore:注册的新接口驱动程序 CDC_ether
[22.500018] CDC_Ether 2-1:1.12 USB1:CDC:意外通知01!
[22.650006] CDC_Ether 2-1:1.10 usb0:CDC:意外通知01!
我尝试插入模块
root@AM335x-EVM:/lib/modules/4.4.41-gf9f6f0db2d/kernel/drivers/usb/gadget/legacy insmod g_mass_storage.ko
[2148.928847] g_mass 存储:未知符号 FSG_common_set_ops (错误0)
[2148.93573] g_mass 存储:未知符号 FSG_common_set_sysfs (错误0)
[2148.948474] g_mass 存储:未知符号 USB_GET_function_instance (错误0)
[2148.963262] g_mass 存储:未知符号 USB_STRING_IDS_TAB (错误0)
[2148.970099] g_mass 存储:未知符号 USB_GET_FUNCTION (错误0)
[2148.976474] g_mass 存储:未知符号 USB_compose_unregister (错误0)
[2148.989610] g_mass 存储:未知符号 USB_Put 函数(错误0)
[2148.996017] g_mass 存储:未知符号 FSG_common_create_LUNs (错误0)
[2149.016801] g_mass 存储:未知符号 USB_add_function (错误0)
[2149.023444] g_mass 存储:未知符号 USB_compose_probe (错误0)
[2149.035408] g_mass 存储:未知符号 USB_compose_overwrite_options (错误0)
[2149.05154] g_mall_storage:未知符号 USB_OTG_descriptor_alloc (错误0)
[2149.058642] g_mass 存储:未知符号 USB_PLOT_FUNC功能性 实例(错误0)
[2149.071545] g_mass 存储:未知符号 FSG_common_set_cdev (错误0)
[2149.078226] g_mass 存储:未知符号 FSG_common_free 缓冲区(错误0)
[2149.096238] g_mass 存储:未知符号 USB_OTG_descriptor_init (错误0)
[2149.103516] g_mass 存储:未知符号 FSG_common_remove_LUNs (错误0)
[2149.115645] g_mass 存储:未知符号 USB_add_config (错误0)
[2149.129000] g_mass 存储:未知符号 FSG_common_set_inquiration_string (错误0)
[2149.141198] g_mass 存储:未知符号 FSG_common_set_num_pum_buffers (错误0)
[2149.148467] g_mass 存储:未知符号 FSG_CONFIG_FROM _params (错误0)
insmod:错误:无法插入模块 g_mass 存储库:模块中的未知符号
IC 之后
在保持所有内容不变之后、我启用 CONFIG_CONFIGS_FS=y
root@AM335x-EVM:~# dmesg | grep USB
[10.861096] AM335x-phy-driver 47401300.usb-phy:用于消费者复位的 GPIO 查找
[10.861134] AM335x-phy-driver 47401300.usb-phy:、使用器件树进行 GPIO 查找
[10.861157] of_get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401300[0]的'set-GPIO'属性
[10.861172] of_get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401300[0]的'resset-GPIO'属性
[10.861186] AM335x-phy-driver 47401300.usb-phy:、使用查找表进行 GPIO 查找
[10.861201] AM335x-phy-driver 47401300.usb-phy:查找 GPIO 复位失败
[10.861217] AM335x-phy-driver 47401300.usb-phy:用于消费类 VBUS 检测的 GPIO 查找
[10.861229] AM335x-phy-driver 47401300.usb-phy:、使用器件树进行 GPIO 查找
[10.861242] of_get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401300[0]的'VBUS-DETIGNES-GPIO'属性
[10.861256] of_get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401300[0]的'VBUS-detect-GPIO'属性
[10.861269] 使用查找表进行 GPIO 查找的 AM335x-phy-driver 47401300.usb-phy:
[10.861282] AM335x-phy-driver 47401300.usb-phy:查找 GPIO VBUS-Detect 失败
[10.861373] 47401300.usb-phy supply VCC not found、using dummy regulator
[10.970913] AM335x-phy-driver 47401b00.usb-phy:用于消费者复位的 GPIO 查找
[10.970953] AM335x-phy-driver 47401b00.usb-phy:、使用器件树进行 GPIO 查找
[10.970976] of _get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401b00[0]的'set-GPIO'属性
[10.970991] of_get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401b00[0]的'resset-GPIO'属性
[10.971005] 使用查找表进行 GPIO 查找的 AM335x-phy-driver 47401b00.usb-phy:
[10.971020] AM335x-phy-driver 47401b00.usb-phy:查找 GPIO 复位失败
[10.971036] 用于消费类 VBUS 检测的 AM335x-phy-driver 47401b00.usb-phy: GPIO 查找
[10.971048] 使用器件树进行 GPIO 查找的 AM335x-phy-driver 47401b00.usb-phy:
[10.971062] of _get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401b00[0]的'VBUS-detect-GPIO'属性
[10.971075] of_get_named_gpio_FLAGS:无法解析节点'/ocp/usb@47400000/USB-phy@47401b00[0]的'VBUS-detect-GPIO'属性
[10.971088] AM335x-phy-driver 47401b00.usb-phy:、使用查找表进行 GPIO 查找
[10.971101] AM335x-phy-driver 47401b00.usb-phy:查找 GPIO VBUS-Detect 失败
[10.971193] 47401b00.usb-phy 电源 VCC 未找到、使用虚拟稳压器
[19.425348] usbcore:注册的新接口驱动程序 usbfs
[19.519552] usbcore:注册的新接口驱动程序集线器
[19.594777] usbcore:注册的新设备驱动程序 USB
[19.837285] musb-hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)
[19.837322] musb-hdrc:MHDRC RTL 版本2.0
[19.837334] musb-hdrc:设置 fifo_mode 4.
[19.837361] musb-hdrc:28/31最大 EP、16384/16384存储器
[19.837537] musb-hdrc musb-hdrc.0.auto: MUSB HDRC 主机驱动程序
[19.903329] musb-hdrc musb-hdrc.0.auto:新 USB 总线已注册、分配的总线编号1
[20.038320] musb-hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)
[20.038356] musb-hdrc:MHDRC RTL 版本2.0
[20.038368] musb-hdrc:设置 fifo_mode 4.
[20.038391] musb-hdrc:28/31最大 EP、16384/16384存储器
[20.038560] musb-hdrc musb-hdrc.1.auto: MUSB HDRC 主机驱动程序
[20.083313] musb-hdrc musb-hdrc.1.auto:新 USB 总线已注册、分配的总线编号2
[21.329189] USB 2-1:使用 musb-hdrc 的新型高速 USB 器件编号2
[21.980272] CDC_ETHERE 2-1:1.10 usb0:在 usb-musb-hdrc.1.auto-1上注册'CDC_ETHER'、CDC 以太网设备、DE:AD:be:ef:00:00
[22.064173] usbcore:注册的新接口驱动程序 CDC_ACM
[22.074433] CDC_ETHERE 2-1:1.12 USB1:寄存器'CDC_ETH'、位于 usb-musb-hdrc.1.auto-1、CDC 以太网器件、DE:AD:BE:ef:00:01
[22.160372] usbcore:注册的新接口驱动程序 CDC_ether
[22.583666] CDC_Ether 2-1:1.10 usb0:CDC:意外通知01!
[22.670777] CDC_Ether 2-1:1.12 USB1:CDC:意外通知01!
[22.683994] CDC_Ether 2-1:1.12 USB1:kevent 12可能已被丢弃
root@AM335x-EVM:~# lsmod
使用的模块 大小
CDC_Ether 4693 0
USBnet 27066 1 CDC_乙 醚
CDC_ACM 17895 0
MUSB DSP 8235 0
musb_hdrc 71550 1 musb_dsp
UDC_CORE 12063 1 musb_hdrc
usbcore 195911 4 musb_hdrc、usbnet、CDC_ACM、CDC_ether
TI_AM335x_ADC 5783 0
kfifo_buf 3291 1 ti_am335x_adc
Pm33xx 5577 0
wkup_m3_IPC 8278 1 pm33xx
wkup_m3_rproc 3669 1.
ECB 1909 0
TI_EMIF_SRAM 6242 1 pm33xx
OMAP-AES_DRIVER 19488 0
SHA256_generic 9503 0
HMAC 2735 0
MD5 1897 0
SHA1_generic 2621 0
SHA1_ARM_NEON 6261 0
SHA1_ARM 3862 1 SHA1_ARM_NEON
PRU_rproc 11796 0
pruss_INTC 7163 1 PRU_rproc
OMAP-SHIM 21513 0
pruss 10892 1 PRU_rproc
remoteproc 26901 4大圆、wkup_m3_rproc、pru_rproc、wkup_m3_ipc
Virtio 7742 1远程处理器
Virtio_ring 12163 1远程处理器
OMAP-Rng 4759 0
RNG_CORE 7794 1 OMAP-Rng
SND_SoC_tlv320aic3x 48260 0
TI_AM335x_TSC 6029 0
RTC_OMAP 8272 1.
MUSB AM335x 1426 0
TI_AM335x_tscadc 6290 2 ti_AM335x_adc、ti_AM335x_tSC
OMAP-WDT 4634 0
在此之后、我将 USB 小工具支持从模块更改为内置、然后我尝试插入 g_mass 存储模块
我得到了这个,
root@AM335x-EVM:/lib/modules/4.4.41-gf9f6f0db2d/kernel/drivers/usb/gadget/legacy insmod g_mass_storage.ko
[1339.606707]大容量存储功能,版本:2009/09/11
[1339.628311] LUN:可移动文件:(无介质)
[1339.644873]未为 LUN0提供文件
[1339.648494] g_mass 存储 musb-hdrc.0.auto:无法启动 g_mass 存储:-22
insmod:错误:无法插入模块 g_mass 存储库:无效参数
现在、我的任务是至少枚举连接到 usb0的器件。
