Hi, When I connected the device I found that the probe function is called more than once. First time when the probe gets called it returns success with the number of bulk ins and outs as one. For the rest of the probe calls the bulk ins and outs are zero and the probe returns NULL and hence it fails.
The contents of /proc/bus/usb/devices are: T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 0.00 S: Product=USB UHCI Root Hub S: SerialNumber=2440 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0a12 ProdID=0001 Rev= 3.73 C:* #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=200mA I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=bluetty E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none) E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none) E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none) E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none) E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none) E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=(none) E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms I: If#= 2 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none) _____________________________________________________________________________ ________________ _____________________________________________________________________________ _____ dmesg log: usb.c: registered new driver usbdevfs usb.c: registered new driver hub usb-uhci.c: $Revision: 1.275 $ time 15:33:40 Apr 26 2004 usb-uhci.c: High bandwidth mode enabled PCI: Found IRQ 11 for device 00:1f.2 PCI: Setting latency timer of device 00:1f.2 to 64 usb-uhci.c: USB UHCI at I/O 0x2440, IRQ 11 usb-uhci.c: Detected 2 ports usb.c: new USB bus registered, assigned bus number 1 usb.c: kmalloc IF c254f180, numif 1 usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1 usb.c: USB device number 1 default language ID 0x0 Product: USB UHCI Root Hub SerialNumber: 2440 hub.c: USB hub found hub.c: 2 ports detected hub.c: standalone hub hub.c: ganged power switching hub.c: global over-current protection hub.c: Port indicators are not supported hub.c: power on to power good time: 2ms hub.c: hub controller current requirement: 0mA hub.c: port removable status: RR hub.c: local power source is good hub.c: no over-current condition exists hub.c: enabling power on all ports usb.c: hub driver claimed interface c254f180 usb.c: kusbd: /sbin/hotplug add 1 usb-uhci.c: v1.275:USB Universal Host Controller Interface driver usb.c: registered new driver hid hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <[EMAIL PROTECTED]> hid-core.c: USB HID support drivers mice: PS/2 mouse device common for all mice EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,7), internal journal Adding Swap: 522072k swap-space (priority -1) kjournald starting. Commit interval 5 seconds EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,9), internal journal EXT3-fs: mounted filesystem with ordered data mode. parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE] parport0: irq 7 detected ip_tables: (C) 2000-2002 Netfilter core team Intel(R) PRO/100 Network Driver - version 2.1.29-k2 Copyright (c) 2002 Intel Corporation PCI: Found IRQ 11 for device 01:08.0 PCI: Sharing IRQ 11 with 00:01.0 e100: selftest OK. divert: allocating divert_blk for eth0 e100: eth0: Intel(R) PRO/100+ Alert on LAN* Management Adapter Hardware receive checksums enabled cpu cycle saver enabled ip_tables: (C) 2000-2002 Netfilter core team parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE] parport0: irq 7 detected lp0: using parport0 (polling). lp0: console ready Linux agpgart interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for agp memory: 439M agpgart: Detected an Intel i810 E Chipset. agpgart: detected 4MB dedicated video ram. agpgart: AGP aperture is 64M @ 0x44000000 [drm] AGP 0.99 on Intel i810 @ 0x44000000 64MB [drm] Initialized i810 1.2.1 20020211 on minor 0 mtrr: base(0x44000000) is not aligned on a size(0x180000) boundary PCI: Found IRQ 11 for device 00:01.0 PCI: Sharing IRQ 11 with 01:08.0 Intel 810 + AC97 Audio, version 0.24, 15:31:08 Apr 26 2004 PCI: Found IRQ 11 for device 00:1f.5 PCI: Setting latency timer of device 00:1f.5 to 64 i810: Intel ICH 82801AA found at IO 0x2400 and 0x2000, MEM 0x0000 and 0x0000, IRQ 11 i810_audio: Audio Controller supports 2 channels. i810_audio: Defaulting to base 2 channel mode. i810_audio: Resetting connection 0 ac97_codec: AC97 Audio codec, id: ADS64 (Analog Devices AD1881) i810_audio: AC'97 codec 0 Unable to map surround DAC's (or DAC's not present), total channels = 2 hub.c: port 1, portstatus 100, change 0, 12 Mb/s hub.c: port 2, portstatus 101, change 1, 12 Mb/s hub.c: port 2 connection change hub.c: port 2, portstatus 101, change 1, 12 Mb/s hub.c: port 2, portstatus 101, change 0, 12 Mb/s hub.c: port 2, portstatus 101, change 0, 12 Mb/s hub.c: port 2, portstatus 101, change 0, 12 Mb/s hub.c: port 2, portstatus 101, change 0, 12 Mb/s hub.c: port 2, portstatus 103, change 0, 12 Mb/s hub.c: new USB device 00:1f.2-2, assigned address 2 usb.c: kmalloc IF dce50980, numif 3 usb.c: skipped 1 class/vendor specific interface descriptors usb.c: new device strings: Mfr=0, Product=0, SerialNumber=0 usb.c: unhandled interfaces on device usb.c: USB device 2 (vend/prod 0xa12/0x1) is not claimed by any active driver. Length = 18 DescriptorType = 01 USB version = 1.10 Vendor:Product = 0a12:0001 MaxPacketSize0 = 64 NumConfigurations = 1 Device version = 3.73 Device Class:SubClass:Protocol = e0:01:01 Unknown class Configuration: bLength = 9 bDescriptorType = 02 wTotalLength = 00c1 bNumInterfaces = 03 bConfigurationValue = 01 iConfiguration = 00 bmAttributes = 80 MaxPower = 200mA Interface: 0 Alternate Setting: 0 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 00 bAlternateSetting = 00 bNumEndpoints = 03 bInterface Class:SubClass:Protocol = e0:01:01 iInterface = 00 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 81 (in) bmAttributes = 03 (Interrupt) wMaxPacketSize = 0010 bInterval = 01 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 02 (out) bmAttributes = 02 (Bulk) wMaxPacketSize = 0040 bInterval = 01 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 82 (in) bmAttributes = 02 (Bulk) wMaxPacketSize = 0040 bInterval = 01 Interface: 1 Alternate Setting: 0 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 01 bAlternateSetting = 00 bNumEndpoints = 02 bInterface Class:SubClass:Protocol = e0:01:01 iInterface = 00 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 03 (out) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0000 bInterval = 01 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 83 (in) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0000 bInterval = 01 Alternate Setting: 1 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 01 bAlternateSetting = 01 bNumEndpoints = 02 bInterface Class:SubClass:Protocol = e0:01:01 iInterface = 00 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 03 (out) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0009 bInterval = 01 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 83 (in) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0009 bInterval = 01 Alternate Setting: 2 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 01 bAlternateSetting = 02 bNumEndpoints = 02 bInterface Class:SubClass:Protocol = e0:01:01 iInterface = 00 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 03 (out) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0011 bInterval = 01 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 83 (in) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0011 bInterval = 01 Alternate Setting: 3 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 01 bAlternateSetting = 03 bNumEndpoints = 02 bInterface Class:SubClass:Protocol = e0:01:01 iInterface = 00 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 03 (out) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0019 bInterval = 01 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 83 (in) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0019 bInterval = 01 Alternate Setting: 4 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 01 bAlternateSetting = 04 bNumEndpoints = 02 bInterface Class:SubClass:Protocol = e0:01:01 iInterface = 00 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 03 (out) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0021 bInterval = 01 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 83 (in) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0021 bInterval = 01 Alternate Setting: 5 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 01 bAlternateSetting = 05 bNumEndpoints = 02 bInterface Class:SubClass:Protocol = e0:01:01 iInterface = 00 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 03 (out) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0031 bInterval = 01 Endpoint: bLength = 7 bDescriptorType = 05 bEndpointAddress = 83 (in) bmAttributes = 01 (Isochronous) wMaxPacketSize = 0031 bInterval = 01 Interface: 2 Alternate Setting: 0 bLength = 9 bDescriptorType = 04 bInterfaceNumber = 02 bAlternateSetting = 00 bNumEndpoints = 00 bInterface Class:SubClass:Protocol = fe:01:00 iInterface = 00 usb.c: kusbd: /sbin/hotplug add 2 hub.c: port 1, portstatus 100, change 0, 12 Mb/s hub.c: port 2, portstatus 103, change 0, 12 Mb/s bluetooth.c: USB Bluetooth support registered usb.c: registered new driver bluetty bluetooth.c: found interrupt in bluetooth.c: found bulk out bluetooth.c: found bulk in bluetooth.c: USB Bluetooth converter detected bluetooth.c: Bluetooth converter now attached to ttyUB0 (or usb/ttub/0 for devfs) usb.c: bluetty driver claimed interface dce50980 bluetooth.c: usb_bluetooth_probe - improper number of endpoints. Bluetooth driver not bound. bluetooth.c: usb_bluetooth_probe - improper number of endpoints. Bluetooth driver not bound. bluetooth.c: usb_bluetooth_probe - improper number of endpoints. Bluetooth driver not bound. bluetooth.c: usb_bluetooth_probe - improper number of endpoints. Bluetooth driver not bound. bluetooth.c: usb_bluetooth_probe - improper number of endpoints. Bluetooth driver not bound. bluetooth.c: usb_bluetooth_probe - improper number of endpoints. Bluetooth driver not bound. bluetooth.c: usb_bluetooth_probe - improper number of endpoints. Bluetooth driver not bound. bluetooth.c: USB Bluetooth tty driver v0.13 Sunil. -----Original Message----- From: Alan Stern [mailto:[EMAIL PROTECTED] Sent: Mon 4/26/2004 9:01 PM To: Sunil Kumar Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: [linux-usb-devel] Problem in Bluetooth USB driver. On Mon, 26 Apr 2004, Sunil Kumar wrote: > Hi, > I am facing a problem in the bluetooth usb driver. I found out that the probe > function of bluetooth.c in the linux kernel source was failing once the > device was connected, later when I checked, I found out that there were > zero bulk in, bulk out and interrupt endpoints, because of which the probe > function returns NULL. > Can you please let me know why is this happening and what can be done ? Can you post the content of /proc/bus/usb/devices with the device connected? Also, can you enable USB debugging in the kernel configuration and post the dmesg log for the time period when the bluetooth device is first plugged in and the driver loaded? Alan Stern DISCLAIMER: This message (including attachment if any) is confidential and may be privileged. Before opening attachments please check them for viruses and defects. MindTree Consulting Private Limited (MindTree) will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside. If you have received this message by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change and MindTree shall not be liable for any improper, untimely or incomplete transmission. ------------------------------------------------------- This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek For a limited time only, get FREE Ground shipping on all orders of $35 or more. Hurry up and shop folks, this offer expires April 30th! http://www.thinkgeek.com/freeshipping/?cpg297 _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel