Wl1251/Development
[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
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
[edit] RX_ENABLE
[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.