4

Ok, so I am working on a project which is based around the architecture of the Pi B+. It's a proprietary designed board. On that board is a BCM43143 WiFi module - the same chip that's in the Broadcom "triangle" adapter.

Individually these all work perfectly fine. However, once you have two of them there are MAC address conflicts. The same happens with two triangles, or a module and a triangle.

The issue here is that the MAC address is hard coded in the firmware file brcm/brcmfmac43143.bin as 00:90:4C:0E:81:23

Now, I can temporarily change the mac address, either as ifconfig wlan0 hw ether ... or in the NetworkManager as cloned-mac-address=..., or even with macchanger, but this doesn't actually change the MAC address of the interface, but just creates a secondary "alias" MAC address on the interface. You still have the same underlying MAC address in the interface.

And that's where the problems happen. With two modules both enabled nearby it all goes belly up. The modules start fighting and causing each other to panic and reset. Running a ping gets about 3 packets through before it locks up and the interface resets. About a minute later another three packets get through.

Either that or these chips just really don't like having their MAC address changed.

I have manually edited the firmware file on one test module to give it a different hard coded MAC address (it's in the binary file as a string, which is helpful) and the problem instantly goes away. And that's fine for me, since I know how to do these things. Not good for an average user though, editing a binary file like that.

So. Has anyone else come across this problem of conflicting underlying MAC addresses on these triangles / modules? If so, how do you tackle it? Am I going to have to resort to writing a custom "MAC editing" utility to modify the firmware files myself, or is there some way of setting a parameter to override the MAC that's in there?

Update: I have written a small utility to change the MAC address in the .bin file. Not perfect, but may be the way to go...

  • I have 2 of these devices and they both have the same MAC address as yours, I would love to see your MAC address change utility, as it is causing me problems too. Mike – user150795 Jan 9 '16 at 16:17
  • It's on github at github.com/majenkotech/chmac - help yourself to it :) – Majenko Jan 9 '16 at 16:19
  • As the Raspberry Pi 3B has just been released and it also uses the BCM43143 perhaps this question may get migrated BACK to RPSE? 8-) – SlySven Feb 27 '16 at 17:04
0

Here is an email from Broadcom in response to this issue:

-------- Original message -------- From: Hante Meuleman Date: 12/01/2016 09:13 (GMT+00:00) To: Mike Last <********************>, brcm80211-dev-list
Subject: RE: BCM43143 Mac Address issues.

Hi Mike,

Unfortunately this is a manufacturing problem. The device is supposed to be programmed with a unique mac address, but isn’t. As a result the firmware will use its default address, which should normally only be necessary for development devices. We could make firmware which randomize the mac address, but even that could not always result in a unique mac address. One of the ways to get around it is, is by giving the device a new mac address using ifconfig: where wlan0 needs to be substituted with interface name of device and the mac address is free to choose.

Sorry, but we have no good alternative for this.

Regards, Hante

-----Original Message----- From: Mike Last [mailto:***********************]
Sent: Monday, January 11, 2016 8:35 PM To: brcm80211-dev-list Subject: BCM43143 Mac Address issues.

Hi,

I am an end user and not a developer.

I am using the BCM43143 usb hub/wifi device for Raspberry Pi.

This device is great, but when I have 2 running on the same network they both have the same MAC address and will not work. The MAC address is 00:90:4C:0E:81:23, this seems to be written into the brcmfmac43143.bin file in Raspbian Jessie ( it is identical in Ubuntu 14.04 )

Has there been some error in the driver files for these releases and are you able to offer any alternatives?

Thanks

Mike

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.