ConnectCore 6UL SBC: Change MAC address for wlan1

Hi,
since Yocto 3.0 the wlan1 interface gets fixed MAC address 00:0a:f5:89:89:fe.
That is not wo good if one operates two or more with their own hostapd WLAN networks in one room so that they can see each other. The only the network from the board which was started first is visible. Changing the MAC address is overwritten when the network ist restarted.

Is there another solution to get several boards WLAN working simultaneously in vicinity of each other? (Pleass excuse my poor english)

root@btc-ew7:~_0$ ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: can0: mtu 16 qdisc noop state DOWN group default qlen 10
link/can
3: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:04:f3:18:8f:ed brd ff:ff:ff:ff:ff:ff
inet 192.168.100.7/24 brd 192.168.100.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::204:f3ff:fe18:8fed/64 scope link
valid_lft forever preferred_lft forever
4: eth1: mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 00:04:f3:18:8f:ec brd ff:ff:ff:ff:ff:ff
5: sit0@NONE: mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
6: wlan0: mtu 1500 qdisc mq state DOWN group default qlen 3000
link/ether 00:04:f3:18:8f:ee brd ff:ff:ff:ff:ff:ff
7: wlan1: mtu 1500 qdisc mq state UP group default qlen 3000
link/ether 00:0a:f5:89:89:fe brd ff:ff:ff:ff:ff:ff
inet 192.168.101.5/24 brd 192.168.101.255 scope global wlan1
valid_lft forever preferred_lft forever
inet6 fe80::20a:f5ff:fe89:89fe/64 scope link
valid_lft forever preferred_lft forever
root@btc-ew7:~_0$ ip link set dev wlan1 down
root@btc-ew7:~_0$ ip link set dev wlan1 address 00:04:f3:18:8f:ef
root@btc-ew7:~_0$ ip link set dev wlan1 up
root@btc-ew7:~_0$ ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: can0: mtu 16 qdisc noop state DOWN group default qlen 10
link/can
3: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:04:f3:18:8f:ed brd ff:ff:ff:ff:ff:ff
inet 192.168.100.7/24 brd 192.168.100.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::204:f3ff:fe18:8fed/64 scope link
valid_lft forever preferred_lft forever
4: eth1: mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 00:04:f3:18:8f:ec brd ff:ff:ff:ff:ff:ff
5: sit0@NONE: mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
6: wlan0: mtu 1500 qdisc mq state DOWN group default qlen 3000
link/ether 00:04:f3:18:8f:ee brd ff:ff:ff:ff:ff:ff
7: wlan1: mtu 1500 qdisc mq state UP group default qlen 3000
link/ether 00:04:f3:18:8f:ef brd ff:ff:ff:ff:ff:ff
inet 192.168.101.5/24 brd 192.168.101.255 scope global wlan1
valid_lft forever preferred_lft forever
inet6 fe80::204:f3ff:fe18:8fef/64 scope link
valid_lft forever preferred_lft forever

root@btc-ew7:~_0$ /etc/init.d/networking restart
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces
Reconfiguring network interfaces…
Stopping HOSTAP Daemon: hostapd.
ifdown: interface eth0 not configured
[WARN] Using default MAC addresses for virtual interfaces, please program them referring to the Digi U-Boot Documentation
Starting HOSTAP Daemon: hostapd.
route: SIOCADDRT: Network is unreachable
root@btc-ew7:~_1$ ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: can0: mtu 16 qdisc noop state DOWN group default qlen 10
link/can
3: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:04:f3:18:8f:ed brd ff:ff:ff:ff:ff:ff
inet 192.168.100.7/24 brd 192.168.100.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::204:f3ff:fe18:8fed/64 scope link
valid_lft forever preferred_lft forever
4: eth1: mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 00:04:f3:18:8f:ec brd ff:ff:ff:ff:ff:ff
5: sit0@NONE: mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
6: wlan0: mtu 1500 qdisc mq state DOWN group default qlen 3000
link/ether 00:04:f3:18:8f:ee brd ff:ff:ff:ff:ff:ff
8: wlan1: mtu 1500 qdisc mq state UP group default qlen 3000
link/ether 00:0a:f5:89:89:fe brd ff:ff:ff:ff:ff:ff
inet 192.168.101.5/24 brd 192.168.101.255 scope global wlan1
valid_lft forever preferred_lft forever
inet6 fe80::20a:f5ff:fe89:89fe/64 scope link
valid_lft forever preferred_lft forever

wlan1 MAC needs to be explicitly set in U-boot:
setenv -f wlan1addr 12:04:f3:1a:be:33

root@ccimx8x-sbc-pro:~# iw dev
phy#0
Interface p2p0
ifindex 7
wdev 0x2
addr 12:04:f3:1a:be:33
type managed
txpower 0.00 dBm
Interface wlan0
ifindex 6
wdev 0x1
addr 00:55:66:77:88:99
type managed
txpower 0.00 dBm

1 Like

Thanks LeonidM it works also with Connectcore 6UL,
best regards Uwe