Re: Tutorial: Query the Apple database with Python for your access point BSSID

Marian <[email protected]> Wed, 31 Dec 2025 00:51:56 -0700
Newsgroups alt.comp.os.windows-10,alt.internet.wireless,alt.comp.microsoft.windows,alt.comp.os.windows-11
Organization BWH Usenet Archive (https://usenet.blueworldhosting.com)
Message-ID <[email protected]>
Char Jackson wrote:
> A BSSID is typically based on the interface's MAC address. Each MAC
> address is assumed, by many people, to be globally unique, but they
> don't have to be.* It helps greatly if a MAC address is unique within
> its local network segment, but a duplicate MAC appearing somewhere else
> shouldn't cause any problems. By extension, a duplicate BSSID appearing
> somewhere else shouldn't cause any problems that I can think of.
> 
> So my question is, would it help Arlen's quest for privacy if he were to
> choose a MAC, and thus a BSSID, that already exists somewhere else and
> is already present in the database? When someone does a query on that
> BSSID, would they get the first result, or all results? I wonder if
> Arlen has checked for duplicate BSSID entries in his favorite database.
> 
> *Many years ago, where I worked we trialed a piece of software that
> intentionally used the same IP address and MAC address on every server
> in the pool. That violates everything we're taught about network
> addressing, but it didn't cause any problems. It simply moved certain
> tasks farther up the network stack. We ended up buying and deploying
> that software into our production network.

Hi Char Jackson,

Happy New Year!

You are one of the people on this newsgroup who know more about routers
than anyone I personally know, including me, although Jeff Lieberman and
Paul and a few others would know as much or almost as much as you do.

So I welcome your question as I am wondering the same things myself!

In the context of OpenWrt running on consumer-grade hardware, it is
important to distinguish between what the configuration layer *allows*
you to request and what the underlying wireless chipset and driver will
actually honor. While OpenWrt exposes 'option macaddr' for wireless
interfaces, the ability to override the BSSID (which is simply the MAC
address of the AP's radio interface) is entirely dependent on the
capabilities of the Wi-Fi hardware and its corresponding mac80211 or
vendor-specific driver.

Most consumer routers use Broadcom, Qualcomm Atheros, or Mediatek
chipsets whose Wi-Fi MAC addresses are stored in OTP/EEPROM and are
treated as immutable by the firmware. Even when OpenWrt writes an
override into /etc/config/wireless, the driver frequently rejects the
requested MAC because the hardware enforces the burned-in address or
derives multiple interface MACs from a fixed base. As a result, the
BSSID remains tied to the factory-programmed value regardless of user
configuration. This is why many OpenWrt users observe that attempts to
spoof the BSSID simply do not take effect on real consumer hardware.

Only a subset of chipsets, typically those using fully mac80211-based
drivers with permissive MAC handling, will accept a user-specified
address for the AP interface. Even then, the override must satisfy the
802.11 requirement for a unicast, locally administered MAC (i.e., the
second-least-significant bit of the first octet must be set, and the
least-significant bit must be clear). If the address fails these
constraints, the driver will silently normalize or reject it.

Because of these hardware and driver limitations, the idea of selecting
an arbitrary BSSID to "collide" with an existing entry in a Wi-Fi
positioning database is largely theoretical for typical OpenWrt
deployments. Even on hardware that does permit MAC spoofing, WPS systems
such as Apple's treat the BSSID as a unique key and will simply update
the single stored location rather than maintaining multiple entries. As
a consequence, spoofing an existing BSSID does not provide meaningful
privacy benefits and, in practice, is simply not achievable on most
consumer routers, even when they are running the latest OpenWrt firmware.