Re: Disabling P2P-device MAC Address randomization for P2P persistent groups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

as additional information to the already posted problem, I tested the following settings:

p2p_device_random_mac_addr=1

p2p_device_persistent_mac_addr=dc:a6:32:01:02:03

The following call fails in driver_nl80211.c:

    if (linux_set_iface_flags(drv->global->ioctl_sock, bss->ifname, 0) < 0)

This is the log:

...

Using existing control interface directory.
ctrl_interface_group=109 (from group name 'netdev')
p2p-dev-wlan0: Restore last used MAC address.
Could not read interface p2p-dev-wlan0 flags: No such device
p2p-dev-wlan0: Failed to set random MAC address
p2p-dev-wlan0: Failed to initialize P2P random MAC address.
p2p-dev-wlan0: Failed to init P2P
Failed to add interface p2p-dev-wlan0

...

Might it be related to some driver limitation?

I tested that, by setting the following code in "driver_nl80211.c" before "ret = send_and_recv_msgs(drv, msg, handler, arg, NULL, NULL);" the address can be forced to a predefined value:

#define STATIC_MAC_ADDRESS "dc:a6:32:01:02:03"

    if (iftype == NL80211_IFTYPE_P2P_DEVICE) {
        u8 mac_addr[ETH_ALEN];
        if (hwaddr_aton2(STATIC_MAC_ADDRESS, mac_addr))
            if(nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, mac_addr))
                goto fail;
    }

Would this be an appropriate strategy (e.g., sending STATIC_MAC_ADDRESS by reading it from p2p_device_persistent_mac_addr)?

Thanks

Regards

Alberto


Il 29/12/2020 16:19, Macrì Alberto ha scritto:

The current versions of the nl80211 device drivers enable MAC randomization by default, so that, when wpa_supplicant creates the "P2P-Device" virtual interface, a randomized MAC address is used and this breaks the persistent P2P Group reuse when the "P2P-Device" virtual interface is recreated. A persistent P2P-GO group works correctly while wpa_supplicant is running. After restarting wpa_supplicant, it creates a new "P2P-device type" interface with a different (randomized) MAC address and the saved persistent group in the peer device becomes no more usable for reconnection: only a new persistent group can be established (through new authorization process), usable until wpa_supplicant is subsequently restarted.

The expected behaviour is that a reconnection to the previously saved group is possible also after restarting wpa_supplicant.

After experimenting a modification in wpa_supplicant so that it forces a fixed MAC address during the "P2P-Device" virtual interface creation, I performed some tests using an Android device as P2P Client and a Linux server running the modified wpa_supplicant: in such case the issue is overcome.

Can someone confirm that a change has to be done in wpa_supplicant in order to support such feature?

Thanks


_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux