XM OOPS from usb0 while streaming video

I'm getting the following oops when streaming video from a beagle XM
to another machine with gstreamer. Happens regularly after 2 or 3
minutes.

root@beagleboard:~# [ 611.053802] ------------[ cut
here ]------------
[ 611.058471] WARNING: at net/sched/sch_generic.c:255 dev_watchdog
+0x174/0x274()
[ 611.065765] NETDEV WATCHDOG: usb0 (smsc95xx): transmit queue 0
timed out
[ 611.072509] Modules linked in: sdmak lpm_omap3530 dsplinkk cmemk
mt9p031
[ 611.079376] [<c0040c40>] (unwind_backtrace+0x0/0xdc) from
[<c006d020>] (warn_slowpath_common+0x4c/0x80)
[ 611.088836] [<c006d020>] (warn_slowpath_common+0x4c/0x80) from
[<c006d090>] (warn_slowpath_fmt+0x28/0x38)
[ 611.098480] [<c006d090>] (warn_slowpath_fmt+0x28/0x38) from
[<c0400098>] (dev_watchdog+0x174/0x274)
[ 611.107604] [<c0400098>] (dev_watchdog+0x174/0x274) from
[<c007a594>] (run_timer_softirq+0x274/0x394)
[ 611.116912] [<c007a594>] (run_timer_softirq+0x274/0x394) from
[<c007366c>] (__do_softirq+0xe8/0x1f0)
[ 611.126098] [<c007366c>] (__do_softirq+0xe8/0x1f0) from
[<c00737b8>] (irq_exit+0x44/0x98)
[ 611.134338] [<c00737b8>] (irq_exit+0x44/0x98) from [<c003b078>]
(asm_do_IRQ+0x78/0x98)
[ 611.142333] [<c003b078>] (asm_do_IRQ+0x78/0x98) from [<c003bb44>]
(__irq_svc+0x44/0xa8)
[ 611.150390] Exception stack(0xc0623f70 to 0xc0623fb8)
[ 611.155487] 3f60: 00000000
80000013 80000013 00000000
[ 611.163726] 3f80: c0622000 c0625fe0 c0625e84 c066db0c 8002f250
413fc082 0000001f 00000000
[ 611.171966] 3fa0: c0635188 c0623fbc c004b93c c004c194 60000013
ffffffff
[ 611.178649] [<c003bb44>] (__irq_svc+0x44/0xa8) from [<c004c194>]
(omap3_pm_idle+0x4c/0x50)
[ 611.186981] [<c004c194>] (omap3_pm_idle+0x4c/0x50) from
[<00000000>] (0x0)
[ 611.193908] ---[ end trace 33a2e776718f36cf ]---

The kernel is linux-omap-psp-2.6.32. The only modification from the
'official build directions' :wink: is to add the mt9p031 driver for the
Leopardboard LI-5M03 board.

I don't think it has anything to do with the camera driver. The same
driver
streams all day from a custom Gumstix Overo board using the same
sensor, same
kernel and same dsp stuff. And while it is working, the pictures are
good.
Different ethernet driver on the Overo.

I can't switch kernels, customer wants to use linux-omap-psp-2.6.32.

Is this a known problem or just my unhappy XM?

Thanks,
Scott

I got exactly the same problem with LI-LBCM3M1 camera when streaming h.
264 rtp.
At first, I think may be the short of power, but after testing with
110v to 5v 10A power supply, the problem still shows.

Any idea ?

Ok, I did more experiment.

1.I did streaming h.264 video through usb host port wifi (Ralink
rt3070) and got the same error.
2.I did streaming h.264 video through usb otg port to external usb hub
to wifi (Ralink rt3070) and the problem was gone.

So, I suppose there's H/W issue on USB HOST.

hi all, What's the OS are you guys running on ? Angstrom or Android ?

I encountered the same issue and I believe there is a memory leak in
mt9p031 driver which cause the networking stack crash.

I believe there is a memory leak in mt9p031 driver for this issue.

What's the OS are you running ?

For me it was Angstrom, kernel linux-omap-psp-2.6.32 and the driver
is my own, not released to the public yet, if ever. What driver are
you
talking about?

Mine was written for a custom Overo board, but I ported it to work
with
the XM/LI5M03 for some temporary testing while the new Overo board
was getting some rework. I'm not using the XM anymore.

I don't think the driver has a leak. It can stream all day on an Overo
including over the network. Also the XM never had a problem if I
displayed
the video locally.

