2 Replies Latest reply on Apr 20, 2016 4:34 AM by katagiri

    how to set random static address

    katagiri

      I am using SDK 2.2.2 ,and BCM20737S-TAG.

      So I want to use "random  static address", I tried to use the function "blecm_startAdv()".

      parameters are below:

      0x00,(ADV_IND)

      32,(32slots)

      0x07,(all channels)

      HCIULP_RANDOM_ADDRESS,(random_address)

      0, (filter disable)

      0, (not direct_adv)

      NULL(not direct adv)

       

      After that , Tx_Addr has successfully changed "0" to "1" in Adv PDU header ,

      but  AdvA has changed "00:00:00:00:00:00".

       

      If I change the parameter  HCIULP_PUBLIC_ADDRESS,

      AdvA is same as specified BD_ADDR in Makefile.

       

      In Core Spec 4.2 , 7.8.4 LE Set Random Address Command

      is exist , but I can't find this HCI function in blecm.h .

       

      How can I set random static address to blecm?

        • 1. Re: how to set random static address

          How about calling blecm_set_static_random_bd_addr() in create function?

          • 2. Re: how to set random static address
            katagiri

            Thank you dmiya

             

            I added blecm_set_static_random_bd_addr() to my function.

            ( APP_PATCHES_AND_LIBS += bd_addr_control.a)

             

            And I did Make Target with parameter "BT_DEVICE_ADDRESS=FFFFFFFFFFFF" and

            build and chipload hex , because  blecm_set_static_random_bd_addr() is only valid when

            NVRAM bd_addr equal to FF:FF:FF:FF:FF:FF.

             

            At first power on, random static address has generated and  set

            (ex. DE:DD:E2:BF:DC:DD) and perhaps stored in NVRAM(EEPROM).

            And advertised with  AdvA and TxAdd=1.

            Success !!....

             

            But unfortunately , after second power on  AdvA has changed to "00:00:00:00:00:00" again.

            Dumped emConInfo_devInfo.addr[] is keeping DE:DD:E2:BF:DC:DD.

             

            Maybe I have to add some function call , but I can't find API.

            1 of 2 people found this helpful