Cyber memos for my personal knowledge.

2009-10-28

Standard Linux uvcvideo doesn't work for Bison camera module 5986:0241

Usually, current uvcvideo driver kernel module can handle all uvc complaint devices.
But I got a special module which ID is 5986:0241, can not work w/ it.
You can see a dmesg log as "No valid video chain found.", and driver never drive this device.
There is no device file created under /dev and /sys.

This is a FW bug, so that driver doesn't parse video steaming data well.
I patch the uvcvideo source to skip this checking.....:-(
Not a good way but it works.

Use kernel 2.6.31.5 source as an example to patch the driver:

-> drivers/media/video/uvc/uvc_driver.c, Line 430:
modify "return -EINVAL;" to "break;"

-> drivers/media/video/uvc/uvc_driver.c, Line 723:
modify "goto error;" to "break;"

Save and compile the uvcvideo.ko again.
After install this new kernel module, your 5986:0241 camera should be back to work.

No comments: