I wrote a usb device driver for a HID device, have done the compilation and inserted this module in the kernel. the problem is when i start the device it gets matched on the usbhid driver instead of my vendor_and_product specific driver. What didn't I get right? part of dmesg : usb 1-2: new full speed USB device using uhci_hcd and address 2 usb 1-2: configuration #1 chosen from 1 choice input: USB HID v1.11 Keyboard [ATMEL AT89C5131 EvaB HID Keyboard] on usb-0000:00:1d.0-2 usbcore: registered new driver usb-datalogger %cat /proc/bus/usb/devices T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=32 #Cfgs= 1 P: Vendor=03eb ProdID=2003 Rev= 1.00 S: Manufacturer=ATMEL S: Product=AT89C5131 EvaB HID Keyboard S: SerialNumber=1.0.0 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=32ms -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/