Using Kernel, webcam BisonCam, NB Pro (5986:0241) on MSI WindTop AE1900-WT (also called MS-6638) is badly detected.

After some investigation, I found uvcvideo driver answers EIO when libv4l do VIDIOC_QUERYCTRL, with a particular id: 0x980903. This id seems correct and correspond to "Hue" control.

Also, dmesg says:

 uvcvideo: Failed to query (135) UVC control 6 (unit 5) : -32 (exp. 2).

Error 32 corresponds to EPIPE ("Stalled endpoint").

I wrote a workaround in libv4l :

--- libv4l-0.5.8.orig/libv4l2/libv4l2.c
+++ libv4l-0.5.8/libv4l2/libv4l2.c
@@ -740,0 +740,6 @@
+    // Jezz: Fix bug with '5986:0241 BisonCam, NB Pro'
+    if (request == VIDIOC_QUERYCTRL && result != 0 && errno == EIO) {
+      struct v4l2_queryctrl *queryctrl = arg;
+      if (queryctrl->id == 0x980903)
+        errno = EINVAL;
+    }

This workaround work fine, so problem exists only with this id.

Nevertheless, it is not a perennial solution. Laurent Pinchart wrote a better patch that I have adapted for

Notice this problem seems specifics to this computer, not to this webcam. You can find there program I wrote to test this bug.

See also