# Bluetooth dongle not found?

## nollidj

I have been trying without success to get the Bluetooth dongle that is a part of the Logitech DiNovo Media keyboard setup.  There are instructions at http://linux.yes.nu/diNovo/ , but following them doesn't get it working.  I have a slightly different version of the desktop combo than the author of that page (I have the "laser desktop" version, with a different mouse and possibly other differences), so that might be why his instructions don't work.

The setup is a Bluetooth dongle through which a mouse and keyboard connect.  The mouse and keyboard work in the BIOS and bootloader and also work without any special Bluetooth drivers on the computer, so it is my guess that they negotiate with the dongle themselves and show up as standard USB devices.  There's no problem there.  The difficulty arises when I try to get my system to recognize the Bluetooth dongle, which doesn't seem to show up as such.

I have compiled my kernel with the following options:

```

CONFIG_BT=y

CONFIG_BT_L2CAP=y

CONFIG_BT_SCO=y

CONFIG_BT_RFCOMM=y

CONFIG_BT_RFCOMM_TTY=y

CONFIG_BT_BNEP=y

CONFIG_BT_BNEP_MC_FILTER=y

CONFIG_BT_BNEP_PROTO_FILTER=y

CONFIG_BT_HIDP=y

CONFIG_BT_HCIUSB=y

CONFIG_BT_HCIUSB_SCO=y

CONFIG_BT_HCIUART=y

CONFIG_BT_HCIUART_H4=y

CONFIG_BT_HCIUART_BCSP=y

CONFIG_BT_HCIBCM203X=y

CONFIG_BT_HCIBPA10X=y

CONFIG_BT_HCIBFUSB=y

CONFIG_BT_HCIVHCI=y

CONFIG_USB_ARCH_HAS_HCD=y

CONFIG_USB_ARCH_HAS_OHCI=y

CONFIG_USB=y

CONFIG_USB_DEBUG=y

CONFIG_USB_DEVICEFS=y

CONFIG_USB_EHCI_HCD=y

CONFIG_USB_OHCI_HCD=y

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_UHCI_HCD=y

CONFIG_USB_PRINTER=m

CONFIG_USB_STORAGE=m

CONFIG_USB_HID=y

CONFIG_USB_HIDINPUT=y

CONFIG_USB_HIDDEV=y
```

I realize they are probably excessive, but I will prune them once I get things working.  I have emerged bluez-utils and can get the bluetooth service running, though it doesn't seem to do anything.  /etc/conf.d/bluetooth says:

```

HCID_ENABLE=true

HCID_CONFIG="/etc/bluetooth/hcid.conf"

SDPD_ENABLE=true

HIDD_ENABLE=true

HIDD_OPTIONS=""

HID2HCI_ENABLE=true

RFCOMM_ENABLE=true

RFCOMM_CONFIG="/etc/bluetooth/rfcomm.conf"

DUND_ENABLE=false

DUND_OPTIONS="--listen --persist"

PAND_ENABLE=false

PAND_OPTIONS="--listen --role NAP"

```

While /etc/bluetooth/hcid.conf says:

```

options {

        autoinit yes;

        security auto;

        pairing multi;

        pin_helper /etc/bluetooth/pin-helper;

}

device {

        name "BlueZ at %h (%d)"

        class 0x3e0100;

        iscan enable; pscan enable;

        lm accept;

        lp rswitch,hold,sniff,park;

}

```

In spite of all this setup, after booting and making sure that the bluetooth service is started, I get the following results from looking for Bluetooth devices:

```
root@ligeia:~# hcitool dev

Devices:

root@ligeia:~# hciconfig

```

Other debugging information:

```
root@ligeia:~# lsusb

Bus 002 Device 002: ID 04e8:323a Samsung Electronics Co., Ltd

Bus 002 Device 001: ID 0000:0000

Bus 001 Device 006: ID 046d:c70c Logitech, Inc.

Bus 001 Device 005: ID 046d:c70b Logitech, Inc.

Bus 001 Device 004: ID 0472:0065 Chicony Electronics Co., Ltd PFU-65 Keyboard

Bus 001 Device 003: ID 046d:0b02 Logitech, Inc.

Bus 001 Device 002: ID 0472:0065 Chicony Electronics Co., Ltd PFU-65 Keyboard

Bus 001 Device 001: ID 0000:0000

root@ligeia:~#

```

