19.07.1 - Ath79: Ubiquiti UniFi AC Mesh Pro: WiFi broken

After upgrading from OpenWrt-19.07.0 to OpenWrt-19.07.1 the WiFi of Ubiquiti UniFi AC Mesh Pro stopped working.

The command iw dev returned the error nl80211 not found . After a fresh install with sysupgrade -v -n the config file /etc/config/wireless was missing.

I downgraded to 19.07.0 and everything works fine as before. So I assume a regression bug in the release of 19.07.1.

1 Like

I'm also having the same problem with the Ubiquiti UniFi AC Mesh (without Pro)

Did you test installing WiFi drivers and software to see if they were simply missing from that image build?

Not yet. That would be athk10-ct, right? I would still consider it a bug if they are missing, though.

-- EDIT --

I used diff to compare the .manifest files generated by imagebuilder. There is no different in the installed packages except for the versions.

base-files - [-204.2-r10860-a3ffeb413b-] {+204.2-r10911-c155900f66+}
fstools - [-2020-01-05-823faa0f-1-] {+2020-01-18-189b41b6-1+}
kernel - [-4.14.162-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d-] {+4.14.167-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d+}
kmod-ath - [-4.14.162+4.19.85-1-1-] {+4.14.167+4.19.98-1-1+}
kmod-ath10k-ct - [-4.14.162+2019-09-09-5e8cd86f-1-] {+4.14.167+2019-09-09-5e8cd86f-1+}
kmod-ath9k - [-4.14.162+4.19.85-1-1-] {+4.14.167+4.19.98-1-1+}
kmod-ath9k-common - [-4.14.162+4.19.85-1-1-] {+4.14.167+4.19.98-1-1+}
kmod-cfg80211 - [-4.14.162+4.19.85-1-1-] {+4.14.167+4.19.98-1-1+}
kmod-gpio-button-hotplug - [-4.14.162-3-] {+4.14.167-3+}
kmod-hwmon-core - [-4.14.162-1-] {+4.14.167-1+}
kmod-ip6tables - [-4.14.162-1-] {+4.14.167-1+}
kmod-ipt-conntrack - [-4.14.162-1-] {+4.14.167-1+}
kmod-ipt-core - [-4.14.162-1-] {+4.14.167-1+}
kmod-ipt-nat - [-4.14.162-1-] {+4.14.167-1+}
kmod-ipt-offload - [-4.14.162-1-] {+4.14.167-1+}
kmod-lib-crc-ccitt - [-4.14.162-1-] {+4.14.167-1+}
kmod-mac80211 - [-4.14.162+4.19.85-1-1-] {+4.14.167+4.19.98-1-1+}
kmod-nf-conntrack - [-4.14.162-1-] {+4.14.167-1+}
kmod-nf-conntrack6 - [-4.14.162-1-] {+4.14.167-1+}
kmod-nf-flow - [-4.14.162-1-] {+4.14.167-1+}
kmod-nf-ipt - [-4.14.162-1-] {+4.14.167-1+}
kmod-nf-ipt6 - [-4.14.162-1-] {+4.14.167-1+}
kmod-nf-nat - [-4.14.162-1-] {+4.14.167-1+}
kmod-nf-reject - [-4.14.162-1-] {+4.14.167-1+}
kmod-nf-reject6 - [-4.14.162-1-] {+4.14.167-1+}
kmod-ppp - [-4.14.162-1-] {+4.14.167-1+}
kmod-pppoe - [-4.14.162-1-] {+4.14.167-1+}
kmod-pppox - [-4.14.162-1-] {+4.14.167-1+}
kmod-slhc - [-4.14.162-1-] {+4.14.167-1+}

I did some testing and could narrow it down to this commit:


Anybody here who knows how to fix it?

Output dmesg:

