Lately I've installed the most recent snapshot on my Netgear R6120. The flash process went pretty smooth. Everything seems to work fine except one thing. USB port doesn't seem to detect any connected devices. I've tried to connect USB flash drive, my Android phone and my laptop. none of these seem to communicate with the router.
Some info about the device:
root@OpenWrt:~# uname -a
Linux OpenWrt 4.14.106 #0 Tue Mar 19 20:37:15 2019 mips GNU/Linux
root@OpenWrt:~# opkg list-installed | grep usb
kmod-usb-core - 4.14.106-1
kmod-usb-ehci - 4.14.106-1
kmod-usb-ohci - 4.14.106-1
kmod-usb-ohci-pci - 4.14.106-1
kmod-usb2 - 4.14.106-1
kmod-usb2-pci - 4.14.106-1
libusb-1.0-0 - 1.0.22-2
usb-modeswitch - 2017-12-19-f40f84c2-2
usbutils - 007-10
root@OpenWrt:~# lsmod | grep usb
nls_base 5152 1 usbcore
usb_common 2551 1 usbcore
usbcore 133617 6 ohci_pci,ehci_pci,ohci_platform,ohci_hcd,ehci_platform,ehci_hcd
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
With inserted usb flash drive:
root@OpenWrt:~# ls -l /dev/sd*
ls: /dev/sd*: No such file or directory
I've had the same router with one of the older snapshots (don't remember which one) and it worked like a charm. Unfortunately I don't have that image file any more and its not on Openwrt download page either.
USB port seemed to be working on the original Netgear firmware, so its not a hardware issue.
Am I missing something? What could be wrong?
Any help would be appreciated.
You should add kernel modules for target filesystem as minimum for USB drive. Smartphones and other such "smart" devices can be connected with "MTP"-like kernel modules.
Plug in the drive then check dmesg for any drivers that activated. Also with the drive plugged in you should see it in the lsusb list.
Thanks to everyone who replied. I appreciate your efforts to help.
It seems like I'm misunderstood. Let me make it clear. The USB port is ignoring the fact that something is plugged in because it's state doesn't change when I plug something in. dmesg doesn't change, lsusb doesn't change, logread -f doesn't throw any messages. The port seems to be totally dead, even though with it's original firmware it works just fine. This is actually, the second device I'm trying, so it's definitely not the hardware issue . In my previous experience with same model but older Openwrt build, when I used to plug my smartphone to it ,the phone used to get charge. Slow charge ,but it used to work. Now my smartphone is getting nothing. It's like the port is not being supplied power to. Isnt this weird?
dmesg | grep usb output anything at all?
Here is the output:
root@OpenWrt:~# dmesg | grep usb
[ 4.128956] usbcore: registered new interface driver usbfs
[ 4.139983] usbcore: registered new interface driver hub
[ 4.150640] usbcore: registered new device driver usb
[ 4.202394] phy phy-10120000.usbphy.0: remote usb device wakeup disabled
[ 4.215675] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz
And that is with usb memory stick plugged in. I'm getting the same result without the stick. And yes, I've tried different sticks.
opkg list-installed | grep usb ?
@evgeny71 Try remove usb-modeswitch package.
Output for opkg list-installed is in my first post
It was the same without this package. I've installed it to see if it can help me fix the issue.
Compared to the bootlog from the wiki it seems to be missing the hub, although it is visible in lsusb.
Could you try flashing again with a sysupgrade image this time?
I never succeeded running USB2 device on my TL-WR842ND V2 after building on ATH79 (DTS) target.
If I build on AR71xx target, USB is working. Might be the same problem...
If it is a bug in the build, it could be because some models need a GPIO pin to be set to turn on the power output from the USB port. Plug in a USB device that only needs power (e.g. try to charge a phone) and see if it gets power from the port.
I seem to be walking the same path. I 've already done this twice. First by flashing sysupgrade image from local file and second time by issuing sysupgrade "url-to-the-file". Same result.
As I stated in my previous posts my smartphone doesn't get charge from this port. Thats why it makes me think that there is no power supplied to the USB port.
Try to use USB hub with external power - it should close question with power line damage inside of router. If it will help - only power scheme was damaged, if it isn't help - whole USB port was dead.
I've tried to plug USB hub with external power. The hub itself doesn't get detected. I've had nothing plugged in to it, but usually even empty hub gets detected as device of itself and it didn't happen. I can try to plug something in but I doubt it will change anything.
So, it mean, that something wrong with D+ and D- (USB data lines) inside of connector or PCB of router. If it's under warranty - try to contact with service. But this issue can not be covered by standart warranty rules because USB connection can be simply damaged by customer. Try to open case and check components near of USB connector - you shoud see one GND pin (in can be connected to USB mettalic body and whole ground PCB layer. At another side of USB connector pinouts you should see +5V connector. It can be linked to internal +5V router power line or it can use separate stabilizer. Data lines - between GND and +5V, both should be connecter to main router's SoC through resistors, but this lines should be physically routed one near another. Try to check this PCB lines for any damage, try to check resistanse between connector and SoC pins.
Just like I said earlier, it cannot be a hardware issue. This is a second device that works with its native firmware and doesn't work with Openwrt. There is no damage to the board, unless it was damaged by installing this firmware. Its a brand new factory sealed device. The port was operational out of the box with Netgear software.
It seems like its a bug in the build. I hope that the developers will see this topic.