none
Getting "Unidentified USB device" dialog box for a "BTH WLAN" adapter RRS feed

  • Question

  • I have tested an USB BT dongle on my WEC7 device, and is working properly.

    It is detecting as PnP device, and my bthusb.dll is loading and it's HCI functions are being used.

    But if I connect my "BT WLAN" dongle (it contains both WiFi and BT), I get a dialog box, "Unidentified USB device".

    It is not loading bthusb.dll, even if I enter the name manually on this dialog box.

    If I connect this device to my Win7 PC, I'm seeing a "Wireless USB network module" device connected.

    How I can make sure that bthusb.dll get loaded for this particular device?

    Thanks. :)

    Wednesday, December 10, 2014 1:23 PM

Answers

  • If anyone trying to develop BT driver for one such module (Such as above one, a BT-WiFi module), Refer this link for getting more idea on this.

    See these registry settings for detection of (a special) BT dongle:

    (Pasting from above link. Read the article for clear idea)

    [HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Transports\PnP\{<GUID>}]
        "flags"=dword:80000000
        "driver"="bthusb.dll"
        "resetdelay"=dword:0
        "PacketSize"=dword:200
        "BlockSize"=dword:5
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\sys]
       "Power"=dword:1                  ; Radio on by default
       "ScanMode"=dword:3               ; Radio is discoverable
       "DisableAutoSuspend"=dword:1     ; Allow suspend when connected
    [HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\5656_37139\Default\Default\Bluetooth_USB_Driver]
       "DLL"="bthusb.dll"
    [HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Custom\MANF-041B-CARDID-9330-FUNC-1]
      "Dll"="bthsdio.dll" 
    

    • Marked as answer by Keshava GN Thursday, April 14, 2016 9:04 AM
    • Edited by Keshava GN Thursday, April 14, 2016 9:04 AM
    Thursday, April 14, 2016 9:03 AM

