I’ve recently detected this error in BeagleBoard xM when working with uvc devices.
The fact is that some webcam MJPG frames apear broken and they are in the 256Kb boundary,
so I think that this error is related to the issue.
At the present time I’m working with a BeagleBoard xM and several 1080p uvc cameras.
All the cameras produce broken frames with BeagleBoard xM, but when using other ARM board
it works perfect.
[ 1951.027709] ERROR: 256 KiB atomic DMA coherent pool is too small!
[ 1951.027709] Please increase it with coherent_pool= kernel parameter!
[ 1951.040863] uvcvideo: Failed to resubmit video URB (-12).
I've recently detected this error in BeagleBoard xM when working with uvc
devices.
The fact is that some webcam MJPG frames apear broken and they are in the
256Kb boundary,
so I think that this error is related to the issue.
At the present time I'm working with a BeagleBoard xM and several 1080p uvc
cameras.
All the cameras produce broken frames with BeagleBoard xM, but when using
other ARM board
it works perfect.
[ 1951.027709] ERROR: 256 KiB atomic DMA coherent pool is too small!
[ 1951.027709] Please increase it with coherent_pool= kernel parameter!
So, what happens when you add "coherent_pool=1M" to your bootargs in uEnv.txt...
[ 1951.040863] uvcvideo: Failed to resubmit video URB (-12).
Regards,
I’ve tested with “coherent_pool=1M” and “coherent_pool=6M” and frames are still broken.
When I run guvcview dmesg returns this:
[ 75.518554] omap-dma-engine omap-dma-engine: allocating channel for 34
[ 75.519836] omap-dma-engine omap-dma-engine: freeing channel for 34
[ 75.521179] omap-dma-engine omap-dma-engine: allocating channel for 33
[ 75.521759] omap-dma-engine omap-dma-engine: freeing channel for 33
[ 75.637084] omap-dma-engine omap-dma-engine: allocating channel for 34
[ 75.640869] omap-dma-engine omap-dma-engine: freeing channel for 34
[ 75.644287] omap-dma-engine omap-dma-engine: allocating channel for 33
[ 75.647369] omap-dma-engine omap-dma-engine: freeing channel for 33
[ 75.714599] omap-dma-engine omap-dma-engine: allocating channel for 34
[ 75.718505] omap-dma-engine omap-dma-engine: freeing channel for 34
[ 75.722351] omap-dma-engine omap-dma-engine: allocating channel for 33
[ 75.725280] omap-dma-engine omap-dma-engine: freeing channel for 33
[ 75.762298] omap-dma-engine omap-dma-engine: allocating channel for 33
[ 75.773040] omap-dma-engine omap-dma-engine: freeing channel for 33
I rolled back to 3.6.8-x4 and now I don’t have the issue I reported before.
I have a camera and a hard disk attached to a BeagleBoard xM and the
problem is that with 3.7 kernel the USB subsystem is unstable causing
that both the camera and the hard disk will eventually stop working.
I wouldn’t recommend 3.7 kernel for production environments.
Though 3.6 works, it still breaks some frames when aquiring them form
a uvc device.