USB devices randomly don't appear after boot OpenSUSE 10.3

I have a embedded computer running 10.3 (stuck with that version) that has USB device issues.

In reality, it has two USB devices attached, both FTDI FT232 USB to Serial Uart driven hardware. Both usually are at /dev/ttyUSB0 and 1 when everything goes right. The latest FTDI driver is already in the kernel.

Randomly however, when it boots one or both will be missing in dev.

If we only leave one physically attached before booting, sometimes it comes up ok, the other times there’s no listing in /dev/ or lsusb. But when we do run lsusb once and watch the system log, suddenly the device is found and ‘attached’. Then it works fine.

I’ve repeated this with another test USB device (and old cell phone that gets installed as a ceullar modem) and the same thing can happen. It will randomlyy be missing from lsusb listing till lsusb is run once. IE, run it once, no listing, run it again, then it shows up and the system log saya it was just attached.

If we leave both, sometimes one device (Call this one A) is ready to go, but device B is missing. If we unplug B, A dissapears from /dev/ and the system log says A was unpluged. The when we reattach B, both show up in /dev/ and the system log reports two USB devices were attached. running lsusb doesn’t fix one or both missing when they are both physically attached.

This is an embedded system and we need both to be discovered at boot 100% of the time. Any ideas what might be going on?

On 08/11/2011 04:36 PM, madsci1016 wrote:
>
> I have a embedded computer running 10.3

openSUSE 10.3 passed its end of life in Oct 2009, and is now unsupported
<http://en.opensuse.org/Lifetime>

or are you running SUSE Linux Enterprise Server/Desktop (SLES/D)
version 11, SP3? if so you are in the openSUSE forum and should instead
ask over in the commercial forums: http://tinyurl.com/422mrnu where you
will find that the same ID/Pass used here will work there also…]

that said, if i had any idea how to solve your problem i would try…

one thing to think about, since your software system is embedded and
therefore both unchangable and unchanging you must be experiencing
a hardware failure somewhere…maybe in the ROM, maybe in RAM, maybe in
the connection point between the CPU and the external devices, maybe in
the external devices themselves…

but, logically it is impossible that the embedded system is suddenly
broken without a hardware problem, right?

so, maybe you should be asking for troubleshooting tips in the hardware
maker’s forums…right?

well, i guess it is possible that these new symptoms are due to a bug in
the software that has existed all along…if so, what changed to cause
it to lately be seen? still, the answer to that question should not lead
you to here, right?

or, is my logic faulty (also)?


DD Caveat
openSUSE®, the “German Engineered Automobiles” of operating systems!

Yikes, I do mean 11.3.

Also found this bug report for ubuntu describing one of the problems exactly, though with no fix. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/263139

Also, we have three identical systems all exhibiting this, so that makes a hardware flaw unlikely. And it works fine if you unplug and replug after booting.

On 08/11/2011 05:46 PM, madsci1016 wrote:
>
> Also, we have three identical systems all exhibiting this, so that makes
> a hardware flaw unlikely. And it works fine if you unplug and replug
> after booting.

then, i suggest you apply the latest software updates, right?


DD
openSUSE®, the “German Engineered Automobiles” of operating systems!

madsci1016 wrote:
> Yikes, I do mean 11.3.

opensuse 11.3 or SLES/D 11 SP3?

Regular openSUSE.

A global update was out of the question to to lab policy, but I think we are going to try anyway. I’ll let you know if it fixes it.

On 08/11/2011 11:26 AM, madsci1016 wrote:
>
> Regular openSUSE.
>
> A global update was out of the question to to lab policy, but I think
> we are going to try anyway. I’ll let you know if it fixes it.

I originally thought this might be a udev problem, but I’m not so sure now. In
any case, it would be worthwhile to review the files in /etc/udev/rules.d/.

The Ubuntu thread makes it appear to be a kernel bug that is probably fixed by
now. Are you restricted to use the 2.6.34 kernel from 11.3, or could you switch
to a newer one like 3.0? If your device will run 3.0, you might try building
from source and see if the devices work OK there. If so, then diff the USB tree
to see if any changes look important.

If running lsusb straightens it out as it appears in your first posting, add
that command to /etc/init.d/boot.local.

lsusb will straighten it out if only one device was plugged in during boot. If both were plugged in, and one or both are logically missing, the lsusb does nothing.

The majority of boots with both devices connected results in one device missing. lsusb doesn’t fix it. If I unplug the missing device, the one that did show up disappears. Then lsusb would fix the still connected but now missing device, and plugging in the disconnected device makes everything happy. I can’t think of a way to repeat that in a startup script.

I think we have narrowed this problem down to a linux<->chipset driver issue. ANYTHING usb will randomly not be present at boot. Keyboards, mice, etc. Sometimes running lsusb ‘discovers’ the devices, sometimes not.

Disabling Legacy USB support in the bios seems to make the problem less prevalent, (1 out of 8 boots as opposed to 3 out of 5) but doesn’t fix it completely.

The computer is Atom z530 processor based with the US15W chipset.

We are still trying to sneak in a kernel update, but it would help if we found knowledge of this bug first for justification.

It seems the top voted solution here: How do you reset a USB device from the command line? - Ask Ubuntu - Stack Exchange

fixes the problem after boot by forcing “Linux’s USB stack to perform a port reset and re-enumerate a device” , but it would still be nice to know why it happens at all.

On 08/12/2011 11:06 AM, madsci1016 wrote:
>
> I think we have narrowed this problem down to a linux<->chipset driver
> issue. ANYTHING usb will randomly not be present at boot. Keyboards,
> mice, etc. Sometimes running lsusb ‘discovers’ the devices, sometimes
> not.
>
> Disabling Legacy USB support in the bios seems to make the problem less
> prevalent, (1 out of 8 boots as opposed to 3 out of 5) but doesn’t fix
> it completely.
>
> The computer is Atom z530 processor based with the US15W chipset.
>
> We are still trying to sneak in a kernel update, but it would help if
> we found knowledge of this bug first for justification.

There is at least one kernel update for that chipset. If you have access to a
mainline git tree, it is commit 1a6969788ef2d5bc3169eee59def6b267182f136. You
will probably be able to backport that patch.