Search Linux Wireless

Re: brcmfmac: _brcmf_set_mac_address: Setting cur_etheraddr failed, -52

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

 



On 9 July 2015 at 12:38, Rafał Miłecki <zajec5@xxxxxxxxx> wrote:
> On 9 July 2015 at 09:07, Rafał Miłecki <zajec5@xxxxxxxxx> wrote:
>> The problem appears when trying to use more than 1 interface. It gets
>> created correctly, but setting its MAC fails. It results in wlan0-1
>> having the same MAC as wlan0 and finally having two networks (SSIDs)
>> using the same MAC. That obviously doesn't work.
>>
>> The error I see is:
>> brcmfmac: _brcmf_set_mac_address: Setting cur_etheraddr failed, -52
>> with -52 meaning BCME_IE_NOTFOUND.
>
> I managed to find/guess what exactly BCM43602 firmware rejects. It
> doesn't like 2 MAC addresses that differ by the locally administrated
> bit only. In my case it was 00:23:6a:a3:7d:95 + 02:23:6a:a3:7d:95.
>
> When I change MAC addresses to some other combination, e.g.:
> 00:23:6a:a3:7d:95 + 00:23:6a:a3:7d:96
> 02:23:6a:a3:7d:95 + 00:23:6a:a3:7d:96
> it works correctly.

Oh, it appeared to be more tricky. What BCM43602 firmware doesn't
allow is using the same value in the last 2 bits for different BSSes.

Few examples:
00:23:6a:a3:7d:90 + 00:23:6a:a3:7d:91 is GOOD
00:23:6a:a3:7d:90 + 00:23:6a:a3:7d:93 is GOOD
00:23:6a:a3:7d:90 + 00:23:6a:a3:7d:94 is BAD (last two bits are 0x0)
00:23:6a:a3:7d:92 + 00:23:6a:a3:7d:9a is BAD (last two bits are 0x2)

What's weird, all other numbers can be used as you want:
00:23:6A:A3:7D:90 + 00:7D:A3:6A:23:92 is GOOD

-- 
Rafał
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux