Как отключить hiddev96 в Linux (или сказать, чтобы оно игнорировало конкретное устройство)

У меня проблемы с системой CentOS 5.0 при использовании определенного USB-устройства. Проблема в том, что устройство рекламирует себя как устройство HID, и linux с радостью попытается обеспечить его поддержку:

В /ver/log/messages я вижу строку, которая гласит: hiddev96: USB HID 1.11 Device [KXX USB PRO] on usb-0000:00:1d.0-1

Мой вопрос сводится к следующему: есть ли способ сказать linux не использовать hiddev96 для этого устройства в частности? Если да, то как? Если нет, какие у меня варианты - можно ли полностью отключить hiddev96?

ОБНОВИТЬ

Я, наверное, должен был быть более конкретным о том, что происходит. На машине установлен Centos 5.0, и, кроме того, я использую рабочую станцию ​​VMWare с Windows XP - именно там, где на самом деле должно работать USB-устройство. Все отлично работает для других USB-устройств (т.е. VMWare успешно подключает USB-устройство к гостевой ОС, и ОС может использовать его, но для этого конкретного устройства VMWare подключает его к гостевой ОС, но ОС не может читать / записывать на него) Каждая попытка блокирует приложение, которое пытается связаться с устройством. У меня есть основания полагать, что это потому, что устройство является устройством HID, и между хостом Linux и гостевой ОС Windows существует некоторая конкуренция при доступе к устройству.

Ниже вывод от modprobe -l|grep -i hid в соответствии с просьбой @Karolis:

# modprobe -l | grep -i hid
/lib/modules/2.6.18-53.1.14.el5/kernel/net/bluetooth/hidp/hidp.ko
/lib/modules/2.6.18-53.1.14.el5/kernel/drivers/usb/misc/phidgetservo.ko
/lib/modules/2.6.18-53.1.14.el5/kernel/drivers/usb/misc/phidgetkit.ko

А вот и вывод lsmod

# lsmod
Module                  Size  Used by
udf                    76997  1 
vboxdrv                65696  0 
autofs4                24517  2 
hidp                   23105  2 
rfcomm                 42457  0 
l2cap                  29633  10 hidp,rfcomm
tun                    14657  0 
vmnet                  49980  16 
vmblock                20512  3 
vmmon                 945236  0 
sunrpc                144253  1 
cpufreq_ondemand       10573  1 
video                  19269  0 
sbs                    18533  0 
backlight              10049  0 
i2c_ec                  9025  1 sbs
button                 10705  0 
battery                13637  0 
asus_acpi              19289  0 
ac                      9157  0 
ipv6                  251393  27 
lp                     15849  0 
snd_hda_intel          24025  2 
snd_hda_codec         202689  1 snd_hda_intel
snd_seq_dummy           7877  0 
snd_seq_oss            32577  0 
nvidia               7824032  31 
snd_seq_midi_event     11073  1 snd_seq_oss
snd_seq                49713  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device         11725  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            42945  0 
snd_mixer_oss          19009  1 snd_pcm_oss
snd_pcm                72133  3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
joydev                 13313  0 
sg                     36061  0 
parport_pc             29157  1 
snd_timer              24645  2 snd_seq,snd_pcm
snd                    52421  13     snd_hda_intel,snd_hda_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
ndiswrapper           170384  0 
parport                37513  2 lp,parport_pc
hci_usb                20317  2 
ide_cd                 40033  1 
tg3                   104389  0 
i2c_i801               11469  0 
bluetooth              53925  8 hidp,rfcomm,l2cap,hci_usb
soundcore              11553  1 snd
cdrom                  36705  1 ide_cd
serio_raw              10693  0 
snd_page_alloc         14281  2 snd_hda_intel,snd_pcm
i2c_core               23745  3 i2c_ec,nvidia,i2c_i801
pcspkr                  7105  0 
dm_snapshot            20709  0 
dm_zero                 6209  0 
dm_mirror              28741  0 
dm_mod                 58201  8 dm_snapshot,dm_zero,dm_mirror
ahci                   23621  4 
libata                115833  1 ahci
sd_mod                 24897  5 
scsi_mod              132685  3 sg,libata,sd_mod
ext3                  123337  3 
jbd                    56553  1 ext3
ehci_hcd               32973  0 
ohci_hcd               23261  0 
uhci_hcd               25421  0 

2 ответа

Все, что вам нужно сделать, это отсоединить драйвер перед тем, как сообщить VMWare о его получении.

Что такое hiddev96, это имя узла устройства, как в /dev/hiddev96?

Вы можете настроить, какое имя устройства будет назначено какому устройству через конфигурацию udev, посмотрите в файл:

/etc/udev/rules.d/50-udev.rules

Я не настроил его для вашего конкретного случая, но у меня есть запись, указывающая на запись устройства symlink на конкретную для моих нужд,

# SE K530i
SUBSYSTEM == "tty", KERNEL == "ttyACM2", SYSFS {idProduct} == "d079", SYSFS {idVendor} == "0fce", SYMLINK = "k530", MODE = "666"

Из этого вы можете узнать, как сопоставить устройство по идентификатору продукта и идентификатору поставщика.

Другие вопросы по тегам