All replies

  • It seems that your BT WLAN module needs a special driver.  You will need to check with the vendor or OEM.

    What are the VID/PID/Class IDs?


    Bruce Eitman (eMVP) Senior Engineer Bruce.Eitman AT Eurotech DOT com My BLOG http://geekswithblogs.net/bruceeitman Eurotech Inc. www.Eurotech.com

    Wednesday, December 10, 2014 1:36 PM
    Moderator
  • Hi Bruce,

    VID and PID are 1618 and 9113.

    Actually I need to develop and test only BT driver for this module.
    Can't I use bthusb.dll (I can modify this driver for this particular device, but I want to know how to load this dll)?

    Whether I should add any registry settings?

    AFAIK, BthUniv.dll will load this driver. But I think the device is not even showing itself as a BT device, so that BthUniv.dll recognises it. Because, bthusb.dll is not loading even if I add it's registry entry under [HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Transports\BuiltIn\1] as described in blogpost: https://guruce.com/blogpost/adding-bluetooth-support-to-a-wec7-kernel

    Also, I wanted to know more about BthUniv.dll code. But I can't even find it's registry entries.

    Thanks :)

    Wednesday, December 10, 2014 1:53 PM
  • And the Class ID is?

    If it is identifying itself as something other than Bluetooth, then wishful thinking is not going to solve this problem.  If the problem that you have is with USB - then focus on that.  You seem to have a device that identifies itself on the USB bus as something other than Bluetooth - isn't that what you indicated in your first post?

    Did you contact the vendor or OEM as I recommended earlier?


    Bruce Eitman (eMVP) Senior Engineer Bruce.Eitman AT Eurotech DOT com My BLOG http://geekswithblogs.net/bruceeitman Eurotech Inc. www.Eurotech.com

    Wednesday, December 10, 2014 9:15 PM
    Moderator
  • Hi Bruce,

    Regarding the OEM, actually the device has Linux driver support. And we need to develop WEC7 driver. I thought I can take bthusb driver as reference, and checked whether the driver is loading if I connect the device. And I got the following window:


    If I connect the same device to Win7 PC,


    Regarding ClassID, I'm sorry, I don't know how to check ClassID of a device. :(

    But below is the dump of device descriptor:

    +Dump USB_DEVICE_DESCRIPTOR
    bLength = 0x12
    bDescriptorType = 0x01
    bcdUSB = 0x0200
    bDeviceClass = 0x00
    bDeviceSubClass = 0x00
    bDeviceProtocol = 0x00
    bMaxPacketSize0 = 0x40
    idVendor = 0x1618
    idProduct = 0x9113
    bcdDevice = 0x0002
    iManufacturer = 0x01
    iProduct = 0x02
    iSerialNumber = 0x06
    bNumConfigurations = 0x01
    -Dump USB_DEVICE_DESCRIPTOR

    Thanks :)

    • Edited by Keshava GN Thursday, December 11, 2014 10:06 AM changed/updated image files
    Thursday, December 11, 2014 6:02 AM
  • Please check USB.org for more information, specifically http://www.usb.org/developers/defined_class compare this information with the information that you posted:

    bDeviceClass = 0x00
    bDeviceSubClass
    = 0x00
    bDeviceProtocol
    = 0x00

    Then search that page for Bluetooth and you will find that the class is completely different.   This is because your USB stick is not presenting itself as a Bluetooth device, nor is it responding as if it is a Bluetooth device.

    You will need to contact the vendor or OEM to obtain information to write a driver.   They probably won't provide the information.

    Good luck


    Bruce Eitman (eMVP) Senior Engineer Bruce.Eitman AT Eurotech DOT com My BLOG http://geekswithblogs.net/bruceeitman Eurotech Inc. www.Eurotech.com

    Thursday, December 11, 2014 1:43 PM
    Moderator
  • Thanks Bruce.

    It was really helpful.

    According to the specs in the link,

    Base Class 00h (Device)

    This base class is defined to be used in Device Descriptors to indicate that class information should be determined from the Interface Descriptors in the device. There is one class code definition in this base class.  All other values are reserved.

    Whether I need to change anything in USB side?


    The device is not just a Bluetooth dongle.

    It contains BT+WiFi+ZigBee, through same interface (USB/SDIO) (This needs to be handled in a common HAL code).

    But I can't understand how to make the BthUniv.dll to recognise my BT driver, so that the BT stack can communicate to my driver.

    Thanks. :)

    Thursday, December 11, 2014 2:12 PM
  • You will need to contact the vendor or OEM to obtain information to write a driver.   They probably won't provide the information.

    Bruce Eitman (eMVP) Senior Engineer Bruce.Eitman AT Eurotech DOT com My BLOG http://geekswithblogs.net/bruceeitman Eurotech Inc. www.Eurotech.com

    Thursday, December 11, 2014 4:11 PM
    Moderator
  • Thanks Bruce. :)
    Friday, December 12, 2014 3:56 AM
  • If anyone trying to develop BT driver for one such module (Such as above one, a BT-WiFi module), Refer this link for getting more idea on this.

    See these registry settings for detection of (a special) BT dongle:

    (Pasting from above link. Read the article for clear idea)

    [HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Transports\PnP\{<GUID>}]
        "flags"=dword:80000000
        "driver"="bthusb.dll"
        "resetdelay"=dword:0
        "PacketSize"=dword:200
        "BlockSize"=dword:5
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\sys]
       "Power"=dword:1                  ; Radio on by default
       "ScanMode"=dword:3               ; Radio is discoverable
       "DisableAutoSuspend"=dword:1     ; Allow suspend when connected
    [HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\5656_37139\Default\Default\Bluetooth_USB_Driver]
       "DLL"="bthusb.dll"
    [HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Custom\MANF-041B-CARDID-9330-FUNC-1]
      "Dll"="bthsdio.dll" 
    

    • Marked as answer by Keshava GN Thursday, April 14, 2016 9:04 AM
    • Edited by Keshava GN Thursday, April 14, 2016 9:04 AM
    Thursday, April 14, 2016 9:03 AM