linux-snapdragon: wcn36xx: mac address generation on boot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Impact:
The wcn36xx driver in Xenial/
While by itself not a bug (Xenial used a QCOM provided custom driver, while Bionic uses the upstream wcn36xx driver), it can be easily work-arounded by specifying the hw address in /etc/network/
1) upon boot, with no MAC address assigned, the wcn36xx assigns itself the
dummy address "00:00:00:00:00" and that prevents the network interface from working at all, until a valid address is set
2) the ubuntu core installer doesn't have any knowledge about this behaviour, it simply tries to bring up the interface and on failure, it marks it as 'not working'
On top of that, ubuntu core ships a small script in initramfs, that generates the /lib/firmware/
Fix:
Import back the MAC generation mechanism from Xenial: the pseudo random
generation and the parsing of /lib/firmware/
How to test:
Unpon boot, if no /lib/firmware/
[ 10.612701] wcn36xx a204000.
[ 10.612713] wcn36xx a204000.
ubuntu@
wlan0: flags=4098<
ether 00:0a:f5:d5:54:d7 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
else, if /lib/firmware/
ubuntu@
fe:1a:19:77:d9:88
ubuntu@
wlan0: flags=4098<
ether fe:1a:19:77:d9:88 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Regression potential:
Low - the patch is small and the code is wrapped in a Kconfig option
(WCN36XX_
leaving the generic kernel untouched.
---
description: | updated |
tags: | added: patch |
Changed in linux (Ubuntu): | |
status: | Incomplete → Fix Committed |
Changed in linux (Ubuntu Bionic): | |
status: | New → Fix Committed |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1776491
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.