From WiiBrew
< /shared2‎ | sys‎ | net‎ | 02
Jump to navigation Jump to search

This file contains the Wii's Internet connection configuration. It is composed of an 8-byte header and 3 connection entries of 0x91C each.

struct config
    u64 header;		// 0x00000000 0x01070000
    connection connection1;
    connection connection2;
    connection connection3;

Where connection is defined as:

typedef struct
    u8 selected;		// 0x26: not selected.  0xa6: selected
    u8 padding_1[1987];	// 0x00
    u8 ssid[32];		// Access Point name.

    u8 padding_2;		// 0x00
    u8 ssid_length;		// length of ssid[] (AP name) in bytes.
    u8 padding_3[2];		// 0x00

    u8 padding_4;		// 0x00
    u8 encryption;		// (Probably) Encryption.  OPN: 0x00, WEP: 0x01, WPA-PSK (TKIP): 0x04, WPA2-PSK (AES): 0x05, WPA-PSK (AES): 0x06
    u8 padding_5[2];		// 0x00

    u8 padding_6;		// 0x00
    u8 key_length;		// length of key[] (encryption key) in bytes.
    u8 padding_7[2];		// 0x00

    u8 key[64];		// Encryption key

    u8 padding_8[236];		// 0x00
} connection;

Since I don't have a wired adapted I didn't check how wired connections were recorded. Also, I only checked connections with IPs assigned by DHCP so static connections may be different.

I'm also guessing is that u8 selected may actually be 8 flags:

Connection selected 
  |  Connection not blank?
  |   |
  1 0 1 0  0 1 1 0
             | | |
             | | 0->wireless 1-> wired?
             | Wireless?
          Dynamic IP?