Anyone working on making iw able to specify MAC address at station creation time?
I'm having issues with udev renaming newly created stations when I have udev rules for wlanX, when wlanX is not already existing.
I think specifying MAC on station creation time would solve my problems, but haven't looked closely yet.
My version of 'iw' doesn't support setting the MAC on creation, from what I can tel.
Curious if anyone else is working on this?
Thanks,
Ben
Signature · 2 lines
Ben Greear <[email protected]> Candela Technologies Inc http://www.candelatech.com
Quoted 10 lines · Ben Greear
I'm having issues with udev renaming newly created stations when I have udev rules for wlanX, when wlanX is not already existing.
I think specifying MAC on station creation time would solve my problems, but haven't looked closely yet.
My version of 'iw' doesn't support setting the MAC on creation, from what I can tel.
Curious if anyone else is working on this?
I think Marcel mentioned wanting this before. There's even an attribute in nl80211 already, but it can only be used for P2P_DEVICE I believe, so a feature flag or so would be needed to be able to know whether or not this would be expected to take any effect (kernels before those future changes would ignore the attribute for non-P2P-DEVICE I believe)
Haven't looked at the code right now, this is all I know.
johannes
Quoted 12 lines · Johannes Berg
Quoted 10 lines · Ben Greear
I'm having issues with udev renaming newly created stations when I have udev rules for wlanX, when wlanX is not already existing.
I think specifying MAC on station creation time would solve my problems, but haven't looked closely yet.
My version of 'iw' doesn't support setting the MAC on creation, from what I can tel.
Curious if anyone else is working on this?
Quoted 7 lines
I think Marcel mentioned wanting this before. There's even an attribute in nl80211 already, but it can only be used for
P2P_DEVICEI believe, so a feature flag or so would be needed to be able to know whether or not this would be expected to take any effect (kernels before those future changes would ignore the attribute for non-P2P-DEVICE I believe)Haven't looked at the code right now, this is all I know.
In the iw code, it seems that the arguments: mesh_id, 4addr, flags cannot be used at the same time?
I want to add an option pass an optional mac-address as well. It would be easier if I processed args in a loop and removed the exclusivity on those 3 above, but if they do need to remain exclusive, then I can do that too:
static int handle_interface_add(struct nl80211_state *state,
struct nl_cb *cb, struct nl_msg *msg, int argc, char **argv, enum id_input id)
{
char *name;
char *mesh_id = NULL;
enum nl80211_iftype type;
int tpset;
if (argc < 1)
return 1;
name = argv[0];
argc--;
argv++;
tpset = get_if_type(&argc, &argv, &type, true);
if (tpset)
return tpset;
if (argc) {
if (strcmp(argv[0], "mesh_id") == 0) {
argc--;
argv++;
if (!argc)
return 1;
mesh_id = argv[0];
argc--;
argv++;
} else if (strcmp(argv[0], "4addr") == 0) {
argc--;
argv++;
if (parse_4addr_flag(argv[0], msg)) {
fprintf(stderr, "4addr error\n");
return 2;
}
argc--;
argv++;
} else if (strcmp(argv[0], "flags") == 0) {
argc--;
argv++;
if (parse_mntr_flags(&argc, &argv, msg)) {
fprintf(stderr, "flags error\n");
return 2;
}
} else {
return 1;
}
}
if (argc)
return 1;Thanks,
Ben
Signature · 2 lines
Ben Greear <[email protected]> Candela Technologies Inc http://www.candelatech.com
Quoted 12 lines · Johannes Berg
Quoted 10 lines · Ben Greear
I'm having issues with udev renaming newly created stations when I have udev rules for wlanX, when wlanX is not already existing.
I think specifying MAC on station creation time would solve my problems, but haven't looked closely yet.
My version of 'iw' doesn't support setting the MAC on creation, from what I can tel.
Curious if anyone else is working on this?
Quoted 7 lines
I think Marcel mentioned wanting this before. There's even an attribute in nl80211 already, but it can only be used for
P2P_DEVICEI believe, so a feature flag or so would be needed to be able to know whether or not this would be expected to take any effect (kernels before those future changes would ignore the attribute for non-P2P-DEVICE I believe)From what I can tell, cfg80211 does parse the macaddr for p2p-device,
but I don't see it used in mac80211/iface.c ieee80211_if_add.
Am I missing something?
Thanks,
Ben
Quoted 5 lines
Haven't looked at the code right now, this is all I know.
johannes
Signature · 2 lines
Ben Greear <[email protected]> Candela Technologies Inc http://www.candelatech.com
Quoted 19 lines · Ben Greear
Quoted 10 lines · Johannes Berg
Quoted 9 lines · Ben Greear
I'm having issues with udev renaming newly created stations when I have udev rules for wlanX, when wlanX is not already existing.
I think specifying MAC on station creation time would solve my problems, but haven't looked closely yet.
My version of 'iw' doesn't support setting the MAC on creation, from what I can tel.
Quoted 7 lines
Quoted 1 line
Curious if anyone else is working on this?
I think Marcel mentioned wanting this before. There's even an attribute in nl80211 already, but it can only be used for
P2P_DEVICEI believe, so a feature flag or so would be needed to be able to know whether or not this would be expected to take any effect (kernels before those future changes would ignore the attribute for non-P2P-DEVICE I believe)
Quoted 4 lines
From what I can tell, cfg80211 does parse the macaddr for p2p-device,
but I don't see it used inmac80211/iface.cieee80211_if_add.Am I missing something?
Hi Ben,
It has been a while ago since I added this, but it could be that only brcmfmac is the only driver looking at the mac address parameter and that is a cfg80211 driver.
Regards,
Arend
--8<-----------------------------------------------------------------
commit 1c18f1452a772dfe884ed25677bddb3ecaf9c43a
Author: Arend van Spriel <[email protected]> Date: Tue Jan 8 10:17:27 2013 +0100
nl80211: allow user-space to set address for P2P_DEVICE
As per email discussion Jouni Malinen pointed out that:
"P2P message exchanges can be executed on the current operating channel of any operation (both P2P and non-P2P station). These can be on 5 GHz and even on 60 GHz (so yes, you _can_ do GO Negotiation on 60 GHz).
As an example, it would be possible to receive a GO Negotiation Request frame on a 5 GHz only radio and then to complete GO Negotiation on that band. This can happen both when connected to a P2P group (through
client
discoverability mechanism) and when connected to a legacy AP (assuming the station receive Probe Request frame from full scan in the beginning of P2P device discovery)."
This means that P2P messages can be sent over different radio devices. However, these should use the same P2P device address so it should be able to provision this from user-space. This patch adds a parameter for this to struct vif_params which should only be used during creation of the P2P device interface.
include/net/cfg80211.h | 4 ++++ net/wireless/nl80211.c | 7 +++++++ 2 files changed, 11 insertions(+)
Quoted 7 lines
Quoted 5 lines
Haven't looked at the code right now, this is all I know.
johannes