This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1354P10: Wi-Sun - IPV6 address based on Primary IEEE Address

Part Number: CC1354P10
Other Parts Discussed in Thread: UNIFLASH

Tool/software:

Hello, i have a question about generating IP address in WI-Sun Network. O undestand that ipv6 is based on Primary IEEE Address. But i Have mismatch in one byte. I have two examples:

Primary IEEE Adress -> Wi-Sun address

00:12:4B:00:33:88:1A:A4 -> 2020:ABCD:0000:0000:0212:4B00:3388:1AA4
00:12:4B:00:33:88:1A:A0 -> 2020:ABCD:0000:0000:0212:4B00:3388:1AA0

First IEEE byte is changing from 00 to 02. Other bytes are the same. Can you tell me why?

  • And when I use "rssi" command in pySpinel I have good IEEE with 00 no 02 on first byte


    Fullscreen
    1
    2
    3
    4
    spinel-cli > rssi
    Number of Neighbor Nodes = 1
    Neighbor Node RSSI metrics are (EUI, RSSI_IN, RSSI_OUT):
    00124b0033881aa0, -162.625dBm, -162.375dBm
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • HI Sebastian,

    Where are you extracting those IP addresses from?

    I have a feeling that the last byte of the second IP may be trimmed out due to an incorrect memcpy size argument or such.

    Regards,

    Arthur

  • Hi Arthur,

    I read the IEEE primary address using Uniflash and the IP address using a PySpinel script. I use the connecteddevices command for PySpinel.

    Fullscreen
    1
    2
    3
    4
    5
    spinel-cli > connecteddevices
    List of connected devices currently in routing table:
    2020:abcd::212:4b00:3388:1aa0
    Number of connected devices: 1
    Done
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • I investigated the problem with tests. They show that this different half byte is created by the XOR operation with the number 0x02.


    0x00 -> 0x02
    0x01 -> 0x03
    0x03 -> 0x01
    ------------------
    0x0D -> 0x0F
    0x0E -> 0x0C
    0x0F -> 0x0D