State of the OpenMoko wlan driver
Andy Green
andy at openmoko.com
Thu Sep 18 15:12:06 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Somebody in the thread at some point said:
(I have cc'd Vitaly and Yoseph in case they can clarify anything)
| Am Donnerstag 18 September 2008 14:35:14 schrieb Andy Green:
|> AUI the official situation from Atheros is there isn't any Monitor Mode
|> in the firmware, I know other folks in OM are talking to Atheros and
|> maybe they can make a nice surprise.
| If this means that the firmware does block all data frames going to
other MAC
| addresses except it's own one then we have no chance for monitor AND
promisc
| mode.
|
| If it only means that the firmware cannot give us access to the raw
mac80211
| frames, then we might get promisc mode.
Hm grepping around I see
drivers/sdio/function/wlan/ar6000/include/testcmd.h:
/* Continuous Rx
~ act: TCMD_CONT_RX_PROMIS - promiscuous mode (accept all incoming frames)
~ TCMD_CONT_RX_FILTER - filter mode (accept only frames with dest
~ address equal specified
~ mac address (set via act =3)
~ TCMD_CONT_RX_REPORT off mode (disable cont rx mode and get the
~ report from the last cont
~ Rx test)
~ TCMD_CONT_RX_SETMAC - set MacAddr mode (sets the MAC address for the
~ target. This Overrides
~ the default MAC address.)
*/
typedef enum {
~ TCMD_CONT_RX_PROMIS =0,
~ TCMD_CONT_RX_FILTER,
~ TCMD_CONT_RX_REPORT,
~ TCMD_CONT_RX_SETMAC
} TCMD_CONT_RX_ACT;
It turns up in drivers/sdio/function/wlan/ar6000/ar6000/ioctl.c:
~ case AR6000_XIOCTL_TCMD_CONT_RX:
~ {
~ TCMD_CONT_RX rxCmd;
~ if (ar->tcmdPm == TCMD_PM_SLEEP) {
~ A_PRINTF("Can NOT send rx tcmd when target is
asleep! \n");
~ return -EFAULT;
~ }
~ if(copy_from_user(&rxCmd, userdata, sizeof(TCMD_CONT_RX)))
~ return -EFAULT;
~ switch(rxCmd.act)
~ {
~ case TCMD_CONT_RX_PROMIS:
~ case TCMD_CONT_RX_FILTER:
~ case TCMD_CONT_RX_SETMAC:
~ wmi_test_cmd(ar->arWmi,(A_UINT8 *)&rxCmd,
~ sizeof(TCMD_CONT_RX));
~ break;
~ case TCMD_CONT_RX_REPORT:
~ ar6000_ioctl_tcmd_get_rx_report(dev, rq,
~ (A_UINT8 *)&rxCmd, sizeof(TCMD_CONT_RX));
~ break;
~ default:
~ A_PRINTF("Unknown Cont Rx mode: %d\n",rxCmd.act);
~ return -EINVAL;
~ }
~ }
~ break;
It's dependent on CONFIG_HOST_TCMD_SUPPORT which I guess isn't set right
now. What happens to those packets in other layers of networking stack
if they have mismatched MAC I don't know, nor if they come with radiotap
header prepended.
| And maybe someone can ask Atheros if there is some kind of "status"
function
| that returns the average? signal strength of each adhoc station in
range and
| the bandwith of the last unicast communication with it. Both values
are very
| important for good MANET routing metrics.
|
|> But personally, I expect what we got is what we got on GTA02
| I hope the GTA03/04 will use a WLAN chip with softmac driver.
I can't say one way or the other, except that we're very aware about it
and it is possible to get a good solution here with vendor cooperation.
|> and if you
|> want monitor mode the "solution" is stick zd1211-based USB stick in
|> there. Super happy to be proved wrong though!
| I don't think a smartphone would be a good "demonstration device" for a
| meshnet if you have to put an external WLAN stick in it. ;)
Agreed.
- -Andy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iEYEARECAAYFAkjSU6YACgkQOjLpvpq7dMqLqQCeOa4xfF4lrKgByzY02x7aHUjZ
vnoAnRbyFAMC8nW6n3zY/c4cN0dhi2pM
=aN7n
-----END PGP SIGNATURE-----
More information about the openmoko-kernel
mailing list