1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

USB HDD no longer works on toastman build

Discussion in 'Tomato Firmware' started by o0enygma0o, Oct 17, 2012.

  1. o0enygma0o

    o0enygma0o Networkin' Nut Member

    I'm running Tomato Firmware v1.28.7496 MIPSR2-Toastman-RT K26 USB VPN. It's been working extremely well and without any issue for many months now. However, I just noticed today that I could no longer access the external drive. I have made absolutely no changes whatsoever to the router, and in fact I wasn't even in town when the issue began. If I take a look at the logs I see this message multiple times every second: "router user.err kernel: hub 1-0:1.0: over-current condition on port 1."

    I tried googling "over-current condition on port 1" to no avail. Does anyone here have any advice as to what the issue may be?
  2. Toastman

    Toastman Super Moderator Staff Member Member

    Presumably the port is unable to supply enough power for your external drive.
  3. o0enygma0o

    o0enygma0o Networkin' Nut Member

    thanks for the help. the HDD has its own power supply and it used to work. Of course, that doesn't keep you from being correct, but is it likely that this is just a hardware failure? I have tested the HDD on another system and it works great.
  4. Toastman

    Toastman Super Moderator Staff Member Member

    strange message if you use an externally powered drive ...

    I think I would first try the time-honoured method of erasing nvram and then reconfigure by hand before suspecting a hardware fault.
  5. koitsu

    koitsu Network Guru Member

    I have a lot of familiarity with USB (all the way down to some basics of the protocol, as I was working on a Logitech webcam driver for FreeBSD back in 1999 or so).

    The message is coming from the Linux 2.6 USB stack, specifically function hub_events(), around line 3002:

    For RT-N -- http://repo.or.cz/w/tomato.git/blob...src-rt/linux/linux-2.6/drivers/usb/core/hub.c
    For RT -- http://repo.or.cz/w/tomato.git/blob...src-rt/linux/linux-2.6/drivers/usb/core/hub.c

    The USB stack attempts to clear the condition and toggles the status of the USB hub (protocol-level, not physical-level) in attempt to renegotiate with the device and see if the issue clears. Obviously in your situation it doesn't.

    I found a boatload of results on Google for this problem, including some on the linux-usb mailing list where developers are chastising users for using very old kernels. In that same linux-usb thread, however, one developer comments that the problem is absolutely 100% hardware-level and is unrelated to drivers.

    If you Google for "USB over current" (note the lack of hyphen) you will also find Mac users reporting similar (and their kernel is not Linux-based).

    Finally, the hubd(7) man page for Solaris goes into details about "over-current" situations (there are many which can happen, hub-level or device-level):


    Which provides the answer:

    An overcurrent condition was detected on port <n>. This means the device connected to the port is drawing more current than the hub can supply. If this message continues to display, please disconnect the device to eliminate the problem. If the port doesn't work after the overcurrent condition is cleared, please re-connect the hub or reboot the system to enable the port again.

    So bottom line, the USB hard disk you're using is trying to draw too much power from the USB port to which its attached (on the router). It doesn't matter if the hard disk is AC powered or not -- obviously whoever made the enclosure is still drawing an excessive amount of power from the USB port. Again: this is a hardware problem.

    There's also the possibility that your router has a bad USB port or some shoddy circuitry/broken VRM near/around the USB ports and replacing the unit would solve the problem, but if you want my opinion, that's very unlikely. You can use something like a USB flash drive (on the same USB port) and see if the problem happens there. If it doesn't, then you know the issue is with the USB hard drive or its enclosure.

    USB hard disks which are AC-powered still draw power from the USB port. In fact, I have seen some enclosures which came with crappy AC wall warts which didn't provide 100% of the power for the drive to spin up, and due to the circuitry design, would try to draw the rest of the power from the USB port (i.e. 60% from AC power, 40% from USB) and thus would behave oddly when hooked up to front-panel or "low-power" USB ports -- yet worked fine when attached to a USB port on the PC backplane ("high-power" USB ports).

    The fact that you did not disclose the exact brand/model of hard disk, and the exact brand/model of enclosure, doesn't help things at all either. There are so many cheap Taiwanese/Chinese/Hong Kong USB enclosures that do wonky things that it's unfathomable. Even if you were to provide the brand/etc. it wouldn't help me at all. :)

    Try another product, and good luck.
  6. o0enygma0o

    o0enygma0o Networkin' Nut Member

    thanks a million for the huge info dump there, very helpful. I tried plugging in a USB stick and it did not help anything. it's also worth noting that the condition continues when nothing is plugged in.

    now, that was all done before reading your post. so i took note of the part of your post that indicated that the system needed to be rebooted to reenable the port. i unplugged everything from the usb port and rebooted the system. it came back up and there were no usb warnings in the log. so i plugged in the usb stick this time and not the external HDD. the router did not recognize the usb stick, but there were no errors in the system log either.

    at this point i remembered that i had done some googling yesterday after posting this comment, and came across a guy with a similar, but not identical error message, and that he reported it went away if USB 2.0 was disabled. at that time i had tried disabling it to see if it fixed the situation, but i had not reset it. so i re-enabled USB 2.0 and the system immediately began spitting out the error message again (again, nothing plugged in).

    so this is when everything went downhill. i figured i'd unplug it again and reboot to try to reenable the port with USB 2.0 enabled. the system reboots but the wifi doesn't come up. so i pull out an ethernet cable and plug that in, and i can't connect to the router. DHCP isn't working right, i'm getting an IP starting with 169 when my local network is, so i try to manually set my network settings. although the computer says i'm connected, i can't access the internet or the router's setup page.

    i figure i'm pretty well screwed by now, but i did a 30-30-30 reset on the thing to see if that would help. it came back up with the exact same issues.

    So unless anyone has any bright ideas i'm pretty damn sure i've got a faulty router and that my HDD is A-OK. However, before I buy a new router, is anyone aware of a way that i could test the hard drive on my computer to make sure it wasn't the root cause of the trouble? Again, i was able to plug it into my MBP and it worked like a charm.

    as far as brands goes, the router i'm running is an e3000 and the HDD is a Western Digital WD Elements 2.5 TB USB 2.0. And if anyone happens to have a recommendation for a router to replace the e3000 before i go googling for what's out there, i'm all ears.
  7. koitsu

    koitsu Network Guru Member

    Rather than response in-line to each of your paragraphs, I'll summarise:

    Your issue is almost certainly hardware-related; likely a voltage-level problem in the router itself, or some damage silicon/transistors or VRMs. The USB stack and so on has absolutely nothing to do with your wireless or "DHCP not working right". The randomness here is impossible to track. When hardware goes bad, especially when things pertain to power/voltage, hardware begins behaving VERY oddly.

    There are only two things common to wifi + USB + Ethernet, and those are: 1) they're all driven by voltage, and 2) all these features are driven by one single IC on the motherboard. This IC is also acts as the router CPU. This is one of the biggest problems with these "all-in-one" chips -- when they go bad, they really freak out.

    I would recommend RMAing the router or doing something like buying an E3000 off Amazon + doing a "swap-a-roo" and returning the broken one saying what you got from Amazon was broken upon arrival (they'll give you a refund no questions asked). I do not think you need to change router models/brands, just get another E3000 and see how that works out for you.

    Also, if at any point during your use of your router you overclocked it or did something like increased the wifi power to some absurd amount (say 400mW), then I would not be surprised if you damaged it. :)

    Please be sure to follow up in this thread after you get a replacement. Most Internet users leave threads like this "open ended" and never come back to state what the results were, which is disheartening.
  8. Monk E. Boy

    Monk E. Boy Network Guru Member

    When you did a 30-30-30 reset, did you wipe the router back to the stone age and set it back up from square one, or did you use the existing settings?

    Sometimes performing a long NVRAM erase from within the Tomato GUI will work wonders if the problem is firmware-related. Obviously if your hardware is the cause of the problem then a software fix won't help.

    Since you were out of town its possible your home experienced a brownout or other power related event that damaged either your router, your HD, or the power supply for the HD. Unfortunately the latter two are pretty difficult to test with a PC since most PC USB ports will happily supply up to 2.1A to USB devices, which is way more than the 500mA that the router is going to provide.

Share This Page