USB does not power ON on beagle board XM at low temperature

Hello,

We are facing an issue with USB getting powered ON upon boot on beagle board XM when using Ubuntu image.

Here are the details:

Issue faced: USB and Ethernet does not turn ON at board power ON in Ubuntu image. This issue is seen with Ubuntu image only and not with Android image.

Environment: Beagle board is kept in cool location (-20 deg cel.) for about an hour and then powered ON in this environment.

Image used:

  1. Ubuntu: https://rcn-ee.net/deb/rootfs/raring/ubuntu-13.04-console-armhf-2013-09-26.tar.xz (This is 3.11.1 kernel based. Other kernel version tested and fails with ubuntu images: 3.4.7, 3.7.10)

  2. Android: http://rowboat.googlecode.com/files/beagleboard-xm.tar.gz

Any pointers on this will be appreciated.

Thanks,

Ketan

That board will not boot up is the onboard HUB/Ethernet is powered on,.Not enough juice over USB. You can try using a Y cable, with two Type A connectors on it. It is describe din the System Reference Manual. The SW needs to make sure the HUB is off when booting.

Gerald

I do not believe the components are rated to even work at -20C. You would need industrial or military temperature range components. The parts on the BBB are commercial/consumer grade and are rated to work only down to about 0C. Finding commercial grade parts that will function at -20C will be hard to do. You might have to go through an entire bin of chips to find three or four that will work at that temperature. Industrial temperature range components will generally work down to -30 or -40 and military grade generally goes down to -65C

Meant Beagleboard XM, according to the TI data sheet, the commercial grade CPU is only guaranteed to work to 0C.

http://www.ti.com/lit/ds/symlink/am3703.pdf

Same is likely true for all the other components on the board. I used to work many years ago in qualifying hardware to MILSPEC and even getting military grade parts to work at the bottom of their temperature range after a cold soak can be a challenge.

Hi Gerald,

USB/Ethernet works fine at normal temperature. Its only when you soak the board (at -20 deg. cel) that these interfaces dont work after bootup.

Regards,
Ketan

Hi George,

Point noted about industrial grade of the beagle board components. But I have not understood why Android build works fine. Any pointers towards this?

Regards,
Ketan

So like i mentioned in our private conversation, "git bisect" you have
a working kernel and a non-working kernel. Stop being a lazy developer
and actually try figuring it out.

Regards,

Hi Robert,

I have started with building kernel 2.6.37 (without applying any patches) since I always used precompiled image of this kernel (Android). I used omap2plus_defconfig from stable kernel tree of 2.6.37 as config file during this build. As of now, usb interface and ethernet is not up at normal conditions - this could be due to config file. Also, I need to get login command prompt on serial port - this could be some issue with getty command in /etc/init/ttyO2.conf. I will get debug logs after this. I will keep posting as there is any progress in this.

Do I need to apply any patches for beagle board to this kernel to get this working?

Thanks,
Ketan

The answer is going to be that while android works fine on that board and the ubuntu build works at room temp but not after a -20 cold soak on THAT board, neither one might work on a different board after a -20 cold soak.

This is my personal experience with cold temperature testing on hardware and I did a whole lot of that back around the early 1990s. The problem is very likely with the 3.3v power. The Ubuntu build might touch a feature or enable a component that the android build doesn’t and you might be right on the very hairy edge of having enough 3.3v current available at -20C to make the thing operate with android but not with the ubuntu build until it warms up a little bit. The fact that one works and the other doesn’t at -20C might just be a fluke of the tolerance build up of all the components of that board. On another board neither one might work. On yet another board maybe both will work, BUT (and this is very important) neither one of them is guaranteed to work because the components on that board are not rated for -20C. In fact, it might work this week but might stop working at -20C next month. Seriously. You are probably chasing your tail looking for a correctable problem when you are using the hardware outside of its design spec. Yeah, it might work – sometimes – under just the right conditions – maybe. Cold does funny things to semiconductors, particularly voltage regulators. In fact, getting power supplies to start was the number one issue in getting gear to turn on after a cold soak at maximum rated cold temperature. Operating at 20 degrees below minimum rated low temp is no different than trying to operate at 20 degrees above maximum rated high temperature. It might work – for a while – maybe – and the results will not be repeatable from one board to the next. Your best bet if you want reliable service is to get someone to build you a board with components rated for that environment.

Operation out of spec is never a good idea.

Gerald

This issue seems to be fixed. I had missed out applying patch https://github.com/RobertCNelson/stable-kernel/blob/v3.4.x/patches/omap_fixes/0001-Fix-sprz319-erratum-2.1.patch.

Thanks,
Ketan

Hi Robert,

I had connected a USB camera to the beagle XM board running ubuntu and it worked successfully( tested with camorama application).
I applied this patch https://github.com/RobertCNelson/stable-kernel/blob/v3.4.x/patches/omap_fixes/0001-Fix-sprz319-erratum-2.1.patch as I was facing the same issue with low temperature. After applying the patch, the board works fine at low temperatures but the camera output flickers using the camorama application.

The version of ubuntu image used is 3.4.7-x1

Are there any other patches to handle this problem?

Thanks,
Valareyano