is there a reason "usbhid.quirks" parameter is not root writable?
Robert P. J. Day
rpjday at crashcourse.ca
Thu Nov 12 05:15:41 EST 2015
short form: is there some reason that the usbhid "quirks" parameter
is not by default compiled to be writable in case you wanted to adjust
those values on a running system?
long form: i have a USB device that, sadly, is automatically claimed
by the usbhid driver upon insertion, and i want to prevent that so it
behaves as a regular USB device. from what i've read, the solution is
to, at boot time, add the kernel command line parameter:
that's fine if i want to reboot so that that takes effect, but it
would of course be convenient if i could add that info to
/sys/module/usbhid/parameters/quirks at run-time. currently, on my
fedora 22 system:
$ cat /sys/module/usbhid/parameters/quirks
$ ls -l /sys/module/usbhid/parameters/quirks
-r--r--r--. 1 root root 4096 Nov 12 02:41 /sys/module/usbhid/parameters/quirks
and i can see in drivers/hid/usbhid/hid-core.c the fact that that
array is defined as non-writable:
/* Quirks specified at module load time */
static char *quirks_param[MAX_USBHID_BOOT_QUIRKS];
module_param_array_named(quirks, quirks_param, charp, NULL, 0444);
MODULE_PARM_DESC(quirks, "Add/modify USB HID quirks by specifying "
" where vendorID, productID, and quirks are all in"
" 0x-prefixed hex");
so the obvious(?) question is, is there some reason that that
parameter is defined as read-only rather than, say, writable by root?
would it not be useful to be able to modify that parameter at
run-time? or is there something about that parameter for which that
would be a really bad idea?
Robert P. J. Day Ottawa, Ontario, CANADA
More information about the Kernelnewbies