I have BLE device (watch). If I connect with the help of LeScan all is ok - all services are discovered by LeScan and I could use them later with bt_gatt_client_get_service. I create bond with watch and all is ok.
If I reboot tizen phone, find device among bonded - I could see that services (their uuids) in device_info, but method bt_gatt_client_get_service returns error -61 (BT_ERROR_NO_DATA). Method bt_gatt_client_foreach_services returns 0 (Success) but no callbacks called after it - as if there are no services at all. In API there is method bt_gatt_discover_characteristics to discover characteristics but there is no method to discover services.
How could I discover services of bonded device? For example on Android I use discoverServices for this purpose.
And second question: When I use bt_gatt_connect with flag auto_connect true - device waits for my watch and connects to it when watch is in range. But there are some cases when it does not connect, for example if watch is not in range for an hour after bt_gatt_connect call - and hour later when watch appears in range phone just does not connect to it. Is there a timeout for auto connect feature or something else? Why it does not connect sometimes?
I use Tizen 2.4 on Samsung Z3 phone.