# Bluetooth device not detected by hcitool

## sirlark

Hi all,

I have a Toshiba satellite C850 F32Q and I'm trying to get the bluetooth working. The problem is that hcitool doesn't detect it. I have all the bluetooth modules modprob'ed or built into the kernel. Here's the relevant bits of my kernel .config

```
#

# Packet Radio protocols

#

# CONFIG_AX25 is not set

# CONFIG_CAN is not set

# CONFIG_IRDA is not set

CONFIG_BT=y

CONFIG_BT_RFCOMM=m

CONFIG_BT_RFCOMM_TTY=y

CONFIG_BT_BNEP=m

CONFIG_BT_BNEP_MC_FILTER=y

CONFIG_BT_BNEP_PROTO_FILTER=y

CONFIG_BT_HIDP=m

#

# Bluetooth device drivers

#

CONFIG_BT_HCIBTUSB=y

CONFIG_BT_HCIBTSDIO=m

CONFIG_BT_HCIUART=m

CONFIG_BT_HCIUART_H4=y

CONFIG_BT_HCIUART_BCSP=y

CONFIG_BT_HCIUART_ATH3K=y

CONFIG_BT_HCIUART_LL=y

CONFIG_BT_HCIUART_3WIRE=y

CONFIG_BT_HCIBCM203X=m

CONFIG_BT_HCIBPA10X=m

CONFIG_BT_HCIBFUSB=m

CONFIG_BT_HCIVHCI=m

CONFIG_BT_MRVL=m

CONFIG_BT_MRVL_SDIO=m

CONFIG_BT_ATH3K=m

# CONFIG_AF_RXRPC is not set

CONFIG_FIB_RULES=y

CONFIG_WIRELESS=y

CONFIG_WEXT_CORE=y

CONFIG_WEXT_PROC=y

CONFIG_CFG80211=y

# CONFIG_NL80211_TESTMODE is not set

# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set

# CONFIG_CFG80211_REG_DEBUG is not set

CONFIG_CFG80211_DEFAULT_PS=y

# CONFIG_CFG80211_INTERNAL_REGDB is not set

CONFIG_CFG80211_WEXT=y

# CONFIG_LIB80211 is not set

CONFIG_MAC80211=y

CONFIG_MAC80211_HAS_RC=y

CONFIG_MAC80211_RC_MINSTREL=y

CONFIG_MAC80211_RC_MINSTREL_HT=y

CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y

CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"

# CONFIG_MAC80211_MESH is not set

# CONFIG_MAC80211_LEDS is not set

# CONFIG_MAC80211_MESSAGE_TRACING is not set

# CONFIG_MAC80211_DEBUG_MENU is not set

# CONFIG_WIMAX is not set

CONFIG_RFKILL=y

CONFIG_RFKILL_INPUT=y

# CONFIG_NET_9P is not set

# CONFIG_CAIF is not set

# CONFIG_CEPH_LIB is not set

# CONFIG_NFC is not set

CONFIG_HAVE_BPF_JIT=y
```

The hardware switch is definitely on. At boot I can't see hci0 in "rfkill list", I cycle my wifi button twice and I see

```
$ rfkill list

0: hci0: Bluetooth

   Soft blocked: no

   Hard blocked: no

1: phy0: Wireless LAN

   Soft blocked: no

   Hard blocked: no
```

Here are the device details from lsusb

```
#partial output of lsusb -v

 Bus 003 Device 002: ID 0930:021d Toshiba Corp. 

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               2.00

  bDeviceClass          224 Wireless

  bDeviceSubClass         1 Radio Frequency

  bDeviceProtocol         1 Bluetooth

  bMaxPacketSize0        64

  idVendor           0x0930 Toshiba Corp.

  idProduct          0x021d 

  bcdDevice            2.00

  iManufacturer           1 Realtek

  iProduct                2 RT Bluetooth Radio

  iSerial                 3 00e04c000001

```

But, I can't see the device using hcitool

```
$ hcitool dev

Devices:

```

Anyone have any ideas? Thanks

----------

## mamuma

time ago i had the same problem. Try:

```
hciconfig hci0 up
```

I hope this help you

----------

## sirlark

Thanks. I tried that but it didn't work. I did get it working eventually, following a convoluted sequence:

1. Cycle my hardware wireless switch until hci0 appears in my rfkill list

2. rmmod btusb

3. modprobe btusb

4. hcitool dev -> shows up

So it seems to be a case of the btusb module starting when the hardware kill switch is still on, and then not detecting the device when the switch is flipped. I originally had btusb compiled into the kernel, so it was only when I made it a module that I got things to work. I wouldn't mark this a solved yet... but in case anyone else has the problem that's what worked for me...

I think I might be able to set up things so the btusb doesn't autoload on boot, and then add some udev rules to unload when the hardware kill switch is enabled, and load the module when the device appears again... But I haven't had the time recently.

----------

