BT USB Dongle Always Powered Off on Boot with OpenSuSE Tumbleweed, Manually start in boot.local

Issue: BT USB Dongle is powered off on boot
Release: OpenSuSE Tumbleweed 20170622 (fresh TW install performed about two weeks ago)
Workaround: In KDE, open BT control panel and “power on” BT USB dongle or in /etc/rc.d/boot.local add /usr/sbin/hcitool hci0 up

# hwinfo --bluetooth
03: USB 00.0: 11500 Bluetooth Device                            
  [Created at usb.122]
  Unique ID: Q1jS.nQKjiuCfL84
  Parent ID: 7eqy.7qWCOCfUJwE
  SysFS ID: /devices/pci0000:00/0000:00:12.0/usb6/6-3/6-3:1.0
  SysFS BusID: 6-3:1.0
  Hardware Class: bluetooth
  Model: "Cambridge Silicon Radio Bluetooth Dongle (HCI mode)"
  Hotplug: USB
  Vendor: usb 0x0a12 "Cambridge Silicon Radio, Ltd"                                                                                                                                               
  Device: usb 0x0001 "Bluetooth Dongle (HCI mode)"                                                                                                                                                
  Revision: "88.91"                                                                                                                                                                               
  Driver: "btusb"                                                                                                                                                                                 
  Driver Modules: "btusb"                                                                                                                                                                         
  Speed: 12 Mbps                                                                                                                                                                                  
  Module Alias: "usb:v0A12p0001d8891dcE0dsc01dp01icE0isc01ip01in00"                                                                                                                               
  Driver Info #0:                                                                                                                                                                                 
    Driver Status: btusb is active                                                                                                                                                                
    Driver Activation Cmd: "modprobe btusb"                                                                                                                                                       
  Config Status: cfg=new, avail=yes, need=no, active=unknown                                                                                                                                      
  Attached to: #6 (Hub)                                                                                                                                                                                                                                                                              

# lsusb
Bus 006 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

# dmesg | grep -i bluetooth
    5.585723] Bluetooth: Core ver 2.22
    5.585744] Bluetooth: HCI device and connection manager initialized
    5.585748] Bluetooth: HCI socket layer initialized
    5.585750] Bluetooth: L2CAP socket layer initialized
    5.585756] Bluetooth: SCO socket layer initialized
    6.248071] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    6.248072] Bluetooth: BNEP filters: protocol multicast
    6.248076] Bluetooth: BNEP socket layer initialized
    9.694306] Bluetooth: RFCOMM TTY layer initialized
    9.694312] Bluetooth: RFCOMM socket layer initialized
    9.694316] Bluetooth: RFCOMM ver 1.11
   40.937513] hid-generic 0005:046D:B017.0004: input,hidraw3: BLUETOOTH HID v0.18 Keyboard [MX Master] on 00:1B:DC:06:5F:03

Aside from adding in /etc/rc.d/boot.local:


/usr/sbin/hcitool hci0 up

Is there a better way to accomplish this through a system wide setting? This is a USB dongle on a desktop system so there is no “fn-X” key function.

Thanks.

This is my answer:

Create the file /etc/systemd/system/hciconfig-hci0.service


[Unit]
Description=Enable hci0

[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/usr/bin/hciconfig hci0 up

[Install]
WantedBy=bluetooth.target


systemctl daemon-reload
systemctl enable hciconfig-hci0

On boot, it will depend on bluetooth.target and your BT USB dongle will be enabled on boot.

Thanks for that tip. I’ve now got my bluetooth mouse working much more reliably than before. With your tip its function has survived suspend, reboot, cold boot and boot to Windows and back. Not a surprise that I still don’t have a mouse after hibernation, but I can live with that for now.

FWIW, For now I can use the mouse after resume from hibernation if I do:

**#**** /usr/sbin/rfkill block bluetooth     
**#**** /usr/sbin/rfkill unblock bluetooth****