Wl1251/Development: Difference between revisions
From Maemo Wiki
Jump to navigationJump to search
imported>lxp mNo edit summary |
imported>lxp No edit summary |
||
| (7 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
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 | ! 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 || | | 00:00:00:00:00:00 || 100 || 1 || BSS_TYPE_STA_BSS || 0 || CTS | ||
|- | |- | ||
| 00:00:00:00:00:00 || 100 || | | 00:00:00:00:00:00 || 100 || 0 || BSS_TYPE_STA_BSS || JOIN_CMD_CTRL_TX_FLUSH || CTS | ||
|- | |- | ||
| 00:00:00:00:00:00 || | | 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 || | | 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 37: | Line 49: | ||
|} | |} | ||
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 || 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
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.