I was trying to write a vision application using beagleboard XM + LI-5M03.
First I tried with Angstrom 2.6.32. Under high CPU load, and moderate
ethernet traffic, the usb0 simply died after some 1 or 2 minutes.
Since I had some issues with TCP delaying too much some frames, I
though the problem could be the related with too much memory on
buffers, so rewrote my application with a thin ack layer over UDP. No
more buffering, and as a bonus good real time control over information
transfer.
And yet the problem persisted.
So I changed to angstrom 2.6.39+, where a different mt9p031 driver is
available, recently developed by the linux-media people.
To no avail. The eth0 dies erratically. I got this dump from the serial console:
[ 8080.992828] ------------[ cut here ]------------
[ 8080.997711] WARNING: at net/sched/sch_generic.c:256
dev_watchdog+0x140/0x228()
[ 8081.005279] NETDEV WATCHDOG: eth0 (smsc95xx): transmit queue 0 timed out
[ 8081.012268] Modules linked in: rtc_twl twl4030_madc_hwmon
twl4030_madc rfcomm ipv6 hidp
[ 8081.020721] [<c0046984>] (unwind_backtrace+0x0/0xe0) from
[<c006c72c>] (warn_slowpath_common+0x4c/0x64)
[ 8081.030517] [<c006c72c>] (warn_slowpath_common+0x4c/0x64) from
[<c006c7c4>] (warn_slowpath_fmt+0x2c/0x3c)
[ 8081.040588] [<c006c7c4>] (warn_slowpath_fmt+0x2c/0x3c) from
[<c03e323c>] (dev_watchdog+0x140/0x228)
[ 8081.050048] [<c03e323c>] (dev_watchdog+0x140/0x228) from
[<c0075998>] (run_timer_softirq+0x15c/0x1f8)
[ 8081.059692] [<c0075998>] (run_timer_softirq+0x15c/0x1f8) from
[<c0071704>] (__do_softirq+0x7c/0x10c)
[ 8081.069244] [<c0071704>] (__do_softirq+0x7c/0x10c) from
[<c0071ad4>] (irq_exit+0x40/0x90)
[ 8081.077789] [<c0071ad4>] (irq_exit+0x40/0x90) from [<c003d074>]
(asm_do_IRQ+0x74/0x94)
[ 8081.086090] [<c003d074>] (asm_do_IRQ+0x74/0x94) from [<c00421f8>]
(__irq_usr+0x38/0x80)
[ 8081.094451] Exception stack(0xdc49ffb0 to 0xdc49fff8)
[ 8081.099700] ffa0: 00000313
00000058 0000005b 0000002c
[ 8081.108245] ffc0: 41b787bf 00000511 41b791df 0000002f 00000510
000003cc 00000a20 00000a20
[ 8081.116790] ffe0: 4372cdff 418fdfd0 0001b1b8 0001e3a4 80000010 ffffffff
[ 8081.123718] ---[ end trace fa9acd9d709bbb1d ]---
This vision application uses almost all CPU available.
The serial port do not die. Apart from the eth0 / usb0, everything
else seems to work normally, including the camera.
So I guess this is all I could easily do. I do not have any idea why
it dies, but considering how different 2.6.32 + aptina driver is from
2.6.39 + linux-media driver, would this problem be a hardware issue?
Is anyone out there who could successfully run this camera with near
100%CPU and, say, 500kbytes/sec network throughput, for more than some
minutes?
Any suggestion how to deal with it?
Regards,
Ivan