WLAN services: Difference between revisions
No edit summary |
|||
Line 6: | Line 6: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || OpenMode | | 0 || [[#OpenMode]] | ||
|- | |- | ||
| 1 || CloseMode | | 1 || [[#CloseMode]] | ||
|- | |- | ||
| 2 || GetMacAddress | | 2 || [[#GetMacAddress]] | ||
|- | |- | ||
| 3 || StartScan | | 3 || [[#StartScan]] | ||
|- | |- | ||
| 4 || StopScan | | 4 || [[#StopScan]] | ||
|- | |- | ||
| 5 || Connect | | 5 || [[#Connect]] | ||
|- | |- | ||
| 6 || CancelConnect | | 6 || [[#CancelConnect]] | ||
|- | |- | ||
| 7 || Disconnect | | 7 || [[#Disconnect]] | ||
|- | |- | ||
| 8 || GetSystemEvent | | 8 || [[#GetSystemEvent]] | ||
|- | |- | ||
| 9 || [[#GetConnectionStatus]] | | 9 || [[#GetConnectionStatus]] | ||
|- | |- | ||
| 10 || GetState | | 10 || [[#GetState]] | ||
|- | |- | ||
| 11 || GetScanResult | | 11 || [[#GetScanResult]] | ||
|- | |- | ||
| 12 || GetRssi | | 12 || [[#GetRssi]] | ||
|- | |- | ||
| 13 || ChangeRxAntenna | | 13 || [[#ChangeRxAntenna]] | ||
|- | |- | ||
| 14 || GetFwVersion | | 14 || [[#GetFwVersion]] | ||
|- | |- | ||
| 15 || RequestSleep | | 15 || [[#RequestSleep]] | ||
|- | |- | ||
| 16 || RequestWakeUp | | 16 || [[#RequestWakeUp]] | ||
|- | |- | ||
| 17 || ConnectWithWps | | 17 || [[#ConnectWithWps]] | ||
|- | |- | ||
| 18 || [3.0.0+] | | 18 || [3.0.0+] | ||
Line 62: | Line 62: | ||
| 27 || [4.0.0+] | | 27 || [4.0.0+] | ||
|- | |- | ||
| 28 || [5.0.0+] InitializeWlan | | 28 || [5.0.0+] [[#InitializeWlan]] | ||
|- | |- | ||
| 29 || [7.0.0+] FinalizeWlan | | 29 || [7.0.0+] [[#FinalizeWlan]] | ||
|- | |- | ||
| 30 || [8.0.0+] | | 30 || [8.0.0+] | ||
Line 90: | Line 90: | ||
[7.0.0+] Input/output for cmds 27/28 were swapped, perhaps these cmds were swapped? | [7.0.0+] Input/output for cmds 27/28 were swapped, perhaps these cmds were swapped? | ||
== OpenMode == | |||
No input/output. | |||
Sends command message 0x6 to the state machine. | |||
== CloseMode == | |||
No input/output. | |||
Sends command message 0x5 to the state machine. | |||
== GetMacAddress == | |||
No input. Returns an output [[#MacAddress]]. | |||
Sends command message 0x18 to the state machine. | |||
== StartScan == | |||
Takes a type-0x15 input buffer. No output. | |||
Sends command messages 0xA and 0x14 to the state machine. | |||
== StopScan == | |||
No input/output. | |||
Sends command message 0x16 to the state machine. | |||
== Connect == | |||
Takes an input [[#ConnectParam]]. No output. | |||
Sends command messages 0xA, 0x13 and 0x20 to the state machine. | |||
== CancelConnect == | |||
No input/output. | |||
Sends command message 0x23 to the state machine. | |||
== Disconnect == | |||
No input/output. | |||
Sends command message 0x24 to the state machine. | |||
== GetSystemEvent == | |||
Takes an input u32 '''SystemEventType'''. Returns an output Event handle. | |||
== GetConnectionStatus == | == GetConnectionStatus == | ||
No input | No input. Returns an output [[#ConnectionStatus]]. | ||
== GetState == | |||
No input. Returns an output [[#State]]. | |||
Sends command message 0x80 to the state machine. | |||
== GetScanResult == | |||
Takes a type-0x6 output buffer containing a [[#ScanResult]]. No output. | |||
Sends command message 0x15 to the state machine. | |||
== GetRssi == | |||
No input. Returns an output u32 '''Rssi'''. | |||
Sends command message 0x2E to the state machine. | |||
== ChangeRxAntenna == | |||
Takes an input u32. No output. | |||
Sends command message 0x30 to the state machine. | |||
== GetFwVersion == | |||
Takes a type-0xA output buffer containing a [[#FwVersion]]. No output. | |||
Sends command message 0x32 to the state machine. | |||
== RequestSleep == | |||
No input/output. | |||
Sends command message 0x33 to the state machine. | |||
== RequestWakeUp == | |||
No input/output. | |||
Sends command messages 0x1, 0x80 and 0x81 to the state machine. | |||
== ConnectWithWps == | |||
Takes a type-0x9 input buffer containing a [[#WpsPin]] and two input u32s '''WpsMethod''' and '''BeaconLostTimeout'''. No output. | |||
Sends command messages 0xA, 0x13 and 0x21 to the state machine. | |||
== Cmd19 == | == Cmd19 == | ||
Line 418: | Line 476: | ||
[7.0.0+] Cmd14 now takes an input u8. | [7.0.0+] Cmd14 now takes an input u8. | ||
= | = Ssid = | ||
This is "nn::wlan::Ssid". This is a 0x20-byte struct. | |||
= MacAddress = | |||
This is a 0x6-byte struct with 1-byte alignment. | |||
= ConnectParam = | |||
This is a 0x80-byte struct. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 || 0x20 || [[#Ssid|Ssid]] | |||
|- | |||
| 0x20 || 0x6 || [[#MacAddress|Bssid]] | |||
|- | |||
| 0x26 || 0x2 || Reserved | |||
|- | |||
| 0x28 || 0x1 || | |||
|- | |||
| 0x29 || 0x1 || Reserved | |||
|- | |||
| 0x2A || 0x2 || Channel | |||
|- | |||
| 0x2C || 0x4 || PrivacyMode | |||
|- | |||
| 0x30 || 0x4 || GroupPrivacyMode | |||
|- | |||
| 0x34 || 0x4 || KeyIdx | |||
|- | |||
| 0x38 || 0x40 || SecurityKey | |||
|- | |||
| 0x78 || 0x4 || Reserved | |||
|- | |||
| 0x7C || 0x4 || BeaconLostTimeout | |||
|} | |||
= ConnectionStatus = | |||
This is a 0x3C-byte struct. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 || 0x4 || | |||
|- | |||
| 0x4 || 0x4 || | |||
|- | |||
| 0x8 || 0x2 || Channel | |||
|- | |||
| 0xA || 0x6 || AccessPoint MAC address | |||
|- | |||
| 0x10 || 0x22 || u8 SSID_len, then the SSID data. | |||
|- | |||
| 0x32 || 0x2 || | |||
|- | |||
| 0x34 || 0x2 || | |||
|- | |||
| 0x36 || 0x2 || | |||
|- | |||
| 0x38 || 0x2 || | |||
|} | |||
= ScanResult = | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 || 0x4 || ScanBufferCapacity | |||
|- | |||
| 0x4 || 0x4 || BssInfoSize | |||
|- | |||
| 0x8 || 0x4 || BssInfoCount | |||
|- | |||
| 0xC || Variable || Array of [[#BssInfo]] | |||
|} | |||
= BssInfo = | |||
This is a 0x58-byte struct. | |||
= State = | |||
{| class="wikitable" border="1" | |||
|- | |||
! Value | |||
! Description | |||
|- | |||
| 0 || | |||
|- | |||
| 1 || | |||
|- | |||
| 2 || | |||
|- | |||
| 3 || | |||
|- | |||
| 4 || | |||
|- | |||
| 5 || | |||
|- | |||
| 6 || | |||
|- | |||
| 7 || | |||
|- | |||
| 8 || | |||
|- | |||
| 9 || | |||
|- | |||
| 10 || | |||
|- | |||
| 11 || | |||
|- | |||
| 12 || | |||
|- | |||
| 13 || | |||
|- | |||
| 14 || | |||
|- | |||
| 15 || | |||
|- | |||
| 16 || | |||
|- | |||
| 17 || | |||
|- | |||
| 18 || | |||
|- | |||
| 19 || | |||
|} | |||
= WpsPin = | |||
This is a 0x8-byte string. | |||
= FwVersion = | |||
This is a 0x100-byte string. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! System Version | ! System Version | ||
! Firmware | ! Firmware String | ||
|- | |- | ||
| [1.0.0] || 4356a3-roml/pcie-ag-msgbuf-splitrx-pktctx-keepalive-sr-proptxstatus-ampduhostreorder-dlystat-rxdesens-ntdds3-btcdyn-trfmgmt-pspretend-btafh-pktfilter-wowlpf-aoe Version: 7.35.252.58 CRC: f592f3bf Date: Tue 2016-10-04 23:54:54 PDT Ucode Ver: 1020.221 FWID: 01-5ec2fbfd | | [1.0.0] || 4356a3-roml/pcie-ag-msgbuf-splitrx-pktctx-keepalive-sr-proptxstatus-ampduhostreorder-dlystat-rxdesens-ntdds3-btcdyn-trfmgmt-pspretend-btafh-pktfilter-wowlpf-aoe Version: 7.35.252.58 CRC: f592f3bf Date: Tue 2016-10-04 23:54:54 PDT Ucode Ver: 1020.221 FWID: 01-5ec2fbfd |