You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by GitBox <gi...@apache.org> on 2019/12/16 17:30:55 UTC

[GitHub] [mynewt-nimble] robkers1993 opened a new issue #703: Beacons Picked up by Iphone but not Android

robkers1993 opened a new issue #703: Beacons Picked up by Iphone but not Android
URL: https://github.com/apache/mynewt-nimble/issues/703
 
 
   Hi All!
   
   TLDR: Why can I not receive this packet on Android devices (4 devices tested), but Iphones are fine (two Iphones tested)? Did I set a super obvious setting wrong?
   
   20 19 55 11 22 33 44 55 02 01 06 03 03 11 18 07 09 6e 69 6d 62 6c 65 02 0a 0c 
   20195511223344550201060303111807096e696d626c65020a0c
   
   I'm running the BLE peripheral example in the apps folder. CRC is 3 bytes, whitening seed looks allright, 
   
   Longer situation sketch:
   
   I'm porting my radio driver to the Nimble Radio Driver (so adding it next to native, nrf51,nrf52). I have a stable beaconing environment, so I would like to connect to a device and get interact with a service. My Iphone is able to receive beacons. The problem starts when I want to connect to it. I have never received a SCAN REQ or CONN REQ from my phone. I've printed all incoming data with a filter on pdu_type on these two types of messages (0x03 and 0x05). In an effort to see whether or not my phone is functioning correctly I tested the same scenario with a borowed iphone 11 pro max (yeezzz, these things are unwieldy coming from an Iphone SE.... anyhow...). This phone picked it up with no effort.
   Then tested a lot of other hypotheses, without any luck of getting a SCAN REQ or CONN REQ. Then, I grabbed 4 Android devices from my colleagues and tested the same thing. BANG: devices do not show up using something like NRF Connect. 
   Also, grabbed a ESP32 and ran the BLE scan example. My Nimble device is picked up without an effort. 
   
   I hope anyone out there has an idea about this. I've got the feeling that one of the fields/flags are set incorrectly. Below the settings from the "bleperiph" example. 
   
   Cheers!
   
   __________________
       fields.flags = BLE_HS_ADV_F_DISC_GEN |BLE_HS_ADV_F_BREDR_UNSUP;
   
       fields.tx_pwr_lvl_is_present = 1;
       fields.tx_pwr_lvl = BLE_HS_ADV_TX_PWR_LVL_AUTO;
   
       name = ble_svc_gap_device_name();
       fields.name = (uint8_t *)name;
       fields.name_len = strlen(name);
       fields.name_is_complete = 1;
   
       fields.uuids16 = (ble_uuid16_t[]){
           BLE_UUID16_INIT(GATT_SVR_SVC_ALERT_UUID)
       };
       fields.num_uuids16 = 1;
       fields.uuids16_is_complete = 1;
   
       adv_params.conn_mode = BLE_GAP_CONN_MODE_UND;
       adv_params.disc_mode = BLE_GAP_DISC_MODE_LTD;
    

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services