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

Reply via email to