garycnew
Senior Member
Asus RT-AC66U
Asuswrt-Merlin 384.19
1. USB 3.0 xHCI Hub
2. AMS Venus T5C Mini 2.5" SATA 5-Bay RAID 5 USB 3.0 Array (Time Capsule)
3. USB 3.0 SD Card Reader (Love these Little Guys)
All:
It appears the Asuswrt Firmware has made some advancements in the interoperability with USB 3.0 devices even since a few years ago. I am successfully able to get the above USB 3.0 xHCI Hub, Array (Time Capsule), and USB 3.0 SD Card Reader to all mount and work at full speed within the Asuswrt-Merlin Firmware.
The only issue is that any time I make a change to the USB 3.0 physical configuration, I am forced to reboot the Asuswrt-Merlin Router for them to be recognized and installed. Should I attempt to Hot-Plug a USB 3.0 device into the USB 3.0 Hub it has issues, thinks the USB 3.0 Hub is dying, and halts the USB Hub dropping the already installed devices.
# dmesg
xhci_hcd 0000:00:0c.0: Timeout while waiting for a slot
xhci_hcd 0000:00:0c.0: Timeout while waiting for a slot
usb 1-1.2: device not accepting address 0, error -62
xhci_hcd 0000:00:0c.0: Timeout while waiting for a slot
hub 1-1:1.0: couldn't allocate port 2 usb_device
xhci_hcd 0000:00:0c.0: xHCI host not responding to stop endpoint command.
xhci_hcd 0000:00:0c.0: Assuming host is dying, halting host.
xhci_hcd 0000:00:0c.0: HC died; cleaning up
hub 1-1:1.0: hub_port_status failed (err = -108)
usb 1-1: USB disconnect, address 2
usb 1-1.1: USB disconnect, address 3
However, if I reboot the Asuswrt-Merlin Router, everything comes back up, including the newly plugged USB 3.0 device(s) and everything works without issue, again.
# lsusb
Bus 001 Device 001: ID 1d6b:0003
Bus 002 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0001
Bus 001 Device 002: ID 05e3:0616
Bus 002 Device 002: ID 05e3:0610
Bus 002 Device 003: ID 05e3:0749
Bus 001 Device 003: ID 152d:0551
Bus 001 Device 004: ID 05e3:0749
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 29.7G 0 disk
└─sda1 8:1 1 29.7G 0 part /tmp/mnt/SanDiskSDHC
sdb 8:16 0 1.8T 0 disk
├─sdb1 8:17 0 200M 0 part /tmp/mnt/EFI
└─sdb2 8:18 0 1.8T 0 part /tmp/mnt/Time_Capsule
sdc 8:32 1 29.7G 0 disk
└─sdc1 8:33 1 29.7G 0 part /tmp/mnt/sdc1
mtdblock0 31:0 0 512K 0 disk
mtdblock1 31:1 0 1.5M 0 disk
mtdblock2 31:2 0 62M 0 disk
mtdblock3 31:3 0 60.4M 1 disk /
mtdblock4 31:4 0 62.8M 0 disk /jffs
mtdblock5 31:5 0 1.3M 0 disk
# nvram show | grep -i _speed
usb_path1.2_speed=5000
usb_path1.1_speed=5000
usb_path2_speed=480
# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=127732k,nr_inodes=31933,mode=755)
proc on /proc type proc (rw,relatime)
tmpfs on /tmp type tmpfs (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
/dev/mtdblock4 on /jffs type jffs2 (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw,relatime)
/dev/sda1 on /tmp/mnt/SanDiskSDHC type ext4 (rw,nodev,relatime,barrier=1,data=ordered)
/dev/sdb2 on /tmp/mnt/Time_Capsule type thfsplus (rw,nodev,relatime,umask=0000,uid=0,gid=0,nls=utf8,nobarrier,readahead=1M)
/dev/sdc1 on /tmp/mnt/sdc1 type tfat (rw,nodev,relatime,uid=0,gid=0,umask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=winnt,min_prealloc_size=64k,max_prealloc_size=64M,readahead=1M,nocache,fail_safe,falloc_skip_zeroing,hidden=show,errors=continue)
/dev/sdb1 on /tmp/mnt/EFI type tfat (rw,nodev,relatime,uid=0,gid=0,umask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=winnt,min_prealloc_size=64k,max_prealloc_size=64M,readahead=1M,nocache,fail_safe,falloc_skip_zeroing,hidden=show,errors=continue)
# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 29.1M 29.1M 0 100% /
devtmpfs 124.7M 0 124.7M 0% /dev
tmpfs 124.8M 1.9M 123.0M 2% /tmp
/dev/mtdblock4 62.8M 4.4M 58.4M 7% /jffs
/dev/sda1 29.3G 2.2G 25.6G 8% /tmp/mnt/SanDiskSDHC
/dev/sdb2 1.8T 212.5G 1.6T 11% /tmp/mnt/Time_Capsule
/dev/sdc1 29.7G 384.0K 29.7G 0% /tmp/mnt/sdc1
/dev/sdb1 196.9M 4.0K 196.9M 0% /tmp/mnt/EFI
My question is if there are any known issue with Hot-Plug USB 3.0 Support? I'm grateful that Asuswrt includes support for these USB 3.0 devices. I'm just wondering if there is a solution for Hot-Plugging devices into the USB 3.0 Hub without having to reboot?
EDIT: I'm sure there's a more elegant solution, but I've found that by removing/re-installing the
xhci_hcd
driver--I'm able to get the system to recognize the new device without having to preform a full reboot. FYI... "The ohci_hcd
& uhci_hcd
drivers are for USB1.1 ports, the ehci_hcd
driver is for USB2 ports, and the xhci_hcd
driver is for USB3 ports."# rmmod xhci_hcd
# modprobe xhci_hcd
Hope that helps.
Respectfully,
Gary
P.S. I've attached the output from dmesg for reference.
Attachments
Last edited: