What's new

RT-AC87 External USB 3 Drive Issue

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Acura650

New Around Here
Hello,

I am reposting this from the Asus forum where I had originally tried to get help for my issue in hopes that someone here may have an answer. I am now currently running Firmware version: 3.0.0.4.378_4950 and the problem is the same.

It was suggested that this issue is related to the current Linux Kernel on the RT-AC87 which is 2.6.36.4brcmarm and has been since fixed in version 2.6.37-rc5.

http://ubuntuforums.org/archive/index.php/t-1642641.html

Will Asus eventually update the Kernel?

Original Post from Asus Forum:

I have a Western Digital My Book Duo USB 3 external drive that is not recognized via the USB 3 port on the RT-AC87R. I have tried restoring to factory defaults, enabling/disabling the " reducing USB3 interference", and trying 3 different USB 3 cables with no luck. The router is on the latest firmware 3.0.0.4.376_2769. The drive is recognized when plugged in via the USB2 interface and works fine. Below is the error that shows in the log when plugged in via USB3:

Dec 13 12:44:42 kernel: hub 1-1:1.0: config failed, can't read hub descriptor (err -22)
Dec 13 12:45:56 kernel: xhci_hcd 0000:00:0c.0: WARN: short transfer on control ep
Dec 13 12:45:56 kernel: xhci_hcd 0000:00:0c.0: WARN: short transfer on control ep
Dec 13 12:45:56 kernel: xhci_hcd 0000:00:0c.0: WARN: short transfer on control ep
Dec 13 12:45:56 kernel: usb 1-1: ep 0x81 - rounding interval to 128 microframes
Dec 13 12:45:56 kernel: xhci_hcd 0000:00:0c.0: WARN no SS endpoint bMaxBurst
Dec 13 12:45:56 kernel: xhci_hcd 0000:00:0c.0: WARN: Stalled endpoint
Dec 13 12:45:56 kernel: xhci_hcd 0000:00:0c.0: WARN: Stalled endpoint
Dec 13 12:45:56 kernel: xhci_hcd 0000:00:0c.0: WARN: Stalled endpoint
 
Hello,

I am reposting this from the Asus forum where I had originally tried to get help for my issue in hopes that someone here may have an answer. I am now currently running Firmware version: 3.0.0.4.378_4950 and the problem is the same.

It was suggested that this issue is related to the current Linux Kernel on the RT-AC87 which is 2.6.36.4brcmarm and has been since fixed in version 2.6.37-rc5.

Most of the patches referred by that commit have already been backported to the kernel used by Asus. See all those "Reversed (or previously applied) patch detected!" when I tried to apply them:

Code:
patch -p1 --dry-run < patch.diff
patching file drivers/usb/core/hcd.c
Hunk #1 succeeded at 1317 (offset -13 lines).
patching file drivers/usb/host/ehci-pci.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file drivers/usb/host/ehci-pci.c.rej
patching file drivers/usb/host/xhci-hub.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file drivers/usb/host/xhci-hub.c.rej
patching file drivers/usb/host/xhci-mem.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
3 out of 3 hunks ignored -- saving rejects to file drivers/usb/host/xhci-mem.c.rej
patching file drivers/usb/host/xhci.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/usb/host/xhci.c.rej
patching file drivers/usb/host/xhci.h
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/usb/host/xhci.h.rej
can't find file to patch at input line 328
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/usb/misc/yurex.c b/drivers/usb/misc/yurex.c
|index 719c618..ac5bfd6 100644
|--- a/drivers/usb/misc/yurex.c
|+++ b/drivers/usb/misc/yurex.c
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
patching file drivers/usb/musb/musb_core.c
Hunk #1 succeeded at 2044 (offset -72 lines).
patching file drivers/usb/musb/musb_gadget.c
Hunk #1 succeeded at 51 (offset -41 lines).
Hunk #2 succeeded at 131 (offset -41 lines).
Hunk #3 succeeded at 389 (offset -43 lines).
Hunk #4 succeeded at 711 (offset -46 lines).
Hunk #5 FAILED at 896.
Hunk #6 FAILED at 1209.
Hunk #7 succeeded at 1763 (offset -85 lines).
Hunk #8 succeeded at 1779 (offset -85 lines).
2 out of 8 hunks FAILED -- saving rejects to file drivers/usb/musb/musb_gadget.c.rej
patching file drivers/usb/serial/ftdi_sio.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/usb/serial/ftdi_sio.c.rej
patching file drivers/usb/serial/ftdi_sio_ids.h
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/usb/serial/ftdi_sio_ids.h.rej
patching file drivers/usb/serial/usb-serial.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/usb/serial/usb-serial.c.rej
patching file include/linux/usb.h


Will Asus eventually update the Kernel?

They can't. The kernel is chosen and provided by Broadcom, as part of their SDK.
 
Most of the patches referred by that commit have already been backported to the kernel used by Asus. See all those "Reversed (or previously applied) patch detected!" when I tried to apply them:

Code:
patch -p1 --dry-run < patch.diff
patching file drivers/usb/core/hcd.c
Hunk #1 succeeded at 1317 (offset -13 lines).
patching file drivers/usb/host/ehci-pci.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file drivers/usb/host/ehci-pci.c.rej
patching file drivers/usb/host/xhci-hub.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file drivers/usb/host/xhci-hub.c.rej
patching file drivers/usb/host/xhci-mem.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
3 out of 3 hunks ignored -- saving rejects to file drivers/usb/host/xhci-mem.c.rej
patching file drivers/usb/host/xhci.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/usb/host/xhci.c.rej
patching file drivers/usb/host/xhci.h
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/usb/host/xhci.h.rej
can't find file to patch at input line 328
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/usb/misc/yurex.c b/drivers/usb/misc/yurex.c
|index 719c618..ac5bfd6 100644
|--- a/drivers/usb/misc/yurex.c
|+++ b/drivers/usb/misc/yurex.c
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
patching file drivers/usb/musb/musb_core.c
Hunk #1 succeeded at 2044 (offset -72 lines).
patching file drivers/usb/musb/musb_gadget.c
Hunk #1 succeeded at 51 (offset -41 lines).
Hunk #2 succeeded at 131 (offset -41 lines).
Hunk #3 succeeded at 389 (offset -43 lines).
Hunk #4 succeeded at 711 (offset -46 lines).
Hunk #5 FAILED at 896.
Hunk #6 FAILED at 1209.
Hunk #7 succeeded at 1763 (offset -85 lines).
Hunk #8 succeeded at 1779 (offset -85 lines).
2 out of 8 hunks FAILED -- saving rejects to file drivers/usb/musb/musb_gadget.c.rej
patching file drivers/usb/serial/ftdi_sio.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/usb/serial/ftdi_sio.c.rej
patching file drivers/usb/serial/ftdi_sio_ids.h
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/usb/serial/ftdi_sio_ids.h.rej
patching file drivers/usb/serial/usb-serial.c
Reversed (or previously applied) patch detected!  Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file drivers/usb/serial/usb-serial.c.rej
patching file include/linux/usb.h




They can't. The kernel is chosen and provided by Broadcom, as part of their SDK.

Thanks for checking it out RMerlin. I will keep my fingers crossed hopping it is somehow addressed in a future firmware update. I am still enjoying the stability improvements with each new upgrade...
 
You could give my firmware a try. I'm not sure if Asus applied all the patches that I'm using on the kernel (I've added a few of my own, taken from upstream or from other firmware projects).
 
You could give my firmware a try. I'm not sure if Asus applied all the patches that I'm using on the kernel (I've added a few of my own, taken from upstream or from other firmware projects).

Yeah I was thinking of trying that next. Will all of my custom settings be lost when moving to the Merlin firmware? Or would it be better to just reset to defaults and start fresh before upgrading? Also can I go back to stock Asus firmware if needed? Thanks
 
Yeah I was thinking of trying that next. Will all of my custom settings be lost when moving to the Merlin firmware? Or would it be better to just reset to defaults and start fresh before upgrading? Also can I go back to stock Asus firmware if needed? Thanks

You can safely move from 378_4950 to my firmware. The only potential gotcha is OpenVPN: I recommend going to the key/cert pages, and re-applying them to force the router to re-encode, and save them in the new format.

You can safely go back to stock just as easily, altho in that case you might need to completely reconfigure OpenVPN if you were using it.
 
You can safely move from 378_4950 to my firmware. The only potential gotcha is OpenVPN: I recommend going to the key/cert pages, and re-applying them to force the router to re-encode, and save them in the new format.

You can safely go back to stock just as easily, altho in that case you might need to completely reconfigure OpenVPN if you were using it.

Cool Thanks for the info. I am not using OpenVPN so I should be good! I will report back with my results.
 
Just FYI and to continue this conversation - I have just updated my Merlin firmware to 378.55 on my RT-AC68U, and the USB 3.0 problem persists. The ubuntu kernel still shows version 2.6.36.4brcmarm. This is most disappointing, and it's more disappointing that RMerlin tried to patch ubuntu to no avail, as that was my next step to try. While my Toshiba 5Tb USB 3.0 drive works perfectly when it's the solo drive connected to the USB 3.0 port on the router, my new ANKER USB 3.0 hub simply does not work on the USB 3.0 port on the router. (The ANKER has it's own power supply, BTW.) The router clearly sees it, and then throws these messages when it's plugged in:

Sep 14 09:33:59 kernel: usb 2-1: new high speed USB device using ehci_hcd and address 11
Sep 14 09:34:00 kernel: hub 2-1:1.0: USB hub found
Sep 14 09:34:00 kernel: hub 2-1:1.0: 4 ports detected
Sep 14 09:34:00 kernel: usb 1-1: new SuperSpeed USB device using xhci_hcd and address 2
Sep 14 09:34:00 kernel: xhci_hcd 0000:00:0c.0: WARN: short transfer on control ep
Sep 14 09:34:00 kernel: xhci_hcd 0000:00:0c.0: WARN: short transfer on control ep
Sep 14 09:34:00 kernel: xhci_hcd 0000:00:0c.0: WARN: short transfer on control ep
Sep 14 09:34:00 kernel: usb 1-1: ep 0x81 - rounding interval to 128 microframes
Sep 14 09:34:00 kernel: xhci_hcd 0000:00:0c.0: WARN no SS endpoint bMaxBurst
Sep 14 09:34:00 kernel: hub 1-1:1.0: USB hub found
Sep 14 09:34:00 kernel: xhci_hcd 0000:00:0c.0: WARN: Stalled endpoint
Sep 14 09:34:00 kernel: xhci_hcd 0000:00:0c.0: WARN: Stalled endpoint
Sep 14 09:34:00 kernel: xhci_hcd 0000:00:0c.0: WARN: Stalled endpoint
Sep 14 09:34:00 kernel: hub 1-1:1.0: config failed, can't read hub descriptor (err -22)
Sep 14 09:34:00 kernel: usb 2-1.4: new high speed USB device using ehci_hcd and address 12
Sep 14 09:34:00 kernel: hub 2-1.4:1.0: USB hub found
Sep 14 09:34:00 kernel: hub 2-1.4:1.0: 4 ports detected

Connecting my Toshiba drive to the hub gives no messages on the router - the router simply doesn't recognize it through the hub. When the Toshiba is plugged in directly, without the hub, the router sees it instantly:

Sep 14 09:40:14 kernel: usb 1-1: new SuperSpeed USB device using xhci_hcd and address 2
Sep 14 09:40:14 kernel: xhci_hcd 0000:00:0c.0: WARN: short transfer on control ep
Sep 14 09:40:14 kernel: xhci_hcd 0000:00:0c.0: WARN: short transfer on control ep
Sep 14 09:40:14 kernel: xhci_hcd 0000:00:0c.0: WARN: short transfer on control ep
Sep 14 09:40:14 kernel: xhci_hcd 0000:00:0c.0: WARN: short transfer on control ep
Sep 14 09:40:14 kernel: xhci_hcd 0000:00:0c.0: disable burst on ep 1
Sep 14 09:40:14 kernel: xhci_hcd 0000:00:0c.0: WARN no SS endpoint bMaxBurst
Sep 14 09:40:14 kernel: xhci_hcd 0000:00:0c.0: disable burst on ep 2
Sep 14 09:40:14 kernel: xhci_hcd 0000:00:0c.0: WARN no SS endpoint bMaxBurst
Sep 14 09:40:14 kernel: scsi1 : usb-storage 1-1:1.0
Sep 14 09:40:24 kernel: scsi 1:0:0:0: Direct-Access TOSHIBA External USB 3.0 5438 PQ: 0 ANSI: 6
Sep 14 09:40:24 kernel: sd 1:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
Sep 14 09:40:24 kernel: sd 1:0:0:0: [sda] 9767541160 512-byte logical blocks: (5.00 TB/4.54 TiB)
Sep 14 09:40:24 kernel: sd 1:0:0:0: [sda] 4096-byte physical blocks
Sep 14 09:40:24 kernel: sd 1:0:0:0: Attached scsi generic sg0 type 0
Sep 14 09:40:24 kernel: sd 1:0:0:0: [sda] Write Protect is off
Sep 14 09:40:24 kernel: sd 1:0:0:0: [sda] Assuming drive cache: write through
Sep 14 09:40:24 kernel: sd 1:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
Sep 14 09:40:24 kernel: sd 1:0:0:0: [sda] Assuming drive cache: write through
Sep 14 09:40:24 kernel: sda: sda1 sda2 sda3
Sep 14 09:40:24 kernel: sd 1:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
Sep 14 09:40:25 kernel: sd 1:0:0:0: [sda] Assuming drive cache: write through
Sep 14 09:40:25 kernel: sd 1:0:0:0: [sda] Attached SCSI disk

Sure wish there was an answer/fix for this, but it appears that one currently does not exist.
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top