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
RX_ENABLE
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.