Исправление Deleted, (текущая версия) :
Купил клавиатуру HP Wireless Keyboard 600.
А какое полное название этой клавиатуры? Гуглится только «HP Pavilion Wireless Keyboard 600», это она?
[ 1.370666] usb 1-1: Product: HP Wireless Keyboard Mouse Kit
Это чисто клавиатура или мышка там тоже в комплекте?
Насторожило, что более HID модулей нет. Сделал предположение, что драйвера грузятся как то подругому, но информации не нашел.
Основные модули hid в федоре вкопилированы в ядро и всегда загружены. lsmod показывает только модули ядра, которые загружаются отдельно от самого ядра. Все модули (и отдельные и вкомпиленные) можно посмотреть в /sys/module/.
Еще проверил usbmon и при нажатии на клавишу q на Defender oscar 600 получил следующиее:
А какой USB ID у Defender oscar 600? А то может для неё в ядре тоже какие-то специальные костыли приделаны.
Я подумал, что необходим именно драйвер HID_Primax, который нашел в системе. Сразу попробовал загрузить модуль:
...
Также нашел опцию GONFIG_HID_PRIMAX=m и опцию CONFIG_HID_GENERIC=y в /boot/config-4.20.5-200.fc29.x86_64 Пробовал CONFIG_HID_PRIMAX=y, вслепую так как информацию не нашел.
/boot/config-* - это конфиг *сборки* ядра. Изменения в нём не имеют силы, пока не положишь его в исходники ядра и не запустишь сборку =).
Теперь по поводу модуля hid-primax: этот модуль предназначен для другого устройства, с USB ID 0461:4E05 (у твоей клавиатуры - 0461:4e90):
$ modinfo hid-primax | grep alias
alias: hid:b0003g*v00000461p00004E05
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 24f846d67478..61d1f6cade3f 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -1221,7 +1221,8 @@
#define USB_VENDOR_ID_PRIMAX 0x0461
#define USB_DEVICE_ID_PRIMAX_MOUSE_4D22 0x4d22
-#define USB_DEVICE_ID_PRIMAX_KEYBOARD 0x4e05
+#define USB_DEVICE_ID_PRIMAX_KEYBOARD_4E05 0x4e05
+#define USB_DEVICE_ID_PRIMAX_KEYBOARD_4E90 0x4e90
#define USB_DEVICE_ID_PRIMAX_REZEL 0x4e72
#define USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4D0F 0x4d0f
#define USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4E22 0x4e22
diff --git a/drivers/hid/hid-primax.c b/drivers/hid/hid-primax.c
index 3a1c3c4c50dc..b3abee04eb5c 100644
--- a/drivers/hid/hid-primax.c
+++ b/drivers/hid/hid-primax.c
@@ -65,7 +65,8 @@ static int px_raw_event(struct hid_device *hid, struct hid_report *report,
}
static const struct hid_device_id px_devices[] = {
- { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD_4E05) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD_4E90) },
{ }
};
MODULE_DEVICE_TABLE(hid, px_devices);
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index 94088c0ed68a..ecc90d09aeb1 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -562,7 +562,8 @@ static const struct hid_device_id hid_have_special_driver[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, HID_ANY_ID) },
#endif
#if IS_ENABLED(CONFIG_HID_PRIMAX)
- { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD_4E05) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD_4E90) },
#endif
#if IS_ENABLED(CONFIG_HID_PRODIKEYS)
{ HID_USB_DEVICE(USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_PRODIKEYS_PCMIDI) },
P.S. По выводу usbmon и исходникам hid-primax, я не понимаю как hid-primax может помочь. Но мало ли...
Исходная версия Deleted, :
Купил клавиатуру HP Wireless Keyboard 600.
А какое полное название этой клавиатуры? Гуглится только «HP Pavilion Wireless Keyboard 600», это она?
[ 1.370666] usb 1-1: Product: HP Wireless Keyboard Mouse Kit
Это чисто клавиатура или мышка там тоже в комплекте?
Насторожило, что более HID модулей нет. Сделал предположение, что драйвера грузятся как то подругому, но информации не нашел.
Основные модули hid в федоре вкопилированы в ядро и всегда загружены. lsmod показывает только модули ядра, которые загружаются отдельно от самого ядра. Все модули (и отдельные и вкомпиленные) можно посмотреть в /sys/module/.
Еще проверил usbmon и при нажатии на клавишу q на Defender oscar 600 получил следующиее:
А какой USB ID у Defender oscar 600? А то может для неё в ядре тоже какие-то специальные костыли приделаны.
Я подумал, что необходим именно драйвер HID_Primax, который нашел в системе. Сразу попробовал загрузить модуль:
...
Также нашел опцию GONFIG_HID_PRIMAX=m и опцию CONFIG_HID_GENERIC=y в /boot/config-4.20.5-200.fc29.x86_64 Пробовал CONFIG_HID_PRIMAX=y, вслепую так как информацию не нашел.
/boot/config-* - это конфиг *сборки* ядра. Изменения в нём не имеют силы, пока не положишь их в исходники ядра и не запустишь сборку =).
Теперь по поводу модуля hid-primax: этот модуль предназначен для другого устройства, с USB ID 0461:4E05 (у твоей клавиатуры - 0461:4e90):
$ modinfo hid-primax | grep alias
alias: hid:b0003g*v00000461p00004E05
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 24f846d67478..61d1f6cade3f 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -1221,7 +1221,8 @@
#define USB_VENDOR_ID_PRIMAX 0x0461
#define USB_DEVICE_ID_PRIMAX_MOUSE_4D22 0x4d22
-#define USB_DEVICE_ID_PRIMAX_KEYBOARD 0x4e05
+#define USB_DEVICE_ID_PRIMAX_KEYBOARD_4E05 0x4e05
+#define USB_DEVICE_ID_PRIMAX_KEYBOARD_4E90 0x4e90
#define USB_DEVICE_ID_PRIMAX_REZEL 0x4e72
#define USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4D0F 0x4d0f
#define USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4E22 0x4e22
diff --git a/drivers/hid/hid-primax.c b/drivers/hid/hid-primax.c
index 3a1c3c4c50dc..b3abee04eb5c 100644
--- a/drivers/hid/hid-primax.c
+++ b/drivers/hid/hid-primax.c
@@ -65,7 +65,8 @@ static int px_raw_event(struct hid_device *hid, struct hid_report *report,
}
static const struct hid_device_id px_devices[] = {
- { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD_4E05) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD_4E90) },
{ }
};
MODULE_DEVICE_TABLE(hid, px_devices);
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index 94088c0ed68a..ecc90d09aeb1 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -562,7 +562,8 @@ static const struct hid_device_id hid_have_special_driver[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, HID_ANY_ID) },
#endif
#if IS_ENABLED(CONFIG_HID_PRIMAX)
- { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD_4E05) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD_4E90) },
#endif
#if IS_ENABLED(CONFIG_HID_PRODIKEYS)
{ HID_USB_DEVICE(USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_PRODIKEYS_PCMIDI) },
P.S. По выводу usbmon и исходникам hid-primax, я не понимаю как hid-primax может помочь. Но мало ли...