The Chicony entries are my keyboard, and device 046d:0b02 is the Bluetooth dongle.  If I run hid2hci manually, I have some success:

```
root@ligeia:~# hid2hci

Switching device 046d:0b02 to HCI mode was successful

root@ligeia:~#

```

However, I'm unable to perform any Bluetooth operations on the hardware.  Exploration has led me to believe that the dongle is being captured wholesale by the USB driver and forced to serve as a USB hub; this, for some reason, would keep it from being found by the Bluetooth driver.  Here are the pertinent contents of /proc/bus/usb/devices:

```

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=12  MxCh= 3

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=046d ProdID=0b02 Rev=40.01

S:  Manufacturer=Logitech

S:  Product=Logitech BT Mini-Receiver

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=255ms

T:  Bus=01 Lev=02 Prnt=03 Port=01 Cnt=01 Dev#=  5 Spd=12  MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=046d ProdID=c70b Rev=40.01

S:  Manufacturer=Logitech

S:  Product=Logitech BT Mini-Receiver

S:  SerialNumber=0007614470B7

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=01 Lev=02 Prnt=03 Port=02 Cnt=02 Dev#=  6 Spd=12  MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=046d ProdID=c70c Rev=40.01

S:  Manufacturer=Logitech

S:  Product=Logitech BT Mini-Receiver

S:  SerialNumber=0007614470B7

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=5ms

```

Note the entity that is using the hub driver.  That is the dongle.

Finally, here is some output from dmesg when the dongle is inserted:

```

hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0004

uhci_hcd 0000:00:1f.2: port 2 portsc 008a,00

hub 1-0:1.0: port 2, status 0100, change 0003, 12 Mb/s

usb 1-2: USB disconnect, address 3

usb 1-2.2: USB disconnect, address 5

usb 1-2.2: usb_disable_device nuking all URBs

usb 1-2.2: unregistering interface 1-2.2:1.0

usb 1-2.2:1.0: uevent

usb 1-2.2: unregistering device

usb 1-2.2: uevent

usb 1-2.3: USB disconnect, address 6

usb 1-2.3: usb_disable_device nuking all URBs

usb 1-2.3: unregistering interface 1-2.3:1.0

drivers/usb/core/file.c: removing 96 minor

usb 1-2.3:1.0: uevent

usb 1-2.3: unregistering device

usb 1-2.3: uevent

usb 1-2: usb_disable_device nuking all URBs

uhci_hcd 0000:00:1f.2: shutdown urb dfd5bcc0 pipe 40408380 ep1in-intr

usb 1-2: unregistering interface 1-2:1.0

usb 1-2:1.0: uevent

usb 1-2: unregistering device

usb 1-2: uevent

hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x100

hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0004

uhci_hcd 0000:00:1f.2: port 2 portsc 0082,00

hub 1-0:1.0: port 2, status 0100, change 0001, 12 Mb/s

uhci_hcd 0000:00:1f.2: port 2 portsc 0093,00

hub 1-0:1.0: debounce: port 2: total 125ms stable 100ms status 0x101

usb 1-2: new full speed USB device using uhci_hcd and address 7

usb 1-2: ep0 maxpacket = 8

usb 1-2: default language 0x0409

usb 1-2: new device strings: Mfr=1, Product=2, SerialNumber=0

usb 1-2: Product: Logitech BT Mini-Receiver

usb 1-2: Manufacturer: Logitech

usb 1-2: uevent

usb 1-2: device is bus-powered

usb 1-2: configuration #1 chosen from 1 choice

usb 1-2: adding 1-2:1.0 (config #1, interface 0)

usb 1-2:1.0: uevent

hub 1-2:1.0: usb_probe_interface

hub 1-2:1.0: usb_probe_interface - got id

hub 1-2:1.0: USB hub found

hub 1-2:1.0: 3 ports detected

hub 1-2:1.0: compound device; port removable status: RFF

hub 1-2:1.0: ganged power switching

hub 1-2:1.0: global over-current protection

hub 1-2:1.0: power on to power good time: 100ms

hub 1-2:1.0: hub controller current requirement: 100mA

hub 1-2:1.0: 100mA bus power budget for each child

hub 1-2:1.0: no over-current condition exists

hub 1-2:1.0: enabling power on all ports

drivers/usb/core/inode.c: creating file '007'

hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0004

hub 1-2:1.0: state 7 ports 3 chg 0000 evt 0000

hub 1-2:1.0: port 2, status 0101, change 0001, 12 Mb/s

hub 1-2:1.0: debounce: port 2: total 100ms stable 100ms status 0x101

usb 1-2.2: new full speed USB device using uhci_hcd and address 8

usb 1-2.2: ep0 maxpacket = 8

usb 1-2.2: skipped 1 descriptor after interface

usb 1-2.2: default language 0x0409

usb 1-2.2: new device strings: Mfr=1, Product=2, SerialNumber=3

usb 1-2.2: Product: Logitech BT Mini-Receiver

usb 1-2.2: Manufacturer: Logitech

usb 1-2.2: SerialNumber: 0007614470B7

usb 1-2.2: uevent

usb 1-2.2: device is bus-powered

usb 1-2.2: configuration #1 chosen from 1 choice

usb 1-2.2: adding 1-2.2:1.0 (config #1, interface 0)

usb 1-2.2:1.0: uevent

usbhid 1-2.2:1.0: usb_probe_interface

usbhid 1-2.2:1.0: usb_probe_interface - got id

input: Logitech Logitech BT Mini-Receiver as /class/input/input4

input: USB HID v1.11 Keyboard [Logitech Logitech BT Mini-Receiver] on usb-0000:00:1f.2-2.2

drivers/usb/core/inode.c: creating file '008'

hub 1-2:1.0: 302mA power budget left

hub 1-2:1.0: port 3, status 0101, change 0001, 12 Mb/s

hub 1-2:1.0: debounce: port 3: total 100ms stable 100ms status 0x101

usb 1-2.3: new full speed USB device using uhci_hcd and address 9

usb 1-2.3: ep0 maxpacket = 8

usb 1-2.3: skipped 1 descriptor after interface

usb 1-2.3: default language 0x0409

usb 1-2.3: new device strings: Mfr=1, Product=2, SerialNumber=3

usb 1-2.3: Product: Logitech BT Mini-Receiver

usb 1-2.3: Manufacturer: Logitech

usb 1-2.3: SerialNumber: 0007614470B7

usb 1-2.3: uevent

usb 1-2.3: device is bus-powered

usb 1-2.3: configuration #1 chosen from 1 choice

usb 1-2.3: adding 1-2.3:1.0 (config #1, interface 0)

usb 1-2.3:1.0: uevent

usbhid 1-2.3:1.0: usb_probe_interface

usbhid 1-2.3:1.0: usb_probe_interface - got id

input: Logitech Logitech BT Mini-Receiver as /class/input/input5

drivers/usb/core/file.c: looking for a minor, starting at 96

input,hiddev96: USB HID v1.11 Mouse [Logitech Logitech BT Mini-Receiver] on usb-0000:00:1f.2-2.3

drivers/usb/core/inode.c: creating file '009'

hub 1-2:1.0: 204mA power budget left

hub 1-2:1.0: state 7 ports 3 chg 0000 evt 0008

```

So, at this point I'm stuck.  Any suggestions?  Kernel-wise, I'm on 2.6.16-gentoo-r3 , on a 32-bit x86 system with bluez-utils 2.25.

----------

## scoon

Hey there, 

I have the cordless elite bluetooth kb/mouse set from logitech.  Your idea of the the dongle not being able to do both wireless and bluetooth is a very sound one.  I remember seeing that these dongles can only work in one mode or the other.  My suggestion is try and switch all your BT kernel parts to modules and add bluetooth to your default settings. 

One step that I have consistently had to take since owning this set up is that in order to use most all the other multi-media buttons, I have to patch the kernel with a patch from bluez.  Right now they only have a patch for 2.6.15.  Sometimes, the newer patches don't work and reverting to an older one is the only solution.  

