MAC address issue: differences with internal and USB wifi adapters, TW and Mint

openSUSE tumbleweed KDE 32-bit is installed on my ThinkPad X41, dual-booting with Mint KDE 18.2 32-bit. TW using the internal wifi adapter will not connect to my home network but will connect to the building network. TW using a Belkin USB adapter connects to both networks. Mint using both adapters connects to both networks.

The problem seems to be TW with the internal adapter generates random MAC address for the device. My home network uses MAC address filtering, so the random addresses are denied access. The building network does not filter, so it connects. Somehow, TW uses the actual hardware MAC for the Belkin, so it connects to the home router. Mint always uses the actual hardware MAC for both devices, so they connect.

Hardware info is

X41int-oS-TWKDE:/home/howard # /usr/sbin/hwinfo --wlan
16: PCI 402.0: 0282 WLAN controller                             
  [Created at pci.378]
  Unique ID: TsNy.RekRcsD7b4A
  Parent ID: 6NW+.InKz0bgid89
  SysFS ID: /devices/pci0000:00/0000:00:1e.0/0000:04:02.0
  SysFS BusID: 0000:04:02.0
  Hardware Class: network
  Model: "Intel PRO/Wireless 2200BG [Calexico2] Network Connection"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x4220 "PRO/Wireless 2200BG [Calexico2] Network Connection"
  SubVendor: pci 0x8086 "Intel Corporation"
  SubDevice: pci 0x2711 
  Revision: 0x05
  Driver: "ipw2200"
  Driver Modules: "ipw2200"
  Device File: wlp4s2
  Features: WLAN
  Memory Range: 0xa0202000-0xa0202fff (rw,non-prefetchable)
  IRQ: 21 (no events)
  HW Address: 5a:84:e2:51:7e:69
  Permanent HW Address: 00:11:22:33:44:55
  Link detected: yes
  WLAN channels: 1 2 3 4 5 6 7 8 9 10 11
  WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462
  WLAN bitrates: 1 2 5.5 11 6 9 12 18 24 36 48 54
  WLAN encryption modes: WEP40 WEP104 TKIP CCMP
  WLAN authentication modes: open sharedkey wpa-psk wpa-eap
  Requires: ipw-firmware
  Module Alias: "pci:v00008086d00004220sv00008086sd00002711bc02sc80i00"
  Driver Info #0:
    Driver Status: ipw2200 is active
    Driver Activation Cmd: "modprobe ipw2200"                                                                                                  
  Config Status: cfg=no, avail=yes, need=no, active=unknown                                                                                    
  Attached to: #1 (PCI bridge)                                                                                                                 
X41int-oS-TWKDE:/home/howard #

Note there is a Permanent HW Address (edited), which is in the home router’s permitted list. The preceding line gives a HW Address that would be unable to connect to the home router.
inxi output taken at several different times when the USB adapter was attached show

howard@X41int-oS-TWKDE:~> inxi -Nn
Network: Card-1: Broadcom Limited NetXtreme BCM5751M Gigabit Ethernet PCI Express driver: tg3
IF: enp2s0 state: down mac: 00:0a:e4:3f:8b:6d
Card-2: Intel PRO/Wireless 2200BG [Calexico2] Network Connection driver: ipw2200
IF: wlp4s2 state: down mac: ca:f9:f6:07:07:7f
Card-3: Belkin F9L1101v2 802.11abgn Wireless Adapter [Realtek RTL8192DU] driver: rtl8192du
IF: wlp0s29f7u3 state: N/A mac: N/A
howard@X41int-oS-TWKDE:~>

howard@X41int-oS-TWKDE:~> inxi -Nn
Network: Card-1: Broadcom Limited NetXtreme BCM5751M Gigabit Ethernet PCI Express driver: tg3
IF: enp2s0 state: down mac: 00:0a:e4:3f:8b:6d
Card-2: Intel PRO/Wireless 2200BG [Calexico2] Network Connection driver: ipw2200
IF: wlp4s2 state: down mac: 42:77:3c:3c:b6:de
Card-3: Belkin F9L1101v2 802.11abgn Wireless Adapter [Realtek RTL8192DU] driver: rtl8192du
IF: wlp0s29f7u3 state: N/A mac: N/A
howard@X41int-oS-TWKDE:~>

howard@X41int-oS-TWKDE:~> inxi -Nn
Network: Card-1: Broadcom Limited NetXtreme BCM5751M Gigabit Ethernet PCI Express driver: tg3
IF: enp2s0 state: down mac: 00:0a:e4:3f:8b:6d
Card-2: Intel PRO/Wireless 2200BG [Calexico2] Network Connection driver: ipw2200
IF: wlp4s2 state: down mac: 06:90:85:c5:e6:34
Card-3: Belkin F9L1101v2 802.11abgn Wireless Adapter [Realtek RTL8192DU] driver: rtl8192du
IF: wlp0s29f7u3 state: N/A mac: N/A
howard@X41int-oS-TWKDE:~>

howard@X41int-oS-TWKDE:~> inxi -Nn
Network: Card-1: Broadcom Limited NetXtreme BCM5751M Gigabit Ethernet PCI Express driver: tg3
IF: enp2s0 state: down mac: 00:0a:e4:3f:8b:6d
Card-2: Intel PRO/Wireless 2200BG [Calexico2] Network Connection driver: ipw2200
IF: wlp4s2 state: down mac: c6:47:30:0c:28:39
Card-3: Belkin F9L1101v2 802.11abgn Wireless Adapter [Realtek RTL8192DU] driver: rtl8192du
IF: wlp0s29f7u3 state: N/A mac: N/A
howard@X41int-oS-TWKDE:~>
The MAC for the internal adapter, wlp4s2, is different each time, and never the actual MAC address. The Belkin shows mac: N/A.

How can I get the system to use the actual hardware MAC address for the internal adapter (like Mint), instead of generating alternative ones?

Thanks,
Howard

I’m assuming you’re using Network Manager? It’s a new NM feature but can be turned off if desired. In a nutshell edit /etc/NetworkManager/NetworkManager.conf to include

[device]
wifi.scan-rand-mac-address=no

Save when done and restart NM with

sudo systemctl restart NetworkManager

https://forums.opensuse.org/showthread.php/520263-Wifi-adaptor-MAC-keeps-changing

FWIW, it seems to have impacted on a number of users in unintended ways…
https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1681513

Brilliant. That fixed it. Yes, I’m using Network Manager. Now connected to the home router with the internal adapter. Thanks for the links - good reading.
Best regards,
Howard