[    0.000000] Linux version 4.14.162 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r10860-a3ffeb413b)) #0 Mon Jan 6 16:47:09 2020
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is Ubiquiti UniFi-AC-MESH
[    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 08000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] On node 0 totalpages: 32768
[    0.000000] free_area_init_node: node 0, pgdat 804f9f60, node_mem_map 810078e0
[    0.000000]   Normal zone: 256 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] random: get_random_bytes called from 0x804fd740 with crng_init=0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 123304K/131072K available (4027K kernel code, 156K rwdata, 532K rodata, 1228K init, 212K bss, 7768K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 775.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4932285024 ns
[    0.000007] sched_clock: 32 bits at 387MHz, resolution 2ns, wraps every 5541893118ns
[    0.008219] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.074771] pid_max: default: 32768 minimum: 301
[    0.079797] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.086788] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.097624] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.108017] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.114517] pinctrl core: initialized pinctrl subsystem
[    0.122066] NET: Registered protocol family 16
[    0.129276] PCI host bridge /ahb/apb/pcie-controller@18250000 ranges:
[    0.136124]  MEM 0x0000000012000000..0x0000000013ffffff
[    0.141627]   IO 0x0000000000000000..0x0000000000000000
[    0.161523] PCI host bridge to bus 0000:00
[    0.165845] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
[    0.173128] pci_bus 0000:00: root bus resource [io  0x0000]
[    0.178992] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.186151] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.194527] pci 0000:00:00.0: [168c:003c] type 00 class 0x028000
[    0.194579] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    0.194631] pci 0000:00:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    0.194703] pci 0000:00:00.0: supports D1
[    0.194711] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    0.194899] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    0.194922] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit]
[    0.202671] pci 0000:00:00.0: BAR 6: assigned [mem 0x12200000-0x1220ffff pref]
[    0.212868] clocksource: Switched to clocksource MIPS
[    0.219084] NET: Registered protocol family 2
[    0.224451] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.231807] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.238556] TCP: Hash tables configured (established 1024 bind 1024)
[    0.245385] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.251557] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.258407] NET: Registered protocol family 1
[    0.263066] PCI: CLS 0 bytes, default 32
[    0.265627] Crashlog allocated RAM at address 0x3f00000
[    0.272283] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    0.283347] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.289495] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.308288] io scheduler noop registered
[    0.312425] io scheduler deadline registered (default)
[    0.319575] pinctrl-single 1804002c.pinmux: 544 pins at pa b804002c size 68
[    0.327859] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.336632] console [ttyS0] disabled
[    0.340431] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[    0.349564] console [ttyS0] enabled
[    0.357129] bootconsole [early0] disabled
[    0.373987] m25p80 spi0.0: mx25l12805d (16384 Kbytes)
[    0.379252] 7 fixed-partitions partitions found on MTD device spi0.0
[    0.385855] Creating 7 MTD partitions on "spi0.0":
[    0.390812] 0x000000000000-0x000000060000 : "u-boot"
[    0.396648] 0x000000060000-0x000000070000 : "u-boot-env"
[    0.402755] 0x000000070000-0x000000800000 : "firmware"
[    0.410767] 2 uimage-fw partitions found on MTD device firmware
[    0.416928] Creating 2 MTD partitions on "firmware":
[    0.422061] 0x000000000000-0x000000190000 : "kernel"
[    0.427860] 0x000000190000-0x000000790000 : "rootfs"
[    0.433623] mtd: device 4 (rootfs) set to be root filesystem
[    0.439505] 1 squashfs-split partitions found on MTD device rootfs
[    0.445935] 0x000000430000-0x000000790000 : "rootfs_data"
[    0.452155] 0x000000800000-0x000000f90000 : "ubnt-airos"
[    0.458321] 0x000000f90000-0x000000fb0000 : "bs"
[    0.463787] 0x000000fb0000-0x000000ff0000 : "cfg"
[    0.469262] 0x000000ff0000-0x000001000000 : "EEPROM"
[    0.476006] libphy: Fixed MDIO Bus: probed
[    1.153223] libphy: ag71xx_mdio: probed
[    1.253104] ag71xx 19000000.eth: connected to PHY at mdio-bus.0:04 [uid=004dd074, driver=Atheros 8031 ethernet]
[    1.264106] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
[    1.272101] NET: Registered protocol family 10
[    1.280643] Segment Routing with IPv6
[    1.284567] NET: Registered protocol family 17
[    1.289210] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.302610] 8021q: 802.1Q VLAN Support v1.8
[    1.308320] hctosys: unable to open rtc device (rtc0)
[    1.318915] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[    1.332904] Freeing unused kernel memory: 1228K
[    1.337586] This architecture does not have kernel memory protection.
[    1.941813] init: Console is alive
[    1.945576] init: - watchdog -
[    1.959453] init: - preinit -
[    2.562903] random: fast init done
[    3.213880] random: jshn: uninitialized urandom read (4 bytes read)
[    3.445546] random: jshn: uninitialized urandom read (4 bytes read)
[    3.478779] random: jshn: uninitialized urandom read (4 bytes read)
[    3.637186] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    6.885351] jffs2_scan_eraseblock(): End of filesystem marker found at 0x10000
[    6.892821] jffs2_build_filesystem(): unlocking the mtd device... 
[    6.892825] done.
[    6.901198] jffs2_build_filesystem(): erasing all blocks after the end marker... 
[   22.918896] done.
[   22.928654] jffs2: notice: (448) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[   22.945866] mount_root: overlay filesystem has not been fully initialized yet
[   22.960467] mount_root: switching to jffs2 overlay
[   22.971426] overlayfs: upper fs does not support tmpfile.
[   23.396275] urandom-seed: Seed file not found (/etc/urandom.seed)
[   23.494648] procd: - early -
[   23.497717] procd: - watchdog -
[   24.120204] procd: - watchdog -
[   24.123766] procd: - ubus -
[   24.182395] urandom_read: 5 callbacks suppressed
[   24.182403] random: ubusd: uninitialized urandom read (4 bytes read)
[   24.194665] random: ubusd: uninitialized urandom read (4 bytes read)
[   24.202402] procd: - init -
[   24.994092] urngd: v1.0.0 started.
[   25.230366] random: crng init done
[   35.131269] eth0: link up (1000Mbps/Full duplex)
[   35.136589] br-lan: port 1(eth0) entered blocking state
[   35.141993] br-lan: port 1(eth0) entered disabled state
[   35.147678] device eth0 entered promiscuous mode
[   35.170768] br-lan: port 1(eth0) entered blocking state
[   35.176216] br-lan: port 1(eth0) entered forwarding state
[   35.181940] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   35.254886] IPv6: ADDRCONF(NETDEV_UP): br-wifi: link is not ready
[   36.192957] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready

