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

/dev/net/wd/command: Difference between revisions

From WiiBrew
< /dev | net | wd
Jump to navigation Jump to search
Thoduv (talk | contribs)
Added info about WD_Scan input. This is my first attempt to help, and my first attempt to reverse-engineer something... I hope I didn't get it wrong.
Blooper4912 (talk | contribs)
No edit summary
Line 2: Line 2:




{{ Table }}
{| class="wikitable"
{{ Table/Header | Ioctl | Inputs | Outputs | Function }}
|-
{{ Table/Row | 0x1002 | 1 | 0 | WD_SetLinkState }}
! Ioctl  
{{ Table/Row | 0x1003 | 0 | 0 | ? }}
! Inputs  
{{ Table/Row | 0x1004 | 2 | 0 | set config? }}
! Outputs  
{{ Table/Row | 0x1006 | 2 | 0 | ? }}
! Function
{{ Table/Row | 0x1007 | 1 | 0 | ? }}
|-
{{ Table/Row | 0x1008 | 2 | 0 | ? }}
| 0x1002  
{{ Table/Row | 0x1009 | ? | ? | send frame? }}
| 1  
{{ Table/Row | 0x100A | 1 (0x60 bytes, see below) | 1 | WD_Scan }}
| 0  
{{ Table/Row | 0x100C | ? | ? | switch to raw mode? }}
| WD_SetLinkState  
{{ Table/Row | 0x100E | 0 | 1 (0x90 bytes) | GetInfo ?}}
|-
{{ Table/Row | 0x100F | ? | ? | ? }}
| 0x1003  
{{ Table/Row | 0x1010 | 1 | 0 | ? }}
| 0  
{{ Table/Row | 0x8000 | 0 | 1 | ? }}
| 0  
{{ Table/Row | 0x8001 | 0 | 1 | ? }}
| ?  
|-
| 0x1004  
| 2  
| 0  
| set config?  
|-
| 0x1006  
| 2  
| 0  
| ?  
|-
| 0x1007  
| 1  
| 0  
| ?  
|-
| 0x1008  
| 2  
| 0  
| ?  
|-
| 0x1009  
| ?  
| ?  
| send frame?  
|-
| 0x100A  
| 1 (0x60 bytes, see below)  
| 1  
| WD_Scan  
|-
| 0x100C  
| ?  
| ?  
| switch to raw mode?  
|-
| 0x100E  
| 0  
| 1 (0x90 bytes)  
| GetInfo ?
|-
| 0x100F  
| ?  
| ?  
| ?  
|-
| 0x1010  
| 1  
| 0  
| ?  
|-
| 0x8000  
| 0  
| 1  
| ?  
|-
| 0x8001  
| 0  
| 1  
| ?  
|}
|}



Revision as of 02:24, 26 October 2008

This device in the wd driver is repsonsible for managing configuration of the driver, probably mostly to handle communications with the Nintendo DS (e.g. downloading demos).


Ioctl Inputs Outputs Function
0x1002 1 0 WD_SetLinkState
0x1003 0 0 ?
0x1004 2 0 set config?
0x1006 2 0 ?
0x1007 1 0 ?
0x1008 2 0 ?
0x1009 ? ? send frame?
0x100A 1 (0x60 bytes, see below) 1 WD_Scan
0x100C ? ? switch to raw mode?
0x100E 0 1 (0x90 bytes) GetInfo ?
0x100F ? ? ?
0x1010 1 0 ?
0x8000 0 1 ?
0x8001 0 1 ?



WD_Scan input format (0x60 bytes):

struct wd_scan_input
{
   void *pointer_to_10_bytes_farther;	// pointer to param_buffer.
   int output_buffer_size;
   void *output_buffer;
   char params_buffer[0x4E];	// haven't figured out what is in.
};