There is a mt9p031 driver at https://github.com/Aptina
which runs fine if it is on itself without involving videostream over
networking. Otherwise it crashes after videostream. Seems like the
mt9p031 can't work well with networking....

Also can you send out your own mt9p031 driver ?

I really think it's nothing to do with the mt9p031 driver.

stevegigijoe reported the same problem with the LI-LBCM3M1
board which uses an MT9T111 sensor. Different driver.

It's likely you probably want to wait for this, which I wasn't aware
of either.

http://groups.google.com/group/beagleboard/browse_thread/thread/042c13e2173249e8#

Note this line from that post.

> These patches include a fix for the USB ethernet.

My stuff only works (or is only tested) with the old 2.6.32 ISP
kernel code and it's pretty customized for one particular application.
If you still want to try it, contact me off-list.

I'm pretty sure that the mt9p031 driver is fine.
The kernel is from latest DVSDK 4.x
The mt9p031 driver is from Aptina for BB_xM

I'm can run h.264 video streaming without problem through BB_xM USB
otg to usb hub to usb wifi.
But The usb0 (smsc95xx) still problem...

Take a look to > > These patches include a fix for the USB ethernet.

http://www.google.com.tw/url?sa=t&source=web&cd=2&ved=0CCcQFjAB&url=http%3A%2F%2Fcomments.gmane.org%2Fgmane.linux.drivers.video-input-infrastructure%2F32096&ei=1yzNTf_wE4jKvQOFqbS4Cg&usg=AFQjCNECA9moftvT2Z-uVcwKcGgmsCZ-xQ&sig2=wemycYkCsbErnwHioAZ9mA

There's no code related to USB ethernet... I don't think this is the
answer.

that dvsdk kernel is missing a ton of bugfixes the stock angstrom kernel has

I'm following the instruction below to build kernel & everything.

http://processors.wiki.ti.com/index.php/DVSDK_4.x_FAQ#How_to_build_and_install_DVSDK_4.01_on_BeagleBoard-xM

The bulid script setup-dvsdk-4-01-beaglexm-110126-fix.sh patch the
kernel source from http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/linux/linux-omap-psp_2.6.32.bb

As I know, these patchs should be including bugfixs you mention.

Ok, there may be some version of kerenl without the problem.
Could any one can confirm this ?

I'm following the instruction below to build kernel & everything.

http://processors.wiki.ti.com/index.php/DVSDK_4.x_FAQ#How_to_build_and_install_DVSDK_4.01_on_BeagleBoard-xM

Again, don't follow those instructions, follow http://www.angstrom-distribution.org/building-angstrom

The bulid script setup-dvsdk-4-01-beaglexm-110126-fix.sh patch the
kernel source from linux-omap-psp_2.6.32.bb « linux « recipes - openembedded - Classic OpenEmbedded Development Tree

As I know, these patchs should be including bugfixs you mention.

They miss the aptina fixes he needs.

I have build the latest linux-omap-psp-2.6.32 (version "c"), that have
already the aptina patch in it, and have a similar issue.

I have previously manually patched (and fixed the small issues) the
previous omap-psp-2.6.32 (version"a") with the aptina patch, with this
same issue:

Under load (and does not need to be that high network load, although
CPU is near 100% and the mt9p031 is delivering some 3 whole frames/s)
the usb ethernet dies. dmesg show:
[ 122.975433] Bluetooth: RFCOMM ver 1.11
[ 126.211059] usb0: link up, 100Mbps, full-duplex, lpa 0x45E1
[ 134.863739] usb0: no IPv6 routers present
[ 198.425903] Restoring csi2 context
[ 198.801269] Saving csi2 context
[ 198.801727] Restoring csi2 context
[ 199.181030] Saving csi2 context
[ 199.182281] Restoring csi2 context
[ 252.057983] omap3isp omap3isp: omap34xx_isp_isr: sbl overflow,
sbl_pcr = 00400000

If I do a ifconfig usb0 down and then up, dsmeg adds:
[ 343.715393] usb0: Failed to write register index 0x00000014
[ 343.721008] usb0: Failed to write HW_CFG_LRST_ bit in HW_CFG
register, ret = -110

This is the same message lyakh posted in february:
http://www.beagleboard.org/irclogs/index.php?date=2011-02-08

Do someone have any suggestion for that?

I tried the 2.6.39 that was updated this weekend, but that does not
even boot on my XM.

Regards,

Ivan