In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

/shared2/sys/net/02/config.dat

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.

typedef struct _connection
{
/*
u8 selected is 8 flags:
 
 1->Connection selected 
   |  1->Internet test passed
   |   |
   1 0 1 0  0 1 1 0
         |    | | |
         |    | | 0->wireless 1-> wired (lan)
         |    | 1->DHCP DNS
         | 1->DHCP IP
         |
       1->use proxy
 
A manual settings wireless connection without proxy looks like 1 0 1 0 0 0 0 0
 
*/
    u8 selected;
 
	u8 padding_1[3];
 
	u8 ip[4];//wii ip adress
	u8 netmask[4];
	u8 gateway[4];
	u8 dns1[4];
	u8 dns2[4];
 
	u8 padding_2[2];
	u16 mtu; //valid values are 0 and 576-1500 range
 
    u8 padding_3[8];	// 0x00 padding?
 
	u8 use_proxy;            //0x00 -> no proxy //0x01 use proxy
	u8 use_proxy_userandpass; //0x00 -> don't use user and password //0x01 use user and password
 
	u8 padding_p1[2]; //0x00
 
	u8 proxy_name[255];
	u8 padding_p2; //0x00
	u16 proxy_port; // 0-34463 range
	u8 proxy_username[32];
	u8 padding_p3; //0x00
	u8 proxy_password[32];
	
	u8 padding_4; //0x00
	
//This is a copy of the proxy settings	
	u8 use_proxy_copy;            //0x00 -> no proxy //0x01 use proxy
	u8 use_proxy_userandpass_copy; //0x00 -> don't use user and password //0x01 use user and password
 
	u8 padding_p1_copy[2]; //0x00
 
	u8 proxy_name_copy[255];
	u8 padding_p2_copy; //0x00
	u16 proxy_port_copy; // 0-34463 range
	u8 proxy_username_copy[32];
	u8 padding_p3_copy; //0x00
	u8 proxy_password_copy[32];
 
	u8 padding_5[1297]; //0x00	
 
//Start of wireless only settings
 
    u8 ssid[32];		// Access Point name.
 
    u8 padding_6;		// 0x00
    u8 ssid_length;		// length of ssid[] (AP name) in bytes.
    u8 padding_7[2];		// 0x00
 
    u8 padding_8;		// 0x00
    u8 encryption;		// (Probably) Encryption.  OPN: 0x00, WEP64: 0x01, WEP128: 0x02 WPA-PSK (TKIP): 0x04, WPA2-PSK (AES): 0x05, WPA-PSK (AES): 0x06
    u8 padding_9[2];		// 0x00
 
    u8 padding_10;		// 0x00
    u8 key_length;		// length of key[] (encryption key) in bytes.
						// for WEP it's 0x00
    u8 padding_11[2];		// 0x00
 
    u8 key[64];		// Encryption key
					//For a WEP key, they key is repeated 4 times (52 bytes) then padded with zeroes
 
    u8 padding_12[236];		// 0x00
}connection_t;

Wired connections follow the same structure, except all related to ssid, encryption and keys is set to 0x00.

Note that all the paddings are a guess. Also, this all obtained by modifying ONLY the top wii connection (connection 1) while being the other two erassed (thus connection 1 and 2 are all set to 0x00).

More research is needed with this file.