Changes

17 bytes removed ,  19:59, 29 January 2021
→‎Beacon: Restructure the "Nintendo tag" tables to make the ID explicit
Line 1,553: Line 1,553:     
=== Beacon ===
 
=== Beacon ===
The SSID in the beacon can optionally be [[#GroupInfo|hidden]] (all-zero with the same length as the original SSID). The beacon contains two custom Nintendo tags with OUI <code>00:22:aa</code>. These Nintendo tags are not used when standard WPA2-PSK is being used. The beacon is identical to ldn, except for the following (besides SSID length difference and the lp2p-only Nintendo tags):  
+
The SSID in the beacon can optionally be [[#GroupInfo|hidden]] (all-zero with the same length as the original SSID). The beacon contains two custom Nintendo tags with OUI <code>00:22:aa</code>; each tag has a 2-byte ID following the OUI. These Nintendo tags are not used when standard WPA2-PSK is being used. The beacon is identical to ldn, except for the following (besides SSID length difference and the lp2p-only Nintendo tags):  
 
* "Tag: Traffic Indication Map (TIM)": "DTIM count" for lp2p is 1, with ldn it's 0.
 
* "Tag: Traffic Indication Map (TIM)": "DTIM count" for lp2p is 1, with ldn it's 0.
 
* "Tag: HT Capabilities (802.11n D1.10)": "HT Short GI for 20MHz" is set to "Not supported", for ldn it's "Supported".
 
* "Tag: HT Capabilities (802.11n D1.10)": "HT Short GI for 20MHz" is set to "Not supported", for ldn it's "Supported".
Line 1,560: Line 1,560:  
Note that during group creation the beacon may be missing the Nintendo tags in some cases, since group creation didn't finish yet.
 
Note that during group creation the beacon may be missing the Nintendo tags in some cases, since group creation didn't finish yet.
   −
The first Nintendo tag contains the following data:
+
The first Nintendo tag (ID 0x0600) contains the following data:
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 1,568: Line 1,568:  
! Description
 
! Description
 
|-
 
|-
| 0x0 || 0x2 || Usually 06 00?
+
| 0x0 || 0x2 || Usually 20 02?(Second byte depends on whether encryption is used?)
 
|-
 
|-
| 0x2 || 0x2 || Usually 20 02?(Second byte depends on whether encryption is used?)
+
| 0x2 || 0x2 || Usually 01 00 or 02 00?(varies)
 
|-
 
|-
| 0x4 || 0x2 || Usually 01 00 or 02 00?(varies)
+
| 0x4 || 0x8 || Big-endian version of [[#GroupInfo]]+0x10.
 
|-
 
|-
| 0x6 || 0x8 || Big-endian version of [[#GroupInfo]]+0x10.
+
| 0xC || 0x10 || Same as [[#GroupInfo]]+0x0.
 
|-
 
|-
| 0xE || 0x10 || Same as [[#GroupInfo]]+0x0.
+
| 0x1C || || Start of encrypted (and crypto-related) data if enabled. 0x22-bytes when encrypted, 0xE-bytes when plaintext.
|-
  −
| 0x1E || || Start of encrypted (and crypto-related) data if enabled. 0x22-bytes when encrypted, 0xE-bytes when plaintext.
   
|}
 
|}
   −
The second Nintendo tag contains the following data (data starting at +0x2 is encrypted if enabled, there's also an additional 0x14-bytes when encrypted):
+
The second Nintendo tag (ID 0x0601) contains the following data (data is encrypted if enabled, there's also an additional 0x14-bytes when encrypted):
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 1,589: Line 1,587:  
! Description
 
! Description
 
|-
 
|-
| 0x0 || 0x2 || Usually 06 01?
+
| 0x0 || 0x1 || Plaintext: usually 21?
|-
  −
| 0x2 || 0x1 || Plaintext: usually 21?
   
|-
 
|-
| 0x3 || 0x1 || Plaintext: AdvertiseData size
+
| 0x1 || 0x1 || Plaintext: AdvertiseData size
 
|-
 
|-
| 0x4 || {above size} || Plaintext: AdvertiseData
+
| 0x2 || {above size} || Plaintext: AdvertiseData
 
|}
 
|}
  
30

edits