NWM Services: Difference between revisions

No edit summary
Line 105: Line 105:


== UDS Beacons ==
== UDS Beacons ==
The UDS host broadcasts a beacon containing at least two Nintendo-vendor tags, normally the data stored in these tags are static. The second tag contains the big-endian u32 networkID, used by the clients when connecting to the host and for the above CCMP key generation. The Nintendo-vendor tag(s) following the first two are unique to the process using UDS, these tags are used for broadcasting metadata regarding the host.
The UDS host broadcasts a beacon containing at least two Nintendo-vendor tags(tag number 0xDD, see above for the OUI), normally the data stored in these tags are static. The second tag contains the big-endian u32 networkID, used by the clients when connecting to the host and for the above CCMP key generation. The Nintendo-vendor tag(s) following the first two are unique to the process using UDS, these tags are used for broadcasting metadata regarding the host.
 
=== UDS Beacon Tags ===
The following is the structure of each tag, starting at the OUI.
 
==== OUI Type 21 ====
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x3
| OUI, see above.
|-
| 0x3
| 0x1
| OUI type (21/0x15)
|-
| 0x4
| 0x4
| wlancommID
|-
| 0x8
| 0x1
| u8 ID, also used at offset 0xE in the CTR-generation structure.
|-
| 0x1F
| 0x14
| SHA1 hash. When doing the hashing, this hash is cleared to zero. The hash data starts at offset 0x0(OUI), and the size is 0x34 + <value of the u8 at offset 0x33>.
|-
| 0x33
| 0x1
| Size of additional data. Normally zero.
|}
 
Normally the size of this tag(from the tag size field) is 0x34.