Import data from Scubapro Aladin Sport Matrix

Berthold Stoeger bstoeger at mail.tuwien.ac.at
Sun Oct 15 13:08:52 PDT 2017


Dear Linus,

On Sonntag, 15. Oktober 2017 18:31:34 CEST Linus Torvalds wrote:

> So I think you have two issues that make it but work for you.
> 
> The first and more fundamental is that we haven't done the BLE support for
> the Aladin Sport at all yet, unless somebody did it without me even
> noticing.
> 
> Because sadly, Bluetooth LE is a complete disaster from a standards
> standpoint. There is no standard way of doing a simple serial thing, every
> dive computer manufacturer had to make up their own thing. The Bluetooth
> SIG is incompetent, I feel.
> 
> So we need to have somebody with access to that dive computer figure out
> how it ends up implementing the protocol over BLE. It might be a trivial
> packetized serial version of existing protocols, and it might have extra
> encapsulation.
> 
> But even if had the code, Qt-5.7.1 is not recent enough to work with BLE
> devices on Linux. As you can see from the EBUSY error, the qt ble stack
> just ends up fighting over the device with bluez, and can't access it.

Understood. I installed the beta of Kubuntu 17.10 and it seems to come with a 
reasonably recent Qt (5.9.1). Now it does not fail immediately. Still, as you 
correctly predicted, there seem to be communication problems. The -vv output 
is at the end of this mail, in case it is of use (pure gibberish to me). The 
"needs authentication - permissions" line makes me nervous - did it lose the 
PIN I entered in bluetoothctl?

By the way, there seems to be a strange bug(?): for the first failed download I 
get an information window. For each subsequent retry there is an additional 
window. E.g. for the 5th failed download it opens 5 information windows at 
once.

Berthold

******************

qrc:/MapWidget.qml:21: Error: Cannot assign [undefined] to 
QDeclarativeGeoMapType*

File locations:

Unable to get local git directory
Cloud URL: 
Image hashes: /home/bs/.subsurface/hashes
Local picture directory: /home/bs/.subsurface/picturedata/

build with Qt Version 5.9.1, runtime from Qt Version 5.9.1
qt.bluetooth.bluez: Bluez 5 detected.
qt.bluetooth.bluez: Missing CAP_NET_ADMIN permission. Cannot determine whether 
a found address is of random or public type.
qt.bluetooth.bluez: Creating QtBluezDiscoveryManager
qt.bluetooth.bluez: Discovered:  "00:13:43:40:6E:9C" "Aladin Sport" Num UUIDs 
6 total device 0 cached RSSI -62 Class 0
qt.bluetooth.bluez: Discovered:  "00:1D:DF:70:85:F4" "OnBeat aWake" Num UUIDs 
4 total device 1 cached RSSI -76 Class 2360320
qt.bluetooth.bluez: void QBluetoothDeviceDiscoveryAgentPrivate::stop()

kf5.kio.core: Invalid URL: QUrl("subsurface.log")
kf5.kio.core: KSambaShare: Could not find smb.conf!
INFO: FTDI disabled
qt.bluetooth.bluez: Enabling GATT request timeout behavior 20000
qt.bluetooth.bluez: Cannot connect due to pending active LE connections
qt.bluetooth.bluez: HCI event triggered, type: f
qt.bluetooth.bluez: RemoteDeviceManager finished attempting to close external 
connections
qt.bluetooth.bluez: addresstypeToUse: "Public"
qt.bluetooth.bluez: No settings found for peer device.
qt.bluetooth.bluez: HCI event triggered, type: 5
qt.bluetooth.bluez: HCI event triggered, type: e
qt.bluetooth.bluez: HCI event triggered, type: e
qt.bluetooth.bluez: HCI event triggered, type: e
qt.bluetooth.bluez: HCI event triggered, type: f
qt.bluetooth.bluez: HCI event triggered, type: f
qt.bluetooth.bluez: Current l2cp sec level: 1
qt.bluetooth.bluez: Exchanging MTU
qt.bluetooth.bluez: Sending read_by_group_type request, startHandle: 1 
endHandle: ffff 2800
qt.bluetooth.bluez: Received size: 3 data: "031700"
qt.bluetooth.bluez: Server MTU: 23 resulting mtu: 23
qt.bluetooth.bluez: Received size: 20 data: 
"11060100090000180c000f000118100020000a18"
qt.bluetooth.bluez: Found uuid: "{00001800-0000-1000-8000-00805f9b34fb}" start 
handle: 1 end handle: 9
qt.bluetooth.bluez: Found uuid: "{00001801-0000-1000-8000-00805f9b34fb}" start 
handle: c end handle: f
qt.bluetooth.bluez: Found uuid: "{0000180a-0000-1000-8000-00805f9b34fb}" start 
handle: 10 end handle: 20
qt.bluetooth.bluez: Sending read_by_group_type request, startHandle: 21 
endHandle: ffff 2800
qt.bluetooth.bluez: Received size: 14 data: "1106210024000f18250034001a18"
qt.bluetooth.bluez: Found uuid: "{0000180f-0000-1000-8000-00805f9b34fb}" start 
handle: 21 end handle: 24
qt.bluetooth.bluez: Found uuid: "{0000181a-0000-1000-8000-00805f9b34fb}" start 
handle: 25 end handle: 34
qt.bluetooth.bluez: Sending read_by_group_type request, startHandle: 35 
endHandle: ffff 2800
qt.bluetooth.bluez: Received size: 22 data: 
"111435003a00a0a07a7b210415bf0e475d29aaeacdfd"
qt.bluetooth.bluez: Found uuid: "{fdcdeaaa-295d-470e-bf15-04217b7aa0a0}" start 
handle: 35 end handle: 3a
qt.bluetooth.bluez: Sending read_by_type request, startHandle: 35 endHandle: 
3a type: 2802 packet: "0835003a000228"
qt.bluetooth.bluez: Sending read_by_group_type request, startHandle: 3b 
endHandle: ffff 2800
qt.bluetooth.bluez: Received size: 5 data: "010835000a"
qt.bluetooth.bluez: Error1: "no attribute in given range found" last command: 
8 handle: 35
qt.bluetooth.bluez: Sending read_by_type request, startHandle: 35 endHandle: 
3a type: 2803 packet: "0835003a000328"
qt.bluetooth.bluez: Received size: 5 data: "01103b000a"
qt.bluetooth.bluez: Error1: "no attribute in given range found" last command: 
10 handle: 3b
qt.bluetooth.bluez: Sending read_by_group_type request, startHandle: 1 
endHandle: ffff 2801
qt.bluetooth.bluez: Received size: 23 data: 
"091536000837001a4b6bd443c22d859a44bbdeddb788a1"
qt.bluetooth.bluez: Found handle: 36 properties: QFlags(0x8) value handle: 37 
uuid: "{a188b7dd-debb-449a-852d-c243d46b4b1a}"
qt.bluetooth.bluez: Sending read_by_type request, startHandle: 37 endHandle: 
3a type: 2803 packet: "0837003a000328"
qt.bluetooth.bluez: Received size: 5 data: "011001000a"
qt.bluetooth.bluez: Error1: "no attribute in given range found" last command: 
10 handle: 1
qt.bluetooth.bluez: Received size: 23 data: 
"0915380012390068af729e876212813d499ceaf0680caa"
qt.bluetooth.bluez: Found handle: 38 properties: QFlags(0x2|0x10) value 
handle: 39 uuid: "{aa0c68f0-ea9c-493d-8112-62879e72af68}"
qt.bluetooth.bluez: Sending read_by_type request, startHandle: 39 endHandle: 
3a type: 2803 packet: "0839003a000328"
qt.bluetooth.bluez: Received size: 5 data: "010839000a"
qt.bluetooth.bluez: Error1: "no attribute in given range found" last command: 
8 handle: 39
qt.bluetooth.bluez: Reading all characteristic values for 
"{fdcdeaaa-295d-470e-bf15-04217b7aa0a0}"
qt.bluetooth.bluez: Received size: 5 data: "010a390005"
qt.bluetooth.bluez: Error1: "needs authentication - permissions" last command: 
a handle: 39
qt.bluetooth.bluez: Requesting encrypted link
qt.bluetooth.bluez: Setting new l2cp sec level: 3
qt.bluetooth.bluez: HCI event triggered, type: f
qt.bluetooth.bluez: HCI event triggered, type: 8
qt.bluetooth.bluez: HCI Encrypt change, status: Success handle: e01 encrypt: 1
qt.bluetooth.bluez: Current l2cp sec level: 3
qt.bluetooth.bluez: Received size: 2 data: "0b00"
qt.bluetooth.bluez: Discovering descriptor values for "{fdcdeaaa-295d-470e-
bf15-04217b7aa0a0}"
qt.bluetooth.bluez: Sending find_info request (36, 38) 36
qt.bluetooth.bluez: Received size: 6 data: "050136000328"
qt.bluetooth.bluez: Suppressing primary/characteristic 2803
qt.bluetooth.bluez: Sending find_info request (36, 38) 37
qt.bluetooth.bluez: Received size: 20 data: 
"050237001a4b6bd443c22d859a44bbdeddb788a1"
qt.bluetooth.bluez: Suppressing char handle 37
qt.bluetooth.bluez: Sending find_info request (38) 38
qt.bluetooth.bluez: HCI event triggered, type: e
qt.bluetooth.bluez: HCI event triggered, type: e
qt.bluetooth.bluez: HCI event triggered, type: e
qt.bluetooth.bluez: HCI event triggered, type: f
qt.bluetooth.bluez: Received size: 6 data: "050138000328"
qt.bluetooth.bluez: Suppressing primary/characteristic 2803
qt.bluetooth.bluez: Sending find_info request (38) 39
qt.bluetooth.bluez: Received size: 20 data: 
"0502390068af729e876212813d499ceaf0680caa"
qt.bluetooth.bluez: Suppressing char handle 39
qt.bluetooth.bluez: Sending find_info request (38) 3a
qt.bluetooth.bluez: Received size: 6 data: "05013a000229"
qt.bluetooth.bluez: Descriptor found, uuid: 
"{00002902-0000-1000-8000-00805f9b34fb}" descriptor handle: 3a
qt.bluetooth.bluez: Reading all descriptor values for "{fdcdeaaa-295d-470e-
bf15-04217b7aa0a0}"
qt.bluetooth.bluez: Received size: 3 data: "0b0000"
qt.bluetooth.bluez: Writing descriptor 3a (size: 5 )
INFO: dc_deveice_open error value of 0
qt.bluetooth.bluez: Received size: 1 data: "13"
qt.bluetooth.bluez: HCI event triggered, type: 1
qt.bluetooth.bluez: HCI event triggered, type: e

Subsurface: v4.6.4-977-g303e7c4982b3, built with libdivecomputer v0.6.0-devel-
Subsurface-branch (07f5777c71b17bf1dd4dfecea6fb2c217756a647)
INFO: Configure: baudrate=19200, databits=8, parity=0, stopbits=0, flowcontrol=0
INFO: Timeout: value=-1
INFO: DTR: value=1
INFO: RTS: value=0
INFO: Custom Read: size=0, data=
ERROR: Failed to receive the answer. [in ../../src/uwatec_aladin.c:202 
(uwatec_aladin_device_dump)]


More information about the subsurface mailing list