This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

DEVICEADDR and resolvable private addresses

Hello:

I was wondering about the random addresses programmed into the FICR on some of the devboards that I have. I read the devzone and it appears that the DEVICEADDR is a FIPS compliant, random set of bits.

So my question is this: on some of the chips I have I have read the address and it appears that the upper two bits in some of these chips denote that this is a resolvable private address.

My question to nordic is this: was this issue considered at all? If I want to use the address as a random address (either static or non-resolvable) do you suggest simply modifying the upper two bits?

I guess I was just somewhat surprised to see the upper two bits not being set to either be a static random address or a non-resolvable private address.

Thanks!

Parents
  • FormerMember
    0 FormerMember

    The device address programmed to the chip during manufacturing is, as you know, as random static address, and that address should follow the rules for random static addresses defined in the Bluetooth core specification. According to the Bluetooth Core specification v. 4.2, vol. 6, part B, chapter 1.3.2.1, a random static address should have the following format:

    image description

    @will: What is the address of your device?

  • The address appears to be a resolvable private address. This is what I read (in gdb) when I read the FICR:

    (gdb) x/3wx 0x100000a0

    0x100000a0: 0xffffffff 0x35eca783 0xe9814129

    Based on the description in the documentation, the low 15 bits of 0x100000a8 are the upper two bytes of the device address. Thus, the device address as I read it (from least significant to most significant) is: 0x83 0xa7 0xec 0x35 0x29 0x41. This seems to me to indicate that the upper two bits are 0 1, which is a resolvable private address.

Reply
  • The address appears to be a resolvable private address. This is what I read (in gdb) when I read the FICR:

    (gdb) x/3wx 0x100000a0

    0x100000a0: 0xffffffff 0x35eca783 0xe9814129

    Based on the description in the documentation, the low 15 bits of 0x100000a8 are the upper two bytes of the device address. Thus, the device address as I read it (from least significant to most significant) is: 0x83 0xa7 0xec 0x35 0x29 0x41. This seems to me to indicate that the upper two bits are 0 1, which is a resolvable private address.

Children
No Data
Related