工具与软件:
大家好、团队成员:
我正在将适用于 AM335x 的 SDK 从 v7.3更新为 v9.3。
我们已通过ttyUSB*内核 v5.4上的 USB 接口()配置并使用 LTE。 作为内核 v6.1更新的一部分、中的 USB 驱动程序及其节点似乎am33xx.dtsi已更改。
您能建议对我们现有的补丁进行哪些修改来启用内核 v6.1中的 USB 支持吗?
此致、
Pratik Pingate
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
大家好、团队成员:
我正在将适用于 AM335x 的 SDK 从 v7.3更新为 v9.3。
我们已通过ttyUSB*内核 v5.4上的 USB 接口()配置并使用 LTE。 作为内核 v6.1更新的一部分、中的 USB 驱动程序及其节点似乎am33xx.dtsi已更改。
您能建议对我们现有的补丁进行哪些修改来启用内核 v6.1中的 USB 支持吗?
此致、
Pratik Pingate
刘斌、您好!
我更改了基于旧版 SDK v7.3的 dtb 和驱动程序、但启动电路板后无法看到/dev/ttyUSB 节点。
请参阅随附的 dtb 文件更改(快照)、该文件用于在 SDK v7.3中通过 USB 配置 LTE。 我在 SDK v9.3中进行了类似的更改、但无法看到/dev/ttyUSB 节点。 我还 在.config 文件中启用了 USB。
CONFIG_USB=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_QUALCOMM=y
此致、
Pratik。 
[21.074556] QCA7000探测开始
[21.077786] qcaspi spi1.0:ver=0.2.7-i、clkspeed=8000000、burst_len=5000、可插拔=0
[ 21.203258] QCA7000 mode=3、clkspeed=8000000、IRQ=54、Mac=00:01:87:08:21:54
[ 21.210309] QCA7000读取签名值
[ 21.289514] brcmfmac mmc2:0001:1:BRCM/brcmfmac43455-SDIO.ti、am335x-bone-black.bin 的直接固件加载失败、错误为-2
[21.326343] QCA7000读取签名成功
[ 21.330772]注册 QCA7000设备
[ 21.403280] brcmfmac mmc2:0001:1:BRCM/BRCM/ brcmfmac43455-sdio.bin 的直接固件加载失败、出现错误-2[/报价]日志似乎显示 LTE 设备驱动程序初始化失败。
是的、LTE 在 SDK v7.3中完全可以正常工作
从 SDK v7.3附加 lsusb 命令输出
ROOT@ST6E98FB438EE:~# lsusb
总线001设备002:ID 2c7c:0306上海移远通信技术股份有限公司 EG06/EP06/EM06 LTE-A 调制解调器
总线001设备001:ID 1d6b:0002 Linux Foundation 2.0 root hub
ROOT@ST6E98FB438EE:~#
root@ST6E98FB438EE:~# lsusb
总线001设备002:ID 2c7c:0306上海移远通信技术股份有限公司 EG06/EP06/EM06 LTE-A 调制解调器[/报价]我在内核日志中看不到 LTE 调制解调器枚举消息、但此消息表明调制解调器已由内核 USB 堆栈枚举。
但如果您在文件系统中看不到/dev/ttyUSB *、则似乎缺少了与调制解调器相关的其他内容、但我不知道它是什么、它超出了我们的支持范围。
Pratik、您好!
通常、以下是在/dev/directory 中创建设备节点的方法、其中以 LTE 调制解调器为例:
1.内核 USB 控制器/内核驱动程序堆栈检测到调制解调器并对其进行枚举、结果显示在"lsusb"命令的输出中;
2.内核调制解调器(或任何其他内核应用/功能层)驱动程序初始化调制解调器,然后将 udev 事件发送到 Linux 用户空间;
3. Linux 用户空间 udev 服务侦听 udev 事件、然后在/dev/下 创建相应的设备节点。
我们现在已经知道第1步已正确完成、但第2步或第3步中似乎缺少某些内容、但这超出了我们的支持范围、该调制解调器不是 TI 器件。
刘斌、您好!
内核 USB 控制器/内核驱动程序堆栈检测到调制解调器并对其进行枚举、结果显示在"lsusb"命令的输出中;
我认为内核 USB 控制器/内核驱动程序没有检测到调制解调器、因为 lsusb 命令没有显示任何连接到它的调制解调器。 请参阅突出显示的注释。
根@AM335x-EVM:~# lsusb
总线002设备001:ID 1d6b:0002 Linux Foundation 2.0根集线器
总线001设备001:ID 1d6b:0002 Linux Foundation 2.0 root hub
根@AM335x-EVM:~#
LTE 设备连接在 USB0端口上。
LTE 器件模块永久安装在电路板上。
Pratik、您好!
对不起、我的错了、
[报价 userid="7730" url="~/support/processors-group/processors/f/processors-forum/1458355/am3352-usb-support-for-kernel-6-1-am335x-sdk-v9-3/5597358 #5597358"]ROOT@ST6E98FB438EE:~# lsusb
总线001设备002:ID 2c7c:0306上海移远通信技术股份有限公司 EG06/EP06/EM06 LTE-A 调制解调器
我在内核日志中看不到 LTE 调制解调器枚举消息、但此消息表明调制解调器已由内核 USB 堆栈枚举。
[报价]不知为什么、我忘记了这个"lsusb"消息适用于 SDK7.3中的工作案例、并且认为这位于 SDK9.3中。
在 Linux 引导期间、请使用示波器探测 USB0_DRVVBUS、USB0_VBUS、USB0_DP/DM 线路。 在 Linux 引导中的某个点(加载 MUSB 驱动程序时)、USB0_DRVVBUS 应从低电平变为高电平并保持高电平。 我想查看 USB0_DRVVBUS 从低电平到高电平以来的 USB0信号波形。