Rename /etc/udev/rules.d/70-persistent-net.rules to something else:
$ sudo mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak
Reboot
Wireless interface should be all merry again.
A wmaster0 bogus interface is still created, but at least wireless is functional again.
wlan0 Link encap:Ethernet HWaddr AA-BB-CC-DD-EE-FF
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wmaster0 Link encap:UNSPEC HWaddr AA-BB-CC-DD-EE-FF-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Here's the before:
$ tail /etc/udev/rules.d/70-persistent-net.rules.bak # See udev(7) for syntax.
#
# Entries are automatically added by the 75-persistent-net-generator.rules
# file; however you are also free to add your own entries.
And here's the after:
$ tail /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
I found a workaround from Bug #180766
Rename /etc/udev/ rules.d/ 70-persistent- net.rules to something else: rules.d/ 70-persistent- net.rules /etc/udev/ rules.d/ 70-persistent- net.rules. bak
$ sudo mv /etc/udev/
Reboot
Wireless interface should be all merry again.
A wmaster0 bogus interface is still created, but at least wireless is functional again.
wlan0 Link encap:Ethernet HWaddr AA-BB-CC-DD-EE-FF
collisions: 0 txqueuelen:1000
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wmaster0 Link encap:UNSPEC HWaddr AA-BB-CC- DD-EE-FF- 00-00-00- 00-00-00- 00-00-00- 00
collisions: 0 txqueuelen:1000
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Here's the before: rules.d/ 70-persistent- net.rules. bak # See udev(7) for syntax. net-generator. rules
$ tail /etc/udev/
#
# Entries are automatically added by the 75-persistent-
# file; however you are also free to add your own entries.
# PCI device 0x14e4:0x170c (b44) =="00:AA: BB:CC:DD: EE", NAME="eth0"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}
# PCI device 0x14e4:0x4311 (bcm43xx) =="AA:BB: CC:DD:EE: FF", NAME="eth1"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}
And here's the after: rules.d/ 70-persistent- net.rules write_net_ rules net-generator. rules rules file.
$ tail /etc/udev/
# This file was automatically generated by the /lib/udev/
# program run by the persistent-
#
# You can modify it, as long as you keep each rule on a single line.
# PCI device 0x14e4:0x170c (b44) =="00:AA: BB:CC:DD: EE", ATTR{type}=="1", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
# PCI device 0x14e4:0x4311 (b43-pci-bridge) =="AA:BB: CC:DD:EE: FF", ATTR{type}=="1", NAME="wlan0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
Hope it helps.