openwrt固件dmesg、lsusb检测是否已经集成了USB或SATA支持

2022-01-16
0评论
/
1678阅读
爱搜啊

使用dmesg的诊断

大多数固件映像已经在默认配置文件/映像中集成了USB或SATA支持,因此不需要安装额外的软件包。

openwrt固件集成USB或SATA支持

若要检查是否包含USB支持,是否检测到连接的USB设备:

1.执行dmesg在终端中,注意其输出。这些是“驱动程序消息”,与硬件连接/启动或断开/关闭相关的事件。

2.现在连接外部存储设备,等待几秒钟,然后执行dmesg又在终点站上了。

3.如果USB驱动程序处于活动状态,并且您的设备已被成功识别,您将注意到在结束时添加了其他日志输出。

下面是关于USB设备连接和正确识别的dmesg文本的示例。

[   96.603945] usb 1-1: new high-speed USB device number 2 using ehci-pci
[   96.812362] usb-storage 1-1:1.0: USB Mass Storage device detected
[   96.842945] scsi host4: usb-storage 1-1:1.0
[   98.242956] scsi 4:0:0:0: Direct-Access     JetFlash Transcend 8GB    1100 PQ: 0 ANSI: 4
[   98.415163] sd 4:0:0:0: [sdb] 15826944 512-byte logical blocks: (8.10 GB/7.55 GiB)
[   98.443523] sd 4:0:0:0: [sdb] Write Protect is off
[   98.732241] sd 4:0:0:0: [sdb] Mode Sense: 43 00 00 00
[   98.738043] sd 4:0:0:0: [sdb] No Caching mode page found
[   98.752681] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[   98.893168]  sdb: sdb1 sdb2
[   98.951053] sd 4:0:0:0: [sdb] Attached SCSI disk

如果日志输出没有像这样显示与USB相关的输出,请检查是否有正确的驱动程序,并将其报告为窃听器

使用lsusb的诊断

在安装可选的“usbutils”软件包时,可以获得有关连接的USB驱动器的进一步诊断信息:

opkg update && opkg install usbutils

此包安装lsusb命令,它将输出内置于USB集线器和连接的USB设备中的路由器的信息.下面的示例是在具有单个USB端口的路由器上运行的。Isusb已经在这个端口上确认了USB2.0和3.0的支持,以及一个连接的设备,由来自ASMedia的USB到SATA磁盘桥组成。由于此设备与3.0集线器具有相同的总线ID,因此USB-硬盘显然是通过USB3.0协议连接的:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 174c:1153 ASMedia Technology Inc. ASM2115 SATA 6Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

命令lsusb -t如果您的设备、OpenWRT固件和外部USB驱动器的个人组合支持更新和稍快的USB3.0 UASP扩展(USB附加SCSI协议)或旧的USB3.0块驱动程序,则会发现:

...
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=uas, 5000M
    |__ Port 4: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
...

在本例中,设备3(“驱动程序=UAS”)支持UASP,而设备5(“驱动程序=USB存储”)则不支持UASP。

在usb存储设备问题上,注意驱动程序的输出lsusb -t。如果它还回来的话

|__ Port 4: Dev 5, If 0, Class=Mass Storage, Driver=, 5000M

而不是

|__ Port 4: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

然后OpenWRT已经识别了附加的USB存储设备,但是还没有安装USB存储驱动程序。在这种情况下,您需要首先安装USB存储驱动程序:

opkg install kmod-usb-storage

使用CAT的诊断

如果你真的没有选择,你可以使用cat。由于Linux的“一切都是文件”功能,您可以查看USB调试信息:

cat /sys/kernel/debug/usb/devices
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 4.14
S:  Manufacturer=Linux 4.14.171 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0781 ProdID=5583 Rev= 1.00
S:  Manufacturer=SanDisk
S:  Product=Ultra Fit
S:  SerialNumber=4C530001091024119291
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=224mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

您可以从此输出中将足够的信息拼凑在一起进行诊断。


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


于2022-01-16发布
相关文章