The boot log shows absolutely no messages from either of the ath kmods that should be installed. Use lsmod to see if they are actually loaded into the kernel.

Interestingly, lsmod gives no output from this commit onwards...

First line of dmesg:

Linux version 4.14.162

Shouldn t this be 4.14.164? What could be the reason that the kernel ist not updated with sysupgrade?

-- EDIT --

Probably related to this: https://bugs.openwrt.org/index.php?do=details&task_id=662

root@OpenWrt:~# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00060000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00790000 00010000 "firmware"
mtd3: 00190000 00010000 "kernel"
mtd4: 00600000 00010000 "rootfs"
mtd5: 00240000 00010000 "rootfs_data"
mtd6: 00790000 00010000 "ubnt-airos"
mtd7: 00020000 00010000 "bs"
mtd8: 00040000 00010000 "cfg"
mtd9: 00010000 00010000 "EEPROM"

And then writing zero to bs:

root@OpenWrt:~# dd if=/dev/zero bs=1 count=1 of=/dev/mtd7

fixed the issue. This should be documented somewhere :roll_eyes:

It is on the wiki installation instructions for the Unifi AC family. https://openwrt.org/toh/ubiquiti/unifiac
If OpenWrt was installed properly the bs bit should have been set to 0 and the second kernel partition erased so it can never boot any backup copy of an old Ubiquiti kernel.

If it were up to me I'd partition OpenWrt to just clobber the second Ubiquiti partition entirely and use it as extra rootfs-data space.

1 Like

Oh. I think I used an outdated tutorial (https://oldwiki.archive.openwrt.org/toh/ubiquiti/unifiac) back then...

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.