2

I'm having problems with a CentOS 5.0 system when using a certain USB device. The problem is that the device advertises itself as a HID device and linux is happy to try to provide support for it:

In /ver/log/messages I see a line that reads: hiddev96: USB HID 1.11 Device [KXX USB PRO] on usb-0000:00:1d.0-1

My question comes down to: Is there a way to tell linux to not use hiddev96 for that device in particular? If yes, how? If not, what are my options - can I turn hiddev96 off completely?

UPDATE

I should probably have been a bit more specific about what is going on. The machine is running Centos 5.0, and on top of it I'm running VMWare workstation with Windows XP - which is where the USB device is actually supposed to operate. All works fine for other USB devices (i.e. VMWare successfully connects the USB device to the guest OS and the OS can use it, but for this particular device VMWare connects it to the guest OS, but the OS can't read/write to it) Every attempt locks up the application that is trying to communicate with the device. I've reason to believe that it is because the device is a HID device and there's some contention between the Linux host and the Windows guest OS in accessing the device.

Below is the output from modprobe -l|grep -i hid as requested by @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

And here is the output of 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
  • Can you update your question with outputs of "modprobe -l|grep -i hid" and "lsmod"?
    – Karolis T.
    Oct 28, 2009 at 13:15
  • Updated.. it doesn't seem that hiddev96 itself is a device driver, but I don't know how to make linux not attempt to use the device. Oct 28, 2009 at 16:59

2 Answers 2

1

What is hiddev96, is that a device node name, as in /dev/hiddev96?

You can configure what device name is assigned to what device via udev configuration, look into file:

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

I have not configured it for your particular case, but I have an entry stating to symlink device entry to a specific one for my needs,

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

You can see how to match device by product id and vendor id from this.

1
  • hiddev96 seems to be the linux driver for HID (Human Interface Device ) USB devices. I will check the udev rules to see if it applies.. Oct 27, 2009 at 21:08
1

All you need to do is unbind the driver before telling VMWare to grab it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .