You are reading a single comment by @Jean-Philippe_Rey and its replies. Click here to read the full conversation.
  • Just to rule anything out, could you try calling startBonding after connect, and then try and read the information after that?

    IMO it is not necessary, I am quite sure it is bonded now. Furthermore, I can discover services with

    function Discover(){
        gatt.getPrimaryServices().then(function(­services) {
          console.log("Services:",services);
        }).catch(function(e){console.log("error:­ ",e);});
    }
    

    with the corresponding log:

    Services: [
      BluetoothRemoteGATTService {
        "uuid": "0x1800",
        "isPrimary": true, "start_handle": 1, "end_handle": 7 },
      BluetoothRemoteGATTService {
        "uuid": "0x1801",
        "isPrimary": true, "start_handle": 8, "end_handle": 11 },
      BluetoothRemoteGATTService {
        "uuid": "0x0000[vendor]",
        "isPrimary": true, "start_handle": 12, "end_handle": 21 },
      BluetoothRemoteGATTService {
        "uuid": "0x180a",
        "isPrimary": true, "start_handle": 22, "end_handle": 34 },
      BluetoothRemoteGATTService {
        "uuid": "0x0000[vendor]",
        "isPrimary": true, "start_handle": 35, "end_handle": 44 },
      BluetoothRemoteGATTService {
        "uuid": "0x0000[vendor]",
        "isPrimary": true, "start_handle": 45, "end_handle": 65535 }
     ]
    

    Actually 3 services with proprietary UUIDs are listed with 0x0000[vendor]. I suspect that it is the reason why I can't exchange with those services...

    I just made a READ request on the "Generic Access" service (0x1800), characteristic "Device Name" (0x2A00) and I am able to retrieve the correct device name.

About