Wl1251/Development

 
(8 intermediate revisions not shown)
Line 1: Line 1:
== Firmware testing ==
== Firmware testing ==
Testing driver: Maemo Fremantle 2.6.28 / wireless-testing 2011-02-06
Testing driver: Maemo Fremantle 2.6.28 / wireless-testing 2011-02-06
 +
External monitor:
External monitor:
Ubuntu 10.04 / Wireshark / Alfa AWUS036H (rtl8187) in monitor mode (single vif)
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 !! ACX_CTS_PROTECTION !! 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 || ? || 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 || 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 || 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 || 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
+
| 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_DISABLE || CTS
Line 36: Line 49:
|}
|}
-
CTS: Emits some CTS frames
+
==== 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 || 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 ====
==== 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

Contents

[edit] 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)

[edit] Monitor mode channel switching

[edit] 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

[edit] 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

[edit] 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

[edit] 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!

[edit] 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

[edit] 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

[edit] TX_ENABLE

Result
TX path disabled

[edit] RX_ENABLE

Result
TX path disabled

[edit] TX_DISABLE

Result
No channel change?/TX path disabled

[edit] RX_DISABLE

Result
Firmware lockup on TX

[edit] 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.