What about: rmmod uvcvideo modprobe uvcvideo trace=0xffffffff then run your program You might be able to figure out what xu controls are discovered. On Fri, 28 Apr 2023 at 10:50, hardycheng(鄭易昕) <hardycheng@xxxxxxx> wrote: > > Hi Ricardo, > > Thank you for such a quick reply. > Follow your advice, but I just got few logs in dmesg > > [ 9452.677337] usb 1-1: uvc_v4l2_open > [ 9452.725254] usb 1-1: Resuming interface 0 > [ 9452.725258] usb 1-1: Resuming interface 1 > [ 9452.751971] usb 1-1: uvc_v4l2_release > [ 9455.236973] usb 1-1: Suspending interface 1 > [ 9455.236977] usb 1-1: Suspending interface 0 > > Is there any way to get more debug message about this issue? > > > Best Regards, > Hardy#2374 > > > -----Original Message----- > From: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> > Sent: Friday, April 28, 2023 4:45 PM > To: hardycheng(鄭易昕) <hardycheng@xxxxxxx> > Cc: linux-media@xxxxxxxxxxxxxxx > Subject: Re: UVCIOC_CTRL_MAP not work > > Hi Hardy > > try running: > > echo 0xffffffff > /sys/module/uvcvideo/parameters/trace > > and then your program > > and then dmesg > > It will tell you where it got stock > > Regards! > > On Fri, 28 Apr 2023 at 10:38, hardycheng(鄭易昕) <hardycheng@xxxxxxx> wrote: > > > > Hi Ricardo, > > > > So I modify the `uvc_xu_control_mapping` struct as follows: > > (full code reference attachment `uvc_xu_v4l_mapping_demo.c`) struct > > uvc_xu_control_mapping mapping = { > > .id = 0x01, > > .name = "My Extension Unit", > > .entity = {0x10, 0xbc, 0x46, 0xba, 0x28, 0x5a, 0x4d, 0x7b, 0x97, 0x0e, 0xfd, 0x91, 0x46, 0xa5, 0x2f, 0x2d}, > > .selector = 0x01, > > .size = 32, > > .offset = 0, > > .v4l2_type = V4L2_CTRL_TYPE_INTEGER, > > .data_type = UVC_CTRL_DATA_TYPE_UNSIGNED, > > .menu_info = NULL, > > .menu_count = 0, > > .reserved = {0}, > > }; > > > > And I got difference error message `UVCIOC_CTRL_MAP: No such file or > > directory` Please check attachment `strace_20230428_2.log` for strace > > output > > > > > > Best Regards, > > Hardy > > > > > > -----Original Message----- > > From: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> > > Sent: Friday, April 28, 2023 4:26 PM > > To: hardycheng(鄭易昕) <hardycheng@xxxxxxx> > > Cc: linux-media@xxxxxxxxxxxxxxx > > Subject: Re: UVCIOC_CTRL_MAP not work > > > > Hi Hardy > > > > Seems like you can only add mappings for V4L2_CTRL_TYPE_INTEGER, V4L2_CTRL_TYPE_BOOLEAN:V4L2_CTRL_TYPE_BUTTON and V4L2_CTRL_TYPE_MENU. > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tre > > e/drivers/media/usb/uvc/uvc_v4l2.c#n130 > > > > You are trying to add a map for a V4L2_CTRL_TYPE_STRING > > > > Regards > > > > On Fri, 28 Apr 2023 at 10:20, hardycheng(鄭易昕) <hardycheng@xxxxxxx> wrote: > > > > > > Hi Ricardo, > > > > > > Thanks for reply, > > > > > > I replace `_IOWR('u', 0x20, struct uvc_xu_control_mapping)` to ` > > > UVCIOC_CTRL_MAP` and got the same error, Please check attachment for > > > command output `strace -f ./uvc_xu_v4l_mapping_demo` > > > > > > Best Regards, > > > Hardy > > > > > > -----Original Message----- > > > From: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> > > > Sent: Friday, April 28, 2023 4:04 PM > > > To: hardycheng(鄭易昕) <hardycheng@xxxxxxx> > > > Cc: linux-media@xxxxxxxxxxxxxxx > > > Subject: Re: UVCIOC_CTRL_MAP not work > > > > > > Hi Hardy > > > > > > Why are you using: > > > > > > result = ioctl(fd, _IOWR('u', 0x20, struct uvc_xu_control_mapping), > > > &mapping); > > > > > > instead of > > > > > > result = ioctl(fd, UVCIOC_CTRL_MAP, &mapping); > > > > > > Can you return the output of: > > > > > > strace -f uvc_xu_v4l_mapping_demo > > > > > > Thanks! > > > > > > On Fri, 28 Apr 2023 at 09:15, hardycheng(鄭易昕) <hardycheng@xxxxxxx> wrote: > > > > > > > > Hi, > > > > > > > > # Environment: > > > > > > > > OS = Ubuntu 22.04 LTS (Linux version 5.19.0-41-generic) Program > > > > Language = C Language > > > > > > > > # Overview: > > > > > > > > We plug in our UVC camera to PC, and try to use `UVCIOC_CTRL_MAP` > > > > function on PC to create the v4l2 control mapping, but we got > > > > error > > > > `UVCIOC_CTRL_MAP: Inappropriate ioctl for device` Development with > > > > `C language` in `Ubuntu 22.04 LTS` > > > > > > > > # Description: > > > > > > > > We have a custom UVC camera and we can modify the extension > > > > unit(XU) by ourself. (USB descriptions reference attachments > > > > `uvc_xu_descriptor.PNG` & `usb_decriptions.txt`) > > > > > > > > We make sure that UVCIOC_CTRL_QUERY is work to control our XU item > > > > (demo code in attachment `uvc_xu_ioctl_demo.c`) > > > > > > > > but UVCIOC_CTRL_MAP function fail with error message `UVCIOC_CTRL_MAP: > > > > Inappropriate ioctl for device` (demo code in attachment > > > > `uvc_xu_v4l_mapping_demo.c`) > > > > > > > > # Problems: > > > > > > > > 1. Is UVCIOC_CTRL_MAP function using in the PC host? > > > > 2. Can you found any syntax problem in our demo code `uvc_xu_v4l_mapping_demo.c`? > > > > 3. Is there any sample code about struct `uvc_xu_control_mapping` using? > > > > > > > > Looking forward to your reply, > > > > Best Regards, > > > > Hardy#2374 > > > > > > > > *****CONFIDENTIAL INFORMATION***** > > > > > > > > This email is intended only for the use of the person or entity to > > > > whom it is addressed and contains information that may be subject > > > > to and/or may be restricted from disclosure by contract or > > > > applicable law. If you are not the intended recipient of this > > > > email, be advised that any disclosure, copy, distribution or use of the contents of this message is strictly prohibited. > > > > If you are not the intended recipient of this email, please notify > > > > the sender that you have received this in error by replying to > > > > this message. Then, please delete it from your system. Our Privacy > > > > Policy is available here https://www.msi.com/page/privacy-policy. Thank you. > > > > > > > > > > > > -- > > > Ricardo Ribalda > > > > > > > > > *****CONFIDENTIAL INFORMATION***** > > > > > > This email is intended only for the use of the person or entity to > > > whom it is addressed and contains information that may be subject to > > > and/or may be restricted from disclosure by contract or applicable > > > law. If you are not the intended recipient of this email, be advised > > > that any disclosure, copy, distribution or use of the contents of this message is strictly prohibited. > > > If you are not the intended recipient of this email, please notify > > > the sender that you have received this in error by replying to this > > > message. Then, please delete it from your system. Our Privacy Policy > > > is available here https://www.msi.com/page/privacy-policy. Thank you. > > > > > > > > -- > > Ricardo Ribalda > > > > > > *****CONFIDENTIAL INFORMATION***** > > > > This email is intended only for the use of the person or entity to > > whom it is addressed and contains information that may be subject to > > and/or may be restricted from disclosure by contract or applicable > > law. If you are not the intended recipient of this email, be advised > > that any disclosure, copy, distribution or use of the contents of this message is strictly prohibited. > > If you are not the intended recipient of this email, please notify the > > sender that you have received this in error by replying to this > > message. Then, please delete it from your system. Our Privacy Policy > > is available here https://www.msi.com/page/privacy-policy. Thank you. > > > > -- > Ricardo Ribalda > > > *****CONFIDENTIAL INFORMATION***** > > This email is intended only for the use of the person or entity to whom it is > addressed and contains information that may be subject to and/or may be > restricted from disclosure by contract or applicable law. If you are not the > intended recipient of this email, be advised that any disclosure, copy, > distribution or use of the contents of this message is strictly prohibited. > If you are not the intended recipient of this email, please notify the sender > that you have received this in error by replying to this message. Then, > please delete it from your system. Our Privacy Policy is available here > https://www.msi.com/page/privacy-policy. Thank you. -- Ricardo Ribalda