I will say, it was a pain to get set up but the forums here were quite helpful in getting me there. 

-scoon

----------

## nollidj

Hmmm.  So do you have the keyboard and mouse working along with the Bluetooth functionality of equipment like this?  And what do you mean by "add bluetooth to your default settings"?

I will forward some of this to the bluez-users list to see if I can get any more results.  Thanks.

----------

## scoon

 *nollidj wrote:*   

> And what do you mean by "add bluetooth to your default settings"?

 

Hey there, 

man rc-update will help here.  You will probably want to add the bluetooth service to the default runlevel so that your kb&mouse are working via bluetooth during boot.

-scoon

----------

## nollidj

Ah, I've got that all set.  I thought you meant I had to do something special to load the Bluetooth modules (like list them in /etc/modules.autoload.d/) to get them to capture the dongle before the USB driver does.  I have sent a question to the bluetooth-users list and will paste anything pertinent I get from there here.

----------

## gefunden

the latest cvs of bluez-utils works with the logitech mx5000, which has the same bluetooth dongle. if you still want bluetooth with that dongle, send me an email of lsusb with only the dongle pluged in at gefunden@prolly.org and i'll make a patch to support the dinovo.

----------

## ColiverHB

 *gefunden wrote:*   

> the latest cvs of bluez-utils works with the logitech mx5000, which has the same bluetooth dongle. if you still want bluetooth with that dongle, send me an email of lsusb with only the dongle pluged in at gefunden@prolly.org and i'll make a patch to support the dinovo.

 

Are there any Ebuilds for CVS?

I REALLY want to get my Bluetooth dongle working. Every time I try to hid2hci, it "works" but when I go to hciconfig it's just blank.

kind of aggravating.

```

# lsusb

Bus 003 Device 001: ID 0000:0000  

Bus 002 Device 004: ID 046d:c70c Logitech, Inc. 

Bus 002 Device 003: ID 046d:c70b Logitech, Inc. 

Bus 002 Device 002: ID 046d:0b02 Logitech, Inc. 

Bus 002 Device 001: ID 0000:0000  

Bus 001 Device 001: ID 0000:0000  

```

```

# cat /proc/bus/input/devices 

I: Bus=0010 Vendor=001f Product=0001 Version=0100

N: Name="PC Speaker"

P: Phys=isa0061/input0

S: Sysfs=/class/input/input0

H: Handlers=kbd event0 

B: EV=40001

B: SND=6

I: Bus=0003 Vendor=046d Product=c70b Version=4002

N: Name="Logitech Logitech BT Mini-Receiver"

P: Phys=usb-0000:00:02.0-4.2/input0

S: Sysfs=/class/input/input1

H: Handlers=kbd event1 

B: EV=120003

B: KEY=10000 7 ff800000 7ff febeffdf ffefffff ffffffff fffffffe

B: LED=1f

I: Bus=0003 Vendor=046d Product=c70c Version=4002

N: Name="Logitech Logitech BT Mini-Receiver"

P: Phys=usb-0000:00:02.0-4.3/input0

S: Sysfs=/class/input/input2

H: Handlers=kbd mouse0 event2 

B: EV=f

B: KEY=c0002 400 0 0 fff0001 f80 78000 6639fa d841d7ad 9e0000 0 0 0

B: REL=1c3

B: ABS=1 0

```

```

# cat /proc/bus/usb/devices

-snip-

T:  Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#=  2 Spd=12  MxCh= 3

D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=046d ProdID=0b02 Rev=40.02

S:  Manufacturer=Logitech

S:  Product=Logitech BT Mini-Receiver

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=255ms

T:  Bus=02 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  3 Spd=12  MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=046d ProdID=c70b Rev=40.02

S:  Manufacturer=Logitech

S:  Product=Logitech BT Mini-Receiver

S:  SerialNumber=000761705AFE

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=02 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  4 Spd=12  MxCh= 0

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=046d ProdID=c70c Rev=40.02

S:  Manufacturer=Logitech

S:  Product=Logitech BT Mini-Receiver

S:  SerialNumber=000761705AFE

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=5ms

-snip-

```

----------

