Hi all,
I recently just purchased a bluetooth dongle for the MOD Dwarf so I can edit using my mobile phone if I need to when away from my PC. Before purchasing a BT dongle I looked for BT 4.0 + devices supported by Linux and found the KINIVO BTD400 available and was supposed to be supported by Linux. The list of dongles supported by MOD Dwarf according to the wiki looked to contain two devices I couldn’t find.
The basic issue is that it isnt working and was wondering if anyone would be able to help. I have tried a few things debugging and are showing my process below in case it helps others understand the issue.
After plugging it in and setting it to discoverable, it looked at first as though it was working but then was unable to pair.
So I ssh into the dwarf to debug and look at dmesg and saw:
[ 1229.954204] usb 2-1: new full-speed USB device number 2 using ohci-platform
[ 1230.166373] usb 2-1: New USB device found, idVendor=0a5c, idProduct=21e8, bcdDevice= 1.12
[ 1230.166422] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1230.166488] usb 2-1: Product: BCM20702A0
[ 1230.166496] usb 2-1: Manufacturer: Broadcom Corp
[ 1230.166502] usb 2-1: SerialNumber: 5CF370A7BB15
[ 1230.295363] Bluetooth: hci0: BCM: chip id 63
[ 1230.297526] Bluetooth: hci0: BCM: features 0x07
[ 1230.321318] Bluetooth: hci0: BCM20702A
[ 1230.321348] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[ 1230.323546] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[ 1230.324226] Bluetooth: hci0: BCM: 'brcm/BCM20702A1-0a5c-21e8.hcd'
[ 1230.324347] Bluetooth: hci0: BCM: 'brcm/BCM-0a5c-21e8.hcd'
So it looks like the BT dongle firmware was missing. This is fine, so I went to download the firmware from:
and went to copy it to: /lib/firmware/brcm/BCM20702A1-0a5c-21e8.hcd
however the symlink for that firmware folder is incorrect as there doesn’t exist a /data/firmware folder!
ls -l /lib/firmware
lrwxrwxrwx 1 root root 14 Jan 1 00:00 /lib/firmware -> /data/firmware
[root@moddwarf lib]# ls -l /data
total 68
-rw-r--r-- 1 root root 1036 Jan 1 00:22 asound.state
drwxr-xr-x 3 root root 4096 Jan 1 00:21 bluetooth/
-rw-r--r-- 1 root root 0 Jan 1 00:04 enable-usb-audio-gadget
-rw-r--r-- 1 root root 0 Jan 1 00:04 enable-usb-multi-gadget
-rw-r--r-- 1 root root 0 Jan 1 00:04 enable-usb-windows-compat
drwx------ 2 root root 16384 Jan 1 00:01 lost+found/
drwx------ 6 root root 4096 Jan 1 00:30 root/
-rw-r--r-- 1 root root 175 Jan 1 00:00 temperature_001.csv
-rw-r--r-- 1 root root 431 Jan 1 00:01 temperature_002.csv
-rw-r--r-- 1 root root 197 Jan 1 00:00 temperature_003.csv
-rw-r--r-- 1 root root 1619 Jan 1 00:05 temperature_004.csv
-rw-r--r-- 1 root root 9677 Jan 1 00:32 temperature_005.csv
-rw-r--r-- 1 root root 635 Jan 1 00:02 temperature_006.csv
-rw-r--r-- 1 root root 1151 Jan 1 00:03 temperature_007.csv
drwxr-xr-x 13 root root 4096 Jan 1 00:00 user-files/
-rw-r--r-- 1 root root 0 Jan 1 1970 using-256-frames
Is this broken? Or am I copying this to the wrong location?
So I then created /data/firmware manually and copy the files where they need to be and now the driver loads as expected (though not on boot I assume the /data partition isn’t loaded until later in the process, but if I unplug and re-plug the USB device after boot it is ok).
Now when I disable wifi + mobile data on my Android phone, and try to pair. I am getting errors in dmesg like:
[ 117.472387] usb 2-1: USB disconnect, device number 2
[ 121.243848] usb 2-1: new full-speed USB device number 3 using ohci-platform
[ 121.455042] usb 2-1: New USB device found, idVendor=0a5c, idProduct=21e8, bcdDevice= 1.12
[ 121.455158] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 121.455170] usb 2-1: Product: BCM20702A0
[ 121.455285] usb 2-1: Manufacturer: Broadcom Corp
[ 121.455294] usb 2-1: SerialNumber: 5CF370A7BB15
[ 121.584852] Bluetooth: hci0: BCM: chip id 63
[ 121.586962] Bluetooth: hci0: BCM: features 0x07
[ 121.610840] Bluetooth: hci0: BCM20702A
[ 121.610872] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[ 121.616064] Bluetooth: hci0: BCM20702A1 'brcm/BCM20702A1-0a5c-21e8.hcd' Patch
[ 122.943803] Bluetooth: hci0: Broadcom Bluetooth Device
[ 122.943833] Bluetooth: hci0: BCM20702A1 (001.002.014) build 1764
[ 334.080791] Bluetooth: hci0: ACL packet for unknown connection handle 12
[ 337.091814] Bluetooth: hci0: ACL packet for unknown connection handle 12
[ 397.114798] Bluetooth: hci0: ACL packet for unknown connection handle 12
[ 589.763801] Bluetooth: hci0: ACL packet for unknown connection handle 12
[ 592.777793] Bluetooth: hci0: ACL packet for unknown connection handle 12
When this happens it pairs very slowly and doesn’t show the internet option. But it isn’t always consistent, once I tried and saw the internet option in the paired device but just couldn’t turn it on.
Looking at other debug info, the system looks all good. For example:
bluetoothctl --version
5.37
[root@moddwarf log]# hciconfig -a
hci0: Type: BR/EDR Bus: USB
BD Address: 5C:F3:70:A7:BB:15 ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING
RX bytes:3702 acl:0 sco:0 events:419 errors:0
TX bytes:36860 acl:0 sco:0 commands:418 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
Name: 'MOD Dwarf 01-00628'
Class: 0x822310
Service Classes: Networking, Information
Device Class: LAN Access, Fully available
HCI Version: 4.1 (0x7) Revision: 0x16e4
LMP Version: 4.1 (0x7) Subversion: 0x220e
Manufacturer: Broadcom Corporation (15)
[root@moddwarf log]# bluetoothctl
[NEW] Controller 5C:F3:70:A7:BB:15 MOD Dwarf 01-00628 [default]
[NEW] Device 7C:F3:1B:63:B0:F9 K61
[bluetooth]# show
Controller 5C:F3:70:A7:BB:15
Name: BlueZ 5.37
Alias: MOD Dwarf 01-00628
Class: 0x822310
Powered: yes
Discoverable: no
Pairable: yes
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: NAP (00001116-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1D6Bp0246d0525
Discovering: no
[bluetooth]# devices
Device 7C:F3:1B:63:B0:F9 K61
[bluetooth]# info
Missing device address argument
[bluetooth]# info 7C:F3:1B:63:B0:F9
Device 7C:F3:1B:63:B0:F9
Name: K61
Alias: K61
Class: 0x5a020c
Icon: phone
Paired: yes
Trusted: yes
Blocked: no
Connected: no
LegacyPairing: no
ifconfig
bnep Link encap:Ethernet HWaddr FE:5B:0F:3C:F2:33
inet addr:192.168.50.1 Bcast:192.168.50.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:50 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:8860 (8.6 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:6686 errors:0 dropped:0 overruns:0 frame:0
TX packets:6686 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:357977 (349.5 KiB) TX bytes:357977 (349.5 KiB)
usb0 Link encap:Ethernet HWaddr 22:00:62:FF:FF:FF
inet addr:192.168.51.1 Bcast:192.168.51.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2817 errors:0 dropped:118 overruns:0 frame:0
TX packets:3220 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:192459 (187.9 KiB) TX bytes:597047 (583.0 KiB)
I know a bit about Linux but not really much about bluetooth support in Linux. I will continue to debug myself but if you can offer any help that would be great.
Thanks.