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.
您好!
TI-SDK 版本:TI-PROCESSOR-SDK-LINUX-AM335x-EVM-06.03.00.106
U-Boot 版本:U-Boot 2019.01-gc148924
USB 器件:
带 SATA 至 USB 接口的+ 2.5英寸外部 SATA 驱动器(JM20329、MA6116A)
在 U-Boot shell 中、当我将上述器件连接到 BeagleBone Black 上的 USB 端口时、未检测到这些器件。
USB 存储设备 viz. Western Digital Portable Drive (My Passport)已被同一 BeagleBone Black 正确检测到。
对于未检测到的 USB 设备、我只收到一条"Port Not Available (端口不可用)"消息。
是否需要此行为?? 如何克服这一问题?
此致、
Adarsh
您好、Adarsh、
Linux 能否检测到此 USB-SATA 器件?
如果您使用自供电 USB 集线器连接此 USB-SATA 设备、U-Boot 能否检测到它?
您好、Liu、
问:"Linux 能否检测到此 USB-SATA 器件?"
是的、我可以。
------
磁盘/dev/sda:298.1 GiB、320072933376字节、625142448扇区
单位:1 * 512 = 512字节的扇区
扇区大小(逻辑/物理):512字节/512字节
I/O 大小(最小值/最佳值):512字节/ 512字节
disklabel 类型:DOS
磁盘标识符:0x8ffe8ffe
器件 引导开始 结束 扇区 大小 ID 类型
/dev/sda1 2048 625142445 625140398 298.1G 83 Linux
Debian@BeagleBone:~
------
问:"如果您使用自供电 USB 集线器连接此 USB-SATA 设备、U-Boot 能否检测到它?"
否、未检测到 USB-SATA 设备。
此致、
Adarsh
您好、Adarsh、
在检测失败时、您能否提供 U-Boot 控制台日志?
您好、Liu、
不带 USB 集线器的日志
------
U-Boot SPL 2019.01-gc148924-脏 污(2021年4月17日- 12:08:20 +0530)
尝试从 MMC1引导
U-Boot 2019.01-gc148924-m脏(2021年4月17日- 12:08:20 +0530)
CPU :AM335X-GP 修订版2.1
型号:TI AM335x BeagleBone Black
DRAM: 512 MiB
NAND: 0 MIB
MMC: OMAP SD/MMC:0、OMAP SD/MMC:1.
正在从 FAT 加载环境... 好的
NET: eth0:以太网@4a100000
警告:USB_Ether MAC 地址不匹配:
ROM 中的地址为 :de:ad:be:ef:00:01
环境中的地址为 04:79:B7:A8:FD:e0
,eth1:USB_ether
按任意键停止自动引导: 0
=> USB 开始
正在启动 USB...
USB0: 端口不可用。
=>
------
记录通过 USB-2.0集线器(iball piano423)连接的 USB-SATA 设备:
在"u-boot/drivers/USB/host/USB-uclass.c"中启用调试
--------
=> USB 开始
正在启动 USB...
USB0: 正在扫描设备的总线1 ...
调用 USB_setup_device(),portnr=0
'USB@47401800'的 READ_descriptor:RET=0
** USB_find_child 返回-2
USB_find_and_bind_driver:搜索驱动程序
USB_find_and_bind_driver:找到匹配项:USB_hub
USB_scan_device:探测'USB_hub'、plat=9df4c4e8
找到1个 USB 设备
扫描结束
正在扫描存储设备的 USB ... 找到0个存储设备
=>
--------
此致、
Adarsh
您好、Adarsh、
请尝试使用"USB reset"命令而不是"USB start"。
当检测失败时、请在 uboot 控制台上运行以下命令以转储寄存器:
=> md.b 0x47401c60 1
您好、Liu、
命令的输出:
----------------------
U-Boot SPL 2019.01-g333c3e72d3 (2020年4月19日- 11:21:12 +0000)
尝试从 MMC1引导
U-Boot 2019.01-g333c3e72d3 (2020年4月19日- 11:21:12 +0000)
CPU :AM335X-GP 修订版2.1
型号:TI AM335x BeagleBone Black
DRAM: 512 MiB
NAND: 0 MIB
MMC: OMAP SD/MMC:0、OMAP SD/MMC:1.
正在从 FAT 加载环境... 好的
NET: eth0:以太网@4a100000
警告:USB_Ether MAC 地址不匹配:
ROM 中的地址为 :de:ad:be:ef:00:01
环境中的地址为 04:79:B7:A8:FD:e0
,eth1:USB_ether
按任意键停止自动引导: 0
=> USB 复位
正在重置 USB...
USB0: 端口不可用。
=> MD.b 0x47401c60 1.
47401c60: 80 。
=>
----------------------
您好、Adarsh、
请在运行"USB reset"之前运行以下命令、以查看其是否解决了问题。 请尝试使用和不使用 USB 集线器。
setenv usb_pgood_delay 200
您好、Bin、
不带 USB 集线器:
U-Boot SPL 2019.01-g333c3e72d3 (Apr 19 2020 - 11:21:12 +0000) Trying to boot from MMC1 U-Boot 2019.01-g333c3e72d3 (Apr 19 2020 - 11:21:12 +0000) CPU : AM335X-GP rev 2.1 Model: TI AM335x BeagleBone Black DRAM: 512 MiB NAND: 0 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Loading Environment from FAT... *** Warning - bad CRC, using default environment <ethaddr> not set. Validating first E-fuse MAC Net: eth0: ethernet@4a100000 Warning: usb_ether MAC addresses don't match: Address in ROM is de:ad:be:ef:00:01 Address in environment is 04:79:b7:a8:fd:e0 , eth1: usb_ether Hit any key to stop autoboot: 0 => setenv usb_pgood_delay 200 => printenv usb_pgood_delay usb_pgood_delay=200 => usb reset resetting USB... USB0: Port not available. =>
使用 USB 集线器:
U-Boot SPL 2019.01-g333c3e72d3 (Apr 19 2020 - 11:21:12 +0000) Trying to boot from MMC1 U-Boot 2019.01-g333c3e72d3 (Apr 19 2020 - 11:21:12 +0000) CPU : AM335X-GP rev 2.1 Model: TI AM335x BeagleBone Black DRAM: 512 MiB NAND: 0 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Loading Environment from FAT... *** Warning - bad CRC, using default environment <ethaddr> not set. Validating first E-fuse MAC Net: eth0: ethernet@4a100000 Warning: usb_ether MAC addresses don't match: Address in ROM is de:ad:be:ef:00:01 Address in environment is 04:79:b7:a8:fd:e0 , eth1: usb_ether Hit any key to stop autoboot: 0 => setenv usb_pgood_delay 200 => usb reset resetting USB... USB0: scanning bus 1 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found =>
您好、Adarsh、
我可以理解、该 USB 驱动器可能具有特殊字符、导致没有 USB 集线器的枚举失败、但我不能理解为什么它在自供电 USB 集线器的情况下也会失败。
调试的下一步是使用示波器探测某些 USB 引脚、您可以参考 BeagleBone Black 原理图来查找以下信号- USB1_DRVVBUS、USB1_VBUS、USB1_DP、并在运行命令"USB reset"时探测这些信号。 我希望看到这些信号的捕获。
BeagleBone Black 在 USB1端口上没有 USB2.0规范要求的大容量 VBUS 电容。 另一个简单的硬件测试是在电路板上 USB 主机连接器附近的 USB1 VBUS 线路上添加一个120uF 电容器、以查看这是否解决了问题。
您好、Bin、
观察到在 Linux 环境中检测到 USB-SATA 驱动器(电路板上的 Linux 出厂映像)。已连接日志。
[引用 userid="7730" URL"~/support/processors/f/processors-forum/994559/beaglebk-external-sata-drive-with-sata-to-usb-interface-is-not-detected-on-beaglebone-black/3677986 #36777986"]另一个简单的硬件测试是在电路板上 USB 主机连接器附近的 USB1 VBUS 线路上添加一个120uF 电容器、以查看这是否能解决上述问题[/引用]完成后、我将向您更新。
您好、Bin、
[引用 userid="7730" URL"~/support/processors/f/processors-forum/994559/beaglebk-external-sata-drive-with-sata-to-usb-interface-is-not-detected-on-beaglebone-black/3677983 #36777983]调试 的下一步是使用示波器探测某些 USB 引脚、您可以参阅 BeagleBone Black 原理图以查找以下信号- USB1_DRVVBUS、USB1_VBUS、USB1_DP、并在运行命令'USB1'复位'时探测这些信号。 我想看到这些信号的捕获。[/quot]BeagleBone Black 的 P9和 P8扩展头上不提供这些 USB1线路。 根据我的理解,探测这些可能需要对板载硬件进行额外的布线。
我们希望检查这一备选方案的可行性,然后进一步开展工作。
是的、这些信号不在 P8或 P9接头上。 您必须焊接一些线环才能输出信号。
您好、Bin、
由于这些是在具有精细轨道的多层 PCB 上进行的硬件调整、因此我们无法向前迈出一步(担心电路板会在工艺过程中变砖)。
到目前为止、我们希望暂停执行此操作、并仅在执行建议的修改后才能继续进一步调试。
感谢您的支持。
此致、
Adarsh
您好、Adarsh、
我理解您的担忧。
您是否想解释为什么要让多个 USB 硬盘在 U-Boot 中工作? 从我的理解来看、这一要求并不常见。
您好、Bin、
[引用 userid="7730" URL"~/support/processors/f/processors-forum/994559/beaglebk-external-sata-drive-with-sata-to-usb-interface-is-not-detected-on-beaglebone-black/3681626 #3681626">您是否想解释为什么要让多个 USB 硬盘在 U-Boot 中工作? 从我所知、这一要求并不常见。当然、它不是多个 USB 硬盘、是连接到 SATA 至 USB 适配器的单个 SATA 驱动器。我们想从 USB 驱动器引导 Linux 操作系统(存储容量也更大、可用于存储数据)、 SATA 至 USB 驱动器已经在我们的身边、并且希望在我们当前的项目中使用它们。
由于 u-boot 无法识别存储设备本身,所以我没有什么可疑之处(印象中认为 u-boot 应至少检测到该设备)并将其报告给 TI。除了 SATA 至 USB 驱动器外,还发现复合 USB 设备 (像带有 SDHC 存储设备的 HUAEI USB 互联网调制解调器和 Sony USB 演练者一样)也未被检测到。
尽管这些设备不仅是存储设备、但也可在需要或紧急情况下使用。
此致、
Adarsh。
您好、Adarsh、
[引用 userid="407927" URL"~/support/processors/f/processors-forum/994559/beaglebk-external-sata-drive-with-sata-to-usb-interface-is-not-detected-on-beaglebone-black/3682835 #3682835"]它不是多个 USB 硬盘,是连接到 SATA 转 USB 适配器的单个 SATA 驱动器。抱歉、我说多个是指不同的 USB 硬盘驱动器。
由于在 uBoot 中无法检测到的硬盘在 Linux 中工作正常、我认为问题可能与 uBoot 中的软件时序有关。 但我没有一个可以触发本地调试失败的 USB 器件、我必须依靠您来调试设置、正如您看到的、远程调试过程会很慢。