1,681 bytes added
, 03:44, 24 May 2013
[[Category:Services]]
These NWM services are used for local-WLAN communications, NWM module handles regular wifi APs as well. These services are used for creating/connecting to networks, and for sending/receiving data over the network etc. NWM module uses the wifi SDIO hardware via the IO registers for this.
=NWM local-WLAN service "nwm::UDS"=
=NWM service "nwm::INF"=
=NWM service "nwm::SOC"=
=NWM service "nwm::SAP"=
=NWM local-WLAN [[StreetPass]] service "nwm::CEC"=
=NWM service "nwm::EXT"=
=NWM service "nwm::TST"=
=Local-WLAN WPA2 Passphrase Generation=
All local-WLAN communications have the WPA2 passphrase generated the same way with NWM module. The input data used with [[Process_Services|EncryptDecryptAes]] with [[PSPXI:EncryptDecryptAes|keytype1]] is a MD5 hash over an input passphrase. This input passphrase is fixed for Download Play(the input passphrase for [[StreetPass]] is unknown), it's unique per local-WLAN protocol. The CTR is a MD5 hash over the below 0x10-byte structure. The output from encrypting that data with AES-CTR is the final WPA2 passphrase.
==Structure used for generating the CTR==
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0
| 0x4
| Little-endian local-WLAN communication ID, normally this is the user process' UniqueID from the [[Title_list|titleID]]. For Download Play, this is always 0x2810 on retail.
|-
| 0x4
| 0x4
| Little-endian u32 networkID, randomly-generated when creating the network. The network SSID used when a client connects to the network is sprintf(out, "%08X", networkID).
|-
| 0x8
| 0x6
| Host MAC address.
|-
| 0xE
| 0x2
| Little-endian ID, for Download Play this is 0x55.
|}