What is the ‘Major’ in the join request MHDR used for?

Hi,

I’m still new to LoRaWAN and trying to understand the join procedure in depth.

In the 1.1 specification the Major is described as follows:
“The Major version specifies the format of the messages exchanged in the join procedure (see Chapter 6.2) and the first four bytes of the MAC Payload as described in Chapter 4 […]” (page. 18)

Major bits  |  Description
------------|-------------
   00       |  LoRaWAN R1
 01..11     |     RFU
  1. What is Major and Minor versions?

  2. How exactly does it impact the format of the message?

  3. Is it correctly understood that, as of right now, only 00 is used (For LoRaWAN R1)?

  4. What does ‘R1’ stand for when they write ‘LoRaWAN R1’?

Thank you in advance for your help!

1 Like

It would appear that the only yet-defined value, R1 corresponds to LoRaWan 1.x

The second part of the passage which you trimmed would make this a bit clearer:

For each major version, end-devices may implement different minor versions of the frame format. The minor version used by an end-device must be made known to the network server beforehand using out of band messages (e.g., as part of the device personalization information).

Eg network servers that support multiple LoRaWan versions ask you to set the version a particular node uses when you register it as LoRaWan 1.02, 1.03 etc. AFAIK TTN doesn’t offer a choice of version, though maybe there’s a change I’m overlooking.

You might want to take a look at V3. :wink: