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, returns an output 0x3C-byte struct.
No input. Returns an output [[#ConnectionStatus]].


This copies data from state to the output struct.
== GetState ==
No input. Returns an output [[#State]].


{| class="wikitable" border="1"
Sends command message 0x80 to the state machine.
|-
 
! Offset || Size || Description
== GetScanResult ==
|-
Takes a type-0x6 output buffer containing a [[#ScanResult]]. No output.
| 0x0 || 0x4 ||
 
|-
Sends command message 0x15 to the state machine.
| 0x4 || 0x4 ||
 
|-
== GetRssi ==
| 0x8 || 0x2 || Channel
No input. Returns an output u32 '''Rssi'''.
|-
 
| 0xA || 0x6 || AccessPoint MAC address
Sends command message 0x2E to the state machine.
|-
 
| 0x10 || 0x22 || u8 SSID_len, then the SSID data.
== ChangeRxAntenna ==
|-
Takes an input u32. No output.
| 0x32 || 0x2 ||
 
|-
Sends command message 0x30 to the state machine.
| 0x34 || 0x2 ||
 
|-
== GetFwVersion ==
| 0x36 || 0x2 ||
Takes a type-0xA output buffer containing a [[#FwVersion]]. No output.
|-
 
| 0x38 || 0x2 ||
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.


= Notes =
= 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.


== Versions ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! System Version
! System Version
! Firmware string
! 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