Wl1251/Development: Difference between revisions

From Maemo Wiki
Jump to navigationJump to search
imported>lxp
New page: == Firmware testing == === Monitor mode channel switching === ==== JOIN ==== Parameters {| class="wikitable" ! bssid !! beacon_int !! dtim_period !! bss_type !! ctrl !! Result |- | 00:00:0...
 
imported>lxp
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Firmware testing ==
== Firmware testing ==
Testing driver: Maemo Fremantle 2.6.28 / wireless-testing 2011-02-06
External monitor:
Ubuntu 10.04 / Wireshark / Alfa AWUS036H (rtl8187) in monitor mode (single vif)
=== Monitor mode channel switching ===
=== Monitor mode channel switching ===
==== JOIN ====
==== JOIN ====
Parameters
Parameters
{| class="wikitable"
{| class="wikitable"
! bssid !! beacon_int !! dtim_period !! bss_type !! ctrl !! Result
! bssid !! beacon_int !! dtim_period !! bss_type !! ctrl !! Result
|-
|-
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || RTS/CTS
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || CTS
|-
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || 0 || CTS
|-
| 00:00:00:00:00:00 || 100 || 0 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || CTS
|-
| 00:00:00:00:00:00 || 0 || 1 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || CTS
|-
| 00:00:00:00:00:00 || 0 || 0 || BSS_TYPE_STA_BSS || 0 || CTS
|-
|}
 
CTS: Emits some CTS frames
 
==== ACX_CTS_PROTECTION / JOIN ====
 
{| class="wikitable"
! bssid !! beacon_int !! dtim_period !! bss_type !! ctrl !! ACX_CTS_PROTECTION !! Result
|-
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || CTSPROTECT_DISABLE || CTS
|-
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || CTSPROTECT_ENABLE || CTS
|-
| 00:00:00:00:00:00 || 0 || 0 || BSS_TYPE_STA_BSS || 0 || CTSPROTECT_DISABLE || CTS
|-
| 00:00:00:00:00:00 || 0 || 0 || BSS_TYPE_STA_BSS || 0 || CTSPROTECT_ENABLE || CTS
|-
| 00:00:00:00:00:00 || 0 || 0 || MAX_BSS_TYPE || 0 || CTSPROTECT_DISABLE || No channel change
|-
| 00:00:00:00:00:00 || 0 || 0 || 1 || 0 || CTSPROTECT_DISABLE || CTS
|-
| 00:00:00:00:00:00 || 0 || 0 || 4 || 0 || CTSPROTECT_DISABLE || CTS
|-
| ff:ff:ff:ff:ff:ff || 0 || 0 || BSS_TYPE_STA_BSS || 0 || CTSPROTECT_DISABLE || CTS
|}
 
==== JOIN / ACX_CTS_PROTECTION ====
 
{| class="wikitable"
! bssid !! beacon_int !! dtim_period !! bss_type !! ctrl !! ACX_CTS_PROTECTION !! Result
|-
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || 0 || CTSPROTECT_DISABLE || CTS
|-
|-
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || 0 || ?
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || 0 || CTSPROTECT_ENABLE || CTS
|-
|-
| 00:00:00:00:00:00 || 100 || 0 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || ?
| 00:00:00:00:00:00 || 0 || 0 || BSS_TYPE_STA_BSS || 0 || CTSPROTECT_DISABLE || CTS
|-
|-
| 00:00:00:00:00:00 || 0 || 1 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || ?
| 00:00:00:00:00:00 || 0 || 0 || BSS_TYPE_STA_BSS || 0 || CTSPROTECT_ENABLE || CTS
|-
|-
| 00:00:00:00:00:00 || 0 || 0 || BSS_TYPE_STA_BSS || 0 || ?
|}
|}


RTS/CTS: Emits some RTS/CTS frames
==== TX_DISABLE / JOIN ====
 
{| class="wikitable"
! bssid !! beacon_int !! dtim_period !! bss_type !! ctrl !! Result
|-
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || WORKS!
|-
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || 0 || WORKS!
|-
| 00:00:00:00:00:00 || 0 || 0 || BSS_TYPE_STA_BSS || 0 || WORKS!
|-
|}
 
==== JOIN / TX_DISABLE ====
 
{| class="wikitable"
! bssid !! beacon_int !! dtim_period !! bss_type !! ctrl !! Result
|-
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || TX/RX not working
|-
|}
 
==== JOIN / DISCONNECT ====
 
{| class="wikitable"
! bssid !! beacon_int !! dtim_period !! bss_type !! ctrl !! Result
|-
| 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || 0 || some CTS/TX path disabled
|-
| 00:00:00:00:00:00 || 0 || 0 || BSS_TYPE_STA_BSS || 0 || some CTS/TX path disabled
|-
|}
 
==== TX_ENABLE ====
 
{| class="wikitable"
! Result
|-
| TX path disabled
|-
|}


==== RX_ENABLE ====
==== RX_ENABLE ====
{| class="wikitable"
! Result
|-
| TX path disabled
|-
|}
==== TX_DISABLE ====
{| class="wikitable"
! Result
|-
| No channel change?/TX path disabled
|-
|}
==== RX_DISABLE ====
{| class="wikitable"
! Result
|-
| Firmware lockup on TX
|-
|}
==== New proposal: ====
Start with DISABLE_TX.
Let op_add_interface do ENABLE_TX and op_remove_interface do DISABLE_TX.
Use JOIN for every channel change.

Latest revision as of 20:14, 18 February 2011

Firmware testing

Testing driver: Maemo Fremantle 2.6.28 / wireless-testing 2011-02-06

External monitor: Ubuntu 10.04 / Wireshark / Alfa AWUS036H (rtl8187) in monitor mode (single vif)

Monitor mode channel switching

JOIN

Parameters

bssid beacon_int dtim_period bss_type ctrl Result
00:00:00:00:00:00 100 1 BSS_TYPE_STA_BSS JOIN_CMD_CTRL_TX_FLUSH CTS
00:00:00:00:00:00 100 1 BSS_TYPE_STA_BSS 0 CTS
00:00:00:00:00:00 100 0 BSS_TYPE_STA_BSS JOIN_CMD_CTRL_TX_FLUSH CTS
00:00:00:00:00:00 0 1 BSS_TYPE_STA_BSS JOIN_CMD_CTRL_TX_FLUSH CTS
00:00:00:00:00:00 0 0 BSS_TYPE_STA_BSS 0 CTS

CTS: Emits some CTS frames

ACX_CTS_PROTECTION / JOIN

bssid beacon_int dtim_period bss_type ctrl ACX_CTS_PROTECTION Result
00:00:00:00:00:00 100 1 BSS_TYPE_STA_BSS JOIN_CMD_CTRL_TX_FLUSH CTSPROTECT_DISABLE CTS
00:00:00:00:00:00 100 1 BSS_TYPE_STA_BSS JOIN_CMD_CTRL_TX_FLUSH CTSPROTECT_ENABLE CTS
00:00:00:00:00:00 0 0 BSS_TYPE_STA_BSS 0 CTSPROTECT_DISABLE CTS
00:00:00:00:00:00 0 0 BSS_TYPE_STA_BSS 0 CTSPROTECT_ENABLE CTS
00:00:00:00:00:00 0 0 MAX_BSS_TYPE 0 CTSPROTECT_DISABLE No channel change
00:00:00:00:00:00 0 0 1 0 CTSPROTECT_DISABLE CTS
00:00:00:00:00:00 0 0 4 0 CTSPROTECT_DISABLE CTS
ff:ff:ff:ff:ff:ff 0 0 BSS_TYPE_STA_BSS 0 CTSPROTECT_DISABLE CTS

JOIN / ACX_CTS_PROTECTION

bssid beacon_int dtim_period bss_type ctrl ACX_CTS_PROTECTION Result
00:00:00:00:00:00 100 1 BSS_TYPE_STA_BSS 0 CTSPROTECT_DISABLE CTS
00:00:00:00:00:00 100 1 BSS_TYPE_STA_BSS 0 CTSPROTECT_ENABLE CTS
00:00:00:00:00:00 0 0 BSS_TYPE_STA_BSS 0 CTSPROTECT_DISABLE CTS
00:00:00:00:00:00 0 0 BSS_TYPE_STA_BSS 0 CTSPROTECT_ENABLE CTS

TX_DISABLE / JOIN

bssid beacon_int dtim_period bss_type ctrl Result
00:00:00:00:00:00 100 1 BSS_TYPE_STA_BSS JOIN_CMD_CTRL_TX_FLUSH WORKS!
00:00:00:00:00:00 100 1 BSS_TYPE_STA_BSS 0 WORKS!
00:00:00:00:00:00 0 0 BSS_TYPE_STA_BSS 0 WORKS!

JOIN / TX_DISABLE

bssid beacon_int dtim_period bss_type ctrl Result
00:00:00:00:00:00 100 1 BSS_TYPE_STA_BSS JOIN_CMD_CTRL_TX_FLUSH TX/RX not working

JOIN / DISCONNECT

bssid beacon_int dtim_period bss_type ctrl Result
00:00:00:00:00:00 100 1 BSS_TYPE_STA_BSS 0 some CTS/TX path disabled
00:00:00:00:00:00 0 0 BSS_TYPE_STA_BSS 0 some CTS/TX path disabled

TX_ENABLE

Result
TX path disabled

RX_ENABLE

Result
TX path disabled

TX_DISABLE

Result
No channel change?/TX path disabled

RX_DISABLE

Result
Firmware lockup on TX

New proposal:

Start with DISABLE_TX. Let op_add_interface do ENABLE_TX and op_remove_interface do DISABLE_TX. Use JOIN for every channel change.