Назад | Перейти на главную страницу

Как отключить 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 

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

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

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

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

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

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

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