diff mbox series

[OpenWrt-Devel] ath79: switch to kernel 5.4

Message ID 20200402195359.51545-1-mail@david-bauer.net
State Deferred
Delegated to: David Bauer
Headers show
Series [OpenWrt-Devel] ath79: switch to kernel 5.4 | expand

Commit Message

David Bauer April 2, 2020, 7:53 p.m. UTC
As the reported major bugs are ironed out, switch to the new kernel to
begin testing with a broader audience.

Signed-off-by: David Bauer <mail@david-bauer.net>
---
 target/linux/ath79/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Hannu Nyman April 2, 2020, 8:01 p.m. UTC | #1
David Bauer write at Thu Apr 2 12:53:59 PDT 2020:

 > -KERNEL_PATCHVER:=4.19
 > +KERNEL_PATCHVER:=5.4
 >  KERNEL_TESTING_PATCHVER:=5.4


Please remove the KERNEL_TESTING_PATCHVER line at the same time.
It has no purpose after the same version has been adopted as the default kernel.
Bjørn Mork April 2, 2020, 8:47 p.m. UTC | #2
Hannu Nyman <hannu.nyman@iki.fi> writes:
> David Bauer write at Thu Apr 2 12:53:59 PDT 2020:
>
>> -KERNEL_PATCHVER:=4.19
>> +KERNEL_PATCHVER:=5.4
>>  KERNEL_TESTING_PATCHVER:=5.4
>
>
> Please remove the KERNEL_TESTING_PATCHVER line at the same time.
> It has no purpose after the same version has been adopted as the default kernel.

This was recently discussed:
http://lists.infradead.org/pipermail/openwrt-devel/2020-March/022138.html

There is a purpose IMHO:  Keeping it enables 

  CONFIG_HAS_TESTING_KERNEL=y

which prevents 

  CONFIG_TESTING_KERNEL=y

from being removed from my configs.



Bjørn
Bjørn Mork April 3, 2020, 9:21 a.m. UTC | #3
David Bauer <mail@david-bauer.net> writes:

> As the reported major bugs are ironed out, switch to the new kernel to
> begin testing with a broader audience.


Hmm... I wonder if you might want to hold back on that for a while.

I have no useful info yet since I don't have console access on this
device, but I just lost network access to a UniFi AP AC PRO after trying
out current master (fcd14017007d).

I'll see what I can get out of it, but I don't promise anything if I
can't figure out a way to get network access. The AP is located
semi-outdoors so I don't really want to open it and break the seal..


The AP ran a similar arbitrary master checkout from January before
upgrading (b070101c506c), having a v4.19.93 kernel. I upgraded using
'sysupgrade -v ...' in a shell, keeping existing configs, as I usually
do unless told not to ;-)

The part of the upgrade which is visible via ssh looked fine:

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r11998-b070101c506c
 -----------------------------------------------------
root@unifiac2:~# sysupgrade -v http://owrt.mork.no/lede/r12793-fcd14017007d/targets/ath79/generic/openwrt-snapshot-ath79-generic-ubnt_unifiac-pro-squashfs-sysupgrade.bin
Downloading 'http://owrt.mork.no/lede/r12793-fcd14017007d/targets/ath79/generic/openwrt-snapshot-ath79-generic-ubnt_unifiac-pro-squashfs-sysupgrade.bin'
Connecting to 192.168.99.1:80
Writing to '/tmp/sysupgrade.img'
/tmp/sysupgrade.img  100% |*******************************|  5056k  0:00:00 ETA
Download completed (5178139 bytes)
Saving config files...
etc/config/dhcp
etc/config/dropbear
etc/config/firewall
etc/config/lldpd
etc/config/network
etc/config/network.save
etc/config/system
etc/config/ubootenv
etc/config/wireless
etc/crontabs/root
etc/dropbear/authorized_keys
etc/dropbear/dropbear_rsa_host_key
etc/group
etc/hosts
etc/inittab
etc/opkg/keys/0b26f36ae0f4106d
etc/opkg/keys/1035ac73cc4e59e3
etc/opkg/keys/5151f69420c3f508
etc/opkg/keys/72a57f2191b211e0
etc/opkg/keys/792d9d9b39f180dc
etc/opkg/keys/99db1e0996685023
etc/opkg/keys/9ef4694208102c43
etc/opkg/keys/b26f36ae0f4106d
etc/opkg/keys/b2d571e0880ff617
etc/opkg/keys/b5043e70f9a75cde
etc/opkg/keys/b72aa96b291719cc
etc/opkg/keys/c10b9afab19ee428
etc/opkg/keys/dace9d4df16896bf
etc/opkg/keys/dd6de0d06bbd3d85
etc/opkg/keys/f94b9dd6febac963
etc/passwd
etc/profile
etc/rc.local
etc/shadow
etc/shells
etc/sysctl.conf
Commencing upgrade. Closing all shell sessions.
Connection to unifiac2 closed by remote host.
Connection to unifiac2 closed.



There isn't anything out of the ordinary in my configs AFAIK. The "main"
ethernet port is connected to an unmanaged media converter, using 3
tagged VLANs for AP management and two wlan bridges. The second ethernet
port is not connected.  I've tried accessing 192.168.1.1 untagged, in
case the network config somehow reverted to default, but there wasn't
anything responding to arps there either.

Do you have any suggestions as to what could have gone wrong?  It would
help to know if I should have expected some changes to the network
config - I can work with that. Also useful to know if there is a flash
related issue or some crash to be expected.

And no need to worry about me - I'm writing this FYI in case you want to
delay broadening the 5.4 testing.
only.  I am pretty sure I can revive the AP by temporarily reverting to
vendor firmware using bootloader tftp.  And then reinstall a known
working OpenWrt image.  But this will obviously prevent any further
debugging, so I'll hold on for a while before doing that.




Bjørn
Magnus Kroken April 3, 2020, 10:07 a.m. UTC | #4
Hi all

On 03.04.2020 11:21, Bjørn Mork wrote:
> David Bauer <mail@david-bauer.net> writes:
> 
>> As the reported major bugs are ironed out, switch to the new kernel to
>> begin testing with a broader audience.
> 
> 
> Hmm... I wonder if you might want to hold back on that for a while.
> 
> I have no useful info yet since I don't have console access on this
> device, but I just lost network access to a UniFi AP AC PRO after trying
> out current master (fcd14017007d).

I held back and planned to report when I have a log from serial, but I'm 
sending this now since this sounds similar to my experience.

I've tested 5.4 on my tl-wdr4300v1, and it got stuck in reboot loop 
recently. I plan to get a serial connection on it this weekend to see 
exactly what happens, but with the easy TFTP recovery I've bisected it 
to the GCC 8.4 update. Doing a dirclean between each test, 
https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=db70077668e757a27f41d9cb3c84f28ea7d4c22e 
is the first bad commit. This is the simple config I've used for testing:

CONFIG_TARGET_ath79=y
CONFIG_TARGET_ath79_generic=y
CONFIG_TARGET_ath79_generic_DEVICE_tplink_tl-wdr4300-v1=y
CONFIG_LINUX_5_4=y
CONFIG_TESTING_KERNEL=y

Testing is on hold as the device is in service right now, but I'd 
appreciate any ideas for further testing.

/Magnus
David Bauer April 3, 2020, 10:12 a.m. UTC | #5
Hello Magnus,

On 4/3/20 12:07 PM, Magnus Kroken wrote:
> Hi all
> 
> On 03.04.2020 11:21, Bjørn Mork wrote:
>> David Bauer <mail@david-bauer.net> writes:
>>
>>> As the reported major bugs are ironed out, switch to the new kernel to
>>> begin testing with a broader audience.
>>
>>
>> Hmm... I wonder if you might want to hold back on that for a while.
>>
>> I have no useful info yet since I don't have console access on this
>> device, but I just lost network access to a UniFi AP AC PRO after trying
>> out current master (fcd14017007d).
> 
> I held back and planned to report when I have a log from serial, but I'm sending this now since this sounds similar to my experience.
> 
> I've tested 5.4 on my tl-wdr4300v1, and it got stuck in reboot loop recently. I plan to get a serial connection on it this weekend to see exactly what happens, but with the easy TFTP recovery I've bisected it to the GCC 8.4 update. Doing a dirclean between each test, https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=db70077668e757a27f41d9cb3c84f28ea7d4c22e is the first bad commit. This is the simple config I've used for testing:
> 
> CONFIG_TARGET_ath79=y
> CONFIG_TARGET_ath79_generic=y
> CONFIG_TARGET_ath79_generic_DEVICE_tplink_tl-wdr4300-v1=y
> CONFIG_LINUX_5_4=y
> CONFIG_TESTING_KERNEL=y
> 
> Testing is on hold as the device is in service right now, but I'd appreciate any ideas for further testing.

Thanks for this report. I'm not in the posession of an AC-Pro but i
have a WDR3600 around, which is mostly identical to the WDR4300.

I've not tested 5.4 there, but i will see if i can reproduce any network-related
issue there.

Best wishes
David

> 
> /Magnus
Russell Senior April 3, 2020, 11:08 a.m. UTC | #6
FYI: https://bugs.openwrt.org/index.php?do=details&task_id=2928

On Fri, Apr 3, 2020 at 3:13 AM David Bauer <mail@david-bauer.net> wrote:

> Hello Magnus,
>
> On 4/3/20 12:07 PM, Magnus Kroken wrote:
> > Hi all
> >
> > On 03.04.2020 11:21, Bjørn Mork wrote:
> >> David Bauer <mail@david-bauer.net> writes:
> >>
> >>> As the reported major bugs are ironed out, switch to the new kernel to
> >>> begin testing with a broader audience.
> >>
> >>
> >> Hmm... I wonder if you might want to hold back on that for a while.
> >>
> >> I have no useful info yet since I don't have console access on this
> >> device, but I just lost network access to a UniFi AP AC PRO after trying
> >> out current master (fcd14017007d).
> >
> > I held back and planned to report when I have a log from serial, but I'm
> sending this now since this sounds similar to my experience.
> >
> > I've tested 5.4 on my tl-wdr4300v1, and it got stuck in reboot loop
> recently. I plan to get a serial connection on it this weekend to see
> exactly what happens, but with the easy TFTP recovery I've bisected it to
> the GCC 8.4 update. Doing a dirclean between each test,
> https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=db70077668e757a27f41d9cb3c84f28ea7d4c22e
> is the first bad commit. This is the simple config I've used for testing:
> >
> > CONFIG_TARGET_ath79=y
> > CONFIG_TARGET_ath79_generic=y
> > CONFIG_TARGET_ath79_generic_DEVICE_tplink_tl-wdr4300-v1=y
> > CONFIG_LINUX_5_4=y
> > CONFIG_TESTING_KERNEL=y
> >
> > Testing is on hold as the device is in service right now, but I'd
> appreciate any ideas for further testing.
>
> Thanks for this report. I'm not in the posession of an AC-Pro but i
> have a WDR3600 around, which is mostly identical to the WDR4300.
>
> I've not tested 5.4 there, but i will see if i can reproduce any
> network-related
> issue there.
>
> Best wishes
> David
>
> >
> > /Magnus
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>
Bjørn Mork April 3, 2020, 2:11 p.m. UTC | #7
Russell Senior <russell@personaltelco.net> writes:

> FYI: https://bugs.openwrt.org/index.php?do=details&task_id=2928

Thanks a lot!

AP is now revived *with* v5.4 built with gcc-8.4.0.

Hauke already did all the hevy debugging work.  I assumed that if

 http://git.kernel.org/linus/9012d011660ea5cf2a623e1de207a2bc0ca6936d

broke this, then a simple quickfix would be to disable
CONFIG_OPTIMIZE_INLINING

But looking at that dsp stuff, I noticed that there was a pair of
suspicious-looking inlined (or not after v5.4...) functions.  So without
understanding much of this, I just tested once with the attached patch.
And it boots:


root@unifiac2:~# dmesg
[    0.000000] Linux version 5.4.28 (bjorn@canardo) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r12793-fcd14017007d)) #0 Fri Apr 3 13:28:57 2020
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is Ubiquiti UniFi-AC-PRO
[    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[    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]   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] 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] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 122844K/131072K available (4405K kernel code, 167K rwdata, 1044K rodata, 1224K init, 190K bss, 8228K 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] random: get_random_bytes called from start_kernel+0x324/0x4ec with crng_init=0
[    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.008208] Calibrating delay loop... 385.02 BogoMIPS (lpj=770048)
[    0.046712] pid_max: default: 32768 minimum: 301
[    0.051701] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.059411] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.070685] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.080993] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.088207] pinctrl core: initialized pinctrl subsystem
[    0.094602] NET: Registered protocol family 16
[    0.105912] PCI host bridge /ahb/pcie-controller@18250000 ranges:
[    0.112386]  MEM 0x0000000012000000..0x0000000013ffffff
[    0.117899]   IO 0x0000000000000000..0x0000000000000000
[    0.140712] PCI host bridge to bus 0000:00
[    0.145080] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
[    0.152334] pci_bus 0000:00: root bus resource [io  0x0000]
[    0.158208] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.165361] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.173740] pci 0000:00:00.0: [168c:003c] type 00 class 0x028000
[    0.180117] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    0.187313] pci 0000:00:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    0.194443] pci 0000:00:00.0: supports D1
[    0.198666] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    0.205572] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    0.212582] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit]
[    0.220302] pci 0000:00:00.0: BAR 6: assigned [mem 0x12200000-0x1220ffff pref]
[    0.230375] clocksource: Switched to clocksource MIPS
[    0.236702] NET: Registered protocol family 2
[    0.241970] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.250838] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.258931] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.266381] TCP: Hash tables configured (established 1024 bind 1024)
[    0.273210] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.280149] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.287752] NET: Registered protocol family 1
[    0.292419] PCI: CLS 0 bytes, default 32
[    0.299540] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    0.311223] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.317409] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.337003] ar7200-usb-phy usb-phy: phy reset is missing
[    0.344102] pinctrl-single 1804002c.pinmux: 544 pins, size 68
[    0.351204] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.358621] printk: console [ttyS0] disabled
[    0.363192] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[    0.372301] printk: console [ttyS0] enabled
[    0.381366] printk: bootconsole [early0] disabled
[    0.397604] spi-nor spi0.0: mx25l12805d (16384 Kbytes)
[    0.403010] 7 fixed-partitions partitions found on MTD device spi0.0
[    0.409582] Creating 7 MTD partitions on "spi0.0":
[    0.414542] 0x000000000000-0x000000060000 : "u-boot"
[    0.420474] 0x000000060000-0x000000070000 : "u-boot-env"
[    0.426848] 0x000000070000-0x000000800000 : "firmware"
[    0.435796] 2 uimage-fw partitions found on MTD device firmware
[    0.441955] Creating 2 MTD partitions on "firmware":
[    0.447106] 0x000000000000-0x0000001d0000 : "kernel"
[    0.452989] 0x0000001d0000-0x000000790000 : "rootfs"
[    0.458944] mtd: device 4 (rootfs) set to be root filesystem
[    0.466320] 1 squashfs-split partitions found on MTD device rootfs
[    0.472762] 0x0000004f0000-0x000000790000 : "rootfs_data"
[    0.479165] 0x000000800000-0x000000f90000 : "ubnt-airos"
[    0.485471] 0x000000f90000-0x000000fb0000 : "bs"
[    0.491082] 0x000000fb0000-0x000000ff0000 : "cfg"
[    0.496783] 0x000000ff0000-0x000001000000 : "art"
[    0.504304] libphy: Fixed MDIO Bus: probed
[    1.154734] libphy: ag71xx_mdio: probed
[    1.161760] switch0: Atheros AR8337 rev. 2 switch registered on mdio.0
[    1.170368] random: fast init done
[    1.753854] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd036, driver=Atheros AR8216/AR8236/AR8316]
[    1.765106] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
[    1.773224] NET: Registered protocol family 10
[    1.781640] Segment Routing with IPv6
[    1.785573] NET: Registered protocol family 17
[    1.790237] 8021q: 802.1Q VLAN Support v1.8
[    1.800499] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[    1.814541] Freeing unused kernel memory: 1224K
[    1.819239] This architecture does not have kernel memory protection.
[    1.825892] Run /sbin/init as init process
[    2.360115] init: Console is alive
[    2.363923] init: - watchdog -
[    3.538161] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.650743] usbcore: registered new interface driver usbfs
[    3.656513] usbcore: registered new interface driver hub
[    3.662094] usbcore: registered new device driver usb
[    3.672789] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.680931] ehci-fsl: Freescale EHCI Host controller driver
[    3.688060] ehci-platform: EHCI generic platform driver
[    3.693721] ehci-platform 1b000000.usb: EHCI Host Controller
[    3.699634] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1
[    3.707831] ehci-platform 1b000000.usb: irq 13, io mem 0x1b000000
[    3.726390] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00
[    3.733503] hub 1-0:1.0: USB hub found
[    3.737779] hub 1-0:1.0: 1 port detected
[    3.744311] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.762200] init: - preinit -
[    4.875572] random: jshn: uninitialized urandom read (4 bytes read)
[    5.113916] random: jshn: uninitialized urandom read (4 bytes read)
[    5.208572] random: jshn: uninitialized urandom read (4 bytes read)
[    6.279170] Atheros AR8216/AR8236/AR8316 mdio.0:00: Port 2 is up
[    6.287409] eth0: link up (1000Mbps/Full duplex)
[    6.305638] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    6.320732] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready
[    6.362054] urandom_read: 4 callbacks suppressed
[    6.362061] random: procd: uninitialized urandom read (4 bytes read)
[   10.527444] jffs2: notice: (517) jffs2_build_xattr_subsystem: complete building xattr subsystem, 35 of xdatum (29 unchecked, 2 orphan) and 40 of xref (2 dead, 0 orphan) found.
[   10.545400] mount_root: switching to jffs2 overlay
[   10.569375] overlayfs: upper fs does not support tmpfile.
[   10.582122] urandom-seed: Seeding with /etc/urandom.seed
[   10.646740] eth0: link down
[   10.666531] procd: - early -
[   10.669596] procd: - watchdog -
[   11.232285] procd: - watchdog -
[   11.235826] procd: - ubus -
[   11.290957] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.298769] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.306209] procd: - init -
[   12.017594] kmodloader: loading kernel modules from /etc/modules.d/*
[   12.055647] Loading modules backported from Linux version v5.4.27-0-g585e0cc08069
[   12.063425] Backport generated by backports.git v5.4.27-1-0-gf6e8852f
[   12.106155] usbcore: registered new interface driver usbserial_generic
[   12.113035] usbserial: USB Serial support registered for generic
[   12.155174] xt_time: kernel timezone is -0000
[   12.278162] usbcore: registered new interface driver pl2303
[   12.284050] usbserial: USB Serial support registered for pl2303
[   12.322117] urngd: v1.0.2 started.
[   12.373325] ath10k 5.1 driver, optimized for CT firmware, probing pci device: 0x3c.
[   12.395040] ath10k_pci 0000:00:00.0: enabling device (0000 -> 0002)
[   12.401721] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[   12.531525] random: crng init done
[   14.100472] ath10k_pci 0000:00:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[   14.110052] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   14.122473] ath10k_pci 0000:00:00.0: firmware ver 10.1-ct-8x-__fH-022-cc5313da api 2 features wmi-10.x,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-acon-cb-CT,wmi-block-ack-CT crc32 84cbd09d
[   14.382884] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[   15.329508] ath10k_pci 0000:00:00.0: unsupported HTC service id: 1536
[   15.336565] ath10k_pci 0000:00:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256
[   15.354181] ath10k_pci 0000:00:00.0: wmi print 'P 128 V 8 T 410'
[   15.360451] ath10k_pci 0000:00:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0'
[   15.368733] ath10k_pci 0000:00:00.0: wmi print 'alloc rem: 21000 iram: 25992'
[   15.422690] ath10k_pci 0000:00:00.0: htt-ver 2.2 wmi-op 2 htt-op 2 cal file max-sta 128 raw 0 hwcrypto 1
[   15.437026] ath10k_pci 0000:00:00.0: NOTE:  Firmware DBGLOG output disabled in debug_mask: 0x10000000
[   15.547797] ath: EEPROM regdomain: 0x0
[   15.547803] ath: EEPROM indicates default country code should be used
[   15.547806] ath: doing EEPROM country->regdmn map search
[   15.547817] ath: country maps to regdmn code: 0x3a
[   15.547822] ath: Country alpha2 being used: US
[   15.547825] ath: Regpair used: 0x3a
[   15.617138] ath: EEPROM regdomain: 0x0
[   15.617146] ath: EEPROM indicates default country code should be used
[   15.617149] ath: doing EEPROM country->regdmn map search
[   15.617161] ath: country maps to regdmn code: 0x3a
[   15.617166] ath: Country alpha2 being used: US
[   15.617169] ath: Regpair used: 0x3a
[   15.629735] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[   15.631175] ieee80211 phy1: Atheros AR9561 Rev:0 mem=0xb8100000, irq=2
[   15.670721] kmodloader: done loading kernel modules from /etc/modules.d/*
[   23.139094] eth0: link up (1000Mbps/Full duplex)
[   23.151278] br-antiboks: port 1(eth0.8) entered blocking state
[   23.157362] br-antiboks: port 1(eth0.8) entered disabled state
[   23.163657] device eth0.8 entered promiscuous mode
[   23.168645] device eth0 entered promiscuous mode
[   23.174312] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   23.202007] br-antiboks: port 1(eth0.8) entered blocking state
[   23.208081] br-antiboks: port 1(eth0.8) entered forwarding state
[   23.337472] br-guest: port 1(eth0.13) entered blocking state
[   23.343388] br-guest: port 1(eth0.13) entered disabled state
[   23.349514] device eth0.13 entered promiscuous mode
[   23.390512] br-guest: port 1(eth0.13) entered blocking state
[   23.396384] br-guest: port 1(eth0.13) entered forwarding state
[   23.517643] br-lan: port 1(eth0.7) entered blocking state
[   23.523288] br-lan: port 1(eth0.7) entered disabled state
[   23.545012] device eth0.7 entered promiscuous mode
[   23.556419] br-lan: port 1(eth0.7) entered blocking state
[   23.562042] br-lan: port 1(eth0.7) entered forwarding state
[   24.142480] IPv6: ADDRCONF(NETDEV_CHANGE): br-antiboks: link becomes ready
[   25.938244] ath: EEPROM regdomain: 0x8242
[   25.938252] ath: EEPROM indicates we should expect a country code
[   25.938258] ath: doing EEPROM country->regdmn map search
[   25.938263] ath: country maps to regdmn code: 0x37
[   25.938268] ath: Country alpha2 being used: NO
[   25.938271] ath: Regpair used: 0x37
[   25.938276] ath: regdomain 0x8242 dynamically updated by user
[   25.938348] ath: EEPROM regdomain: 0x8242
[   25.938351] ath: EEPROM indicates we should expect a country code
[   25.938356] ath: doing EEPROM country->regdmn map search
[   25.938412] ath: country maps to regdmn code: 0x37
[   25.938416] ath: Country alpha2 being used: NO
[   25.938419] ath: Regpair used: 0x37
[   25.938423] ath: regdomain 0x8242 dynamically updated by user
[   29.469663] ath10k_pci 0000:00:00.0: unsupported HTC service id: 1536
[   29.476436] ath10k_pci 0000:00:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256
[   29.494056] ath10k_pci 0000:00:00.0: wmi print 'P 128 V 8 T 410'
[   29.500337] ath10k_pci 0000:00:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0'
[   29.508634] ath10k_pci 0000:00:00.0: wmi print 'alloc rem: 21000 iram: 25992'
[   29.578049] ath10k_pci 0000:00:00.0: pdev param 0 not supported by firmware
[   29.617938] br-lan: port 2(wlan0) entered blocking state
[   29.623478] br-lan: port 2(wlan0) entered disabled state
[   29.629269] device wlan0 entered promiscuous mode
[   29.640443] br-lan: port 3(wlan1) entered blocking state
[   29.646063] br-lan: port 3(wlan1) entered disabled state
[   29.651867] device wlan1 entered promiscuous mode
[   29.998669] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[   30.005432] br-lan: port 3(wlan1) entered blocking state
[   30.010991] br-lan: port 3(wlan1) entered forwarding state
[   30.030686] br-antiboks: port 2(wlan1-1) entered blocking state
[   30.036963] br-antiboks: port 2(wlan1-1) entered disabled state
[   30.043372] device wlan1-1 entered promiscuous mode
[   30.066895] br-antiboks: port 2(wlan1-1) entered blocking state
[   30.073059] br-antiboks: port 2(wlan1-1) entered forwarding state
[   30.190721] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1-1: link becomes ready
[   91.183136] ath10k_pci 0000:00:00.0: mac flush null vif, drop 0 queues 0xffff
[   91.249150] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   91.255996] br-lan: port 2(wlan0) entered blocking state
[   91.261558] br-lan: port 2(wlan0) entered forwarding state
[   91.282793] br-antiboks: port 3(wlan0-1) entered blocking state
[   91.289050] br-antiboks: port 3(wlan0-1) entered disabled state
[   91.295503] device wlan0-1 entered promiscuous mode
[   91.321901] br-antiboks: port 3(wlan0-1) entered blocking state
[   91.328079] br-antiboks: port 3(wlan0-1) entered forwarding state
[   91.448415] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-1: link becomes ready




Now, I could be completely wrong here.  This could very well be some
hidden race, which just happens to be triggered by changes to inlining
etc. Or whatever.

Proper analysis from somebody with a clue is appreciated :-)

Note that the kernel grows a lot with these two functions inlined.



Bjørn
Adrian Schmutzler April 3, 2020, 7:41 p.m. UTC | #8
Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org]
> On Behalf Of Bjørn Mork
> Sent: Freitag, 3. April 2020 16:12
> To: Russell Senior <russell@personaltelco.net>
> Cc: openwrt-devel <openwrt-devel@lists.openwrt.org>; David Bauer
> <mail@david-bauer.net>; Magnus Kroken <mkroken@gmail.com>
> Subject: Re: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4
> 
> Russell Senior <russell@personaltelco.net> writes:
> 
> > FYI: https://bugs.openwrt.org/index.php?do=details&task_id=2928
> 
> Thanks a lot!
> 
> AP is now revived *with* v5.4 built with gcc-8.4.0.

So, this is sorted out?

If further testing is required, I have a Unifi AC Mesh and several TP-Link devices at hand (but only limited time for testing).
I might also try what happens on tiny ...

Best

Adrian

> 
> Hauke already did all the hevy debugging work.  I assumed that if
> 
>  http://git.kernel.org/linus/9012d011660ea5cf2a623e1de207a2bc0ca6936d
> 
> broke this, then a simple quickfix would be to disable
> CONFIG_OPTIMIZE_INLINING
> 
> But looking at that dsp stuff, I noticed that there was a pair of suspicious-
> looking inlined (or not after v5.4...) functions.  So without understanding
> much of this, I just tested once with the attached patch.
> And it boots:
> 
> 
> root@unifiac2:~# dmesg
> [    0.000000] Linux version 5.4.28 (bjorn@canardo) (gcc version 8.4.0
> (OpenWrt GCC 8.4.0 r12793-fcd14017007d)) #0 Fri Apr 3 13:28:57 2020
> [    0.000000] printk: bootconsole [early0] enabled
> [    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
> [    0.000000] MIPS: machine is Ubiquiti UniFi-AC-PRO
> [    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
> [    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]   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] 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] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes,
> linear)
> [    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes,
> linear)
> [    0.000000] Writing ErrCtl register=00000000
> [    0.000000] Readback ErrCtl register=00000000
> [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
> [    0.000000] Memory: 122844K/131072K available (4405K kernel code, 167K
> rwdata, 1044K rodata, 1224K init, 190K bss, 8228K 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] random: get_random_bytes called from
> start_kernel+0x324/0x4ec with crng_init=0
> [    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.008208] Calibrating delay loop... 385.02 BogoMIPS (lpj=770048)
> [    0.046712] pid_max: default: 32768 minimum: 301
> [    0.051701] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes,
> linear)
> [    0.059411] Mountpoint-cache hash table entries: 1024 (order: 0, 4096
> bytes, linear)
> [    0.070685] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff,
> max_idle_ns: 7645041785100000 ns
> [    0.080993] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
> [    0.088207] pinctrl core: initialized pinctrl subsystem
> [    0.094602] NET: Registered protocol family 16
> [    0.105912] PCI host bridge /ahb/pcie-controller@18250000 ranges:
> [    0.112386]  MEM 0x0000000012000000..0x0000000013ffffff
> [    0.117899]   IO 0x0000000000000000..0x0000000000000000
> [    0.140712] PCI host bridge to bus 0000:00
> [    0.145080] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
> [    0.152334] pci_bus 0000:00: root bus resource [io  0x0000]
> [    0.158208] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
> [    0.165361] pci_bus 0000:00: No busn resource found for root bus, will use
> [bus 00-ff]
> [    0.173740] pci 0000:00:00.0: [168c:003c] type 00 class 0x028000
> [    0.180117] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
> [    0.187313] pci 0000:00:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
> [    0.194443] pci 0000:00:00.0: supports D1
> [    0.198666] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
> [    0.205572] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
> [    0.212582] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff
> 64bit]
> [    0.220302] pci 0000:00:00.0: BAR 6: assigned [mem 0x12200000-0x1220ffff
> pref]
> [    0.230375] clocksource: Switched to clocksource MIPS
> [    0.236702] NET: Registered protocol family 2
> [    0.241970] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096
> bytes, linear)
> [    0.250838] TCP established hash table entries: 1024 (order: 0, 4096 bytes,
> linear)
> [    0.258931] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
> [    0.266381] TCP: Hash tables configured (established 1024 bind 1024)
> [    0.273210] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
> [    0.280149] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
> [    0.287752] NET: Registered protocol family 1
> [    0.292419] PCI: CLS 0 bytes, default 32
> [    0.299540] workingset: timestamp_bits=30 max_order=15 bucket_order=0
> [    0.311223] squashfs: version 4.0 (2009/01/31) Phillip Lougher
> [    0.317409] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME)
> (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
> [    0.337003] ar7200-usb-phy usb-phy: phy reset is missing
> [    0.344102] pinctrl-single 1804002c.pinmux: 544 pins, size 68
> [    0.351204] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
> [    0.358621] printk: console [ttyS0] disabled
> [    0.363192] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud =
> 1562500) is a 16550A
> [    0.372301] printk: console [ttyS0] enabled
> [    0.381366] printk: bootconsole [early0] disabled
> [    0.397604] spi-nor spi0.0: mx25l12805d (16384 Kbytes)
> [    0.403010] 7 fixed-partitions partitions found on MTD device spi0.0
> [    0.409582] Creating 7 MTD partitions on "spi0.0":
> [    0.414542] 0x000000000000-0x000000060000 : "u-boot"
> [    0.420474] 0x000000060000-0x000000070000 : "u-boot-env"
> [    0.426848] 0x000000070000-0x000000800000 : "firmware"
> [    0.435796] 2 uimage-fw partitions found on MTD device firmware
> [    0.441955] Creating 2 MTD partitions on "firmware":
> [    0.447106] 0x000000000000-0x0000001d0000 : "kernel"
> [    0.452989] 0x0000001d0000-0x000000790000 : "rootfs"
> [    0.458944] mtd: device 4 (rootfs) set to be root filesystem
> [    0.466320] 1 squashfs-split partitions found on MTD device rootfs
> [    0.472762] 0x0000004f0000-0x000000790000 : "rootfs_data"
> [    0.479165] 0x000000800000-0x000000f90000 : "ubnt-airos"
> [    0.485471] 0x000000f90000-0x000000fb0000 : "bs"
> [    0.491082] 0x000000fb0000-0x000000ff0000 : "cfg"
> [    0.496783] 0x000000ff0000-0x000001000000 : "art"
> [    0.504304] libphy: Fixed MDIO Bus: probed
> [    1.154734] libphy: ag71xx_mdio: probed
> [    1.161760] switch0: Atheros AR8337 rev. 2 switch registered on mdio.0
> [    1.170368] random: fast init done
> [    1.753854] ag71xx 19000000.eth: connected to PHY at mdio.0:00
> [uid=004dd036, driver=Atheros AR8216/AR8236/AR8316]
> [    1.765106] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
> [    1.773224] NET: Registered protocol family 10
> [    1.781640] Segment Routing with IPv6
> [    1.785573] NET: Registered protocol family 17
> [    1.790237] 8021q: 802.1Q VLAN Support v1.8
> [    1.800499] VFS: Mounted root (squashfs filesystem) readonly on device
> 31:4.
> [    1.814541] Freeing unused kernel memory: 1224K
> [    1.819239] This architecture does not have kernel memory protection.
> [    1.825892] Run /sbin/init as init process
> [    2.360115] init: Console is alive
> [    2.363923] init: - watchdog -
> [    3.538161] kmodloader: loading kernel modules from /etc/modules-
> boot.d/*
> [    3.650743] usbcore: registered new interface driver usbfs
> [    3.656513] usbcore: registered new interface driver hub
> [    3.662094] usbcore: registered new device driver usb
> [    3.672789] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> [    3.680931] ehci-fsl: Freescale EHCI Host controller driver
> [    3.688060] ehci-platform: EHCI generic platform driver
> [    3.693721] ehci-platform 1b000000.usb: EHCI Host Controller
> [    3.699634] ehci-platform 1b000000.usb: new USB bus registered, assigned
> bus number 1
> [    3.707831] ehci-platform 1b000000.usb: irq 13, io mem 0x1b000000
> [    3.726390] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00
> [    3.733503] hub 1-0:1.0: USB hub found
> [    3.737779] hub 1-0:1.0: 1 port detected
> [    3.744311] kmodloader: done loading kernel modules from /etc/modules-
> boot.d/*
> [    3.762200] init: - preinit -
> [    4.875572] random: jshn: uninitialized urandom read (4 bytes read)
> [    5.113916] random: jshn: uninitialized urandom read (4 bytes read)
> [    5.208572] random: jshn: uninitialized urandom read (4 bytes read)
> [    6.279170] Atheros AR8216/AR8236/AR8316 mdio.0:00: Port 2 is up
> [    6.287409] eth0: link up (1000Mbps/Full duplex)
> [    6.305638] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> [    6.320732] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes
> ready
> [    6.362054] urandom_read: 4 callbacks suppressed
> [    6.362061] random: procd: uninitialized urandom read (4 bytes read)
> [   10.527444] jffs2: notice: (517) jffs2_build_xattr_subsystem: complete
> building xattr subsystem, 35 of xdatum (29 unchecked, 2 orphan) and 40 of
> xref (2 dead, 0 orphan) found.
> [   10.545400] mount_root: switching to jffs2 overlay
> [   10.569375] overlayfs: upper fs does not support tmpfile.
> [   10.582122] urandom-seed: Seeding with /etc/urandom.seed
> [   10.646740] eth0: link down
> [   10.666531] procd: - early -
> [   10.669596] procd: - watchdog -
> [   11.232285] procd: - watchdog -
> [   11.235826] procd: - ubus -
> [   11.290957] random: ubusd: uninitialized urandom read (4 bytes read)
> [   11.298769] random: ubusd: uninitialized urandom read (4 bytes read)
> [   11.306209] procd: - init -
> [   12.017594] kmodloader: loading kernel modules from /etc/modules.d/*
> [   12.055647] Loading modules backported from Linux version v5.4.27-0-
> g585e0cc08069
> [   12.063425] Backport generated by backports.git v5.4.27-1-0-gf6e8852f
> [   12.106155] usbcore: registered new interface driver usbserial_generic
> [   12.113035] usbserial: USB Serial support registered for generic
> [   12.155174] xt_time: kernel timezone is -0000
> [   12.278162] usbcore: registered new interface driver pl2303
> [   12.284050] usbserial: USB Serial support registered for pl2303
> [   12.322117] urngd: v1.0.2 started.
> [   12.373325] ath10k 5.1 driver, optimized for CT firmware, probing pci device:
> 0x3c.
> [   12.395040] ath10k_pci 0000:00:00.0: enabling device (0000 -> 0002)
> [   12.401721] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1
> irq_mode 0 reset_mode 0
> [   12.531525] random: crng init done
> [   14.100472] ath10k_pci 0000:00:00.0: qca988x hw2.0 target 0x4100016c
> chip_id 0x043202ff sub 0000:0000
> [   14.110052] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs
> 1 testmode 0
> [   14.122473] ath10k_pci 0000:00:00.0: firmware ver 10.1-ct-8x-__fH-022-
> cc5313da api 2 features wmi-10.x,mfp,txstatus-noack,wmi-10.x-CT,ratemask-
> CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-acon-
> cb-CT,wmi-block-ack-CT crc32 84cbd09d
> [   14.382884] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id N/A crc32
> bebc7c08
> [   15.329508] ath10k_pci 0000:00:00.0: unsupported HTC service id: 1536
> [   15.336565] ath10k_pci 0000:00:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid:
> 256
> [   15.354181] ath10k_pci 0000:00:00.0: wmi print 'P 128 V 8 T 410'
> [   15.360451] ath10k_pci 0000:00:00.0: wmi print 'msdu-desc: 1424  sw-crypt:
> 0 ct-sta: 0'
> [   15.368733] ath10k_pci 0000:00:00.0: wmi print 'alloc rem: 21000 iram: 25992'
> [   15.422690] ath10k_pci 0000:00:00.0: htt-ver 2.2 wmi-op 2 htt-op 2 cal file
> max-sta 128 raw 0 hwcrypto 1
> [   15.437026] ath10k_pci 0000:00:00.0: NOTE:  Firmware DBGLOG output
> disabled in debug_mask: 0x10000000
> [   15.547797] ath: EEPROM regdomain: 0x0
> [   15.547803] ath: EEPROM indicates default country code should be used
> [   15.547806] ath: doing EEPROM country->regdmn map search
> [   15.547817] ath: country maps to regdmn code: 0x3a
> [   15.547822] ath: Country alpha2 being used: US
> [   15.547825] ath: Regpair used: 0x3a
> [   15.617138] ath: EEPROM regdomain: 0x0
> [   15.617146] ath: EEPROM indicates default country code should be used
> [   15.617149] ath: doing EEPROM country->regdmn map search
> [   15.617161] ath: country maps to regdmn code: 0x3a
> [   15.617166] ath: Country alpha2 being used: US
> [   15.617169] ath: Regpair used: 0x3a
> [   15.629735] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
> [   15.631175] ieee80211 phy1: Atheros AR9561 Rev:0 mem=0xb8100000, irq=2
> [   15.670721] kmodloader: done loading kernel modules from
> /etc/modules.d/*
> [   23.139094] eth0: link up (1000Mbps/Full duplex)
> [   23.151278] br-antiboks: port 1(eth0.8) entered blocking state
> [   23.157362] br-antiboks: port 1(eth0.8) entered disabled state
> [   23.163657] device eth0.8 entered promiscuous mode
> [   23.168645] device eth0 entered promiscuous mode
> [   23.174312] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> [   23.202007] br-antiboks: port 1(eth0.8) entered blocking state
> [   23.208081] br-antiboks: port 1(eth0.8) entered forwarding state
> [   23.337472] br-guest: port 1(eth0.13) entered blocking state
> [   23.343388] br-guest: port 1(eth0.13) entered disabled state
> [   23.349514] device eth0.13 entered promiscuous mode
> [   23.390512] br-guest: port 1(eth0.13) entered blocking state
> [   23.396384] br-guest: port 1(eth0.13) entered forwarding state
> [   23.517643] br-lan: port 1(eth0.7) entered blocking state
> [   23.523288] br-lan: port 1(eth0.7) entered disabled state
> [   23.545012] device eth0.7 entered promiscuous mode
> [   23.556419] br-lan: port 1(eth0.7) entered blocking state
> [   23.562042] br-lan: port 1(eth0.7) entered forwarding state
> [   24.142480] IPv6: ADDRCONF(NETDEV_CHANGE): br-antiboks: link becomes
> ready
> [   25.938244] ath: EEPROM regdomain: 0x8242
> [   25.938252] ath: EEPROM indicates we should expect a country code
> [   25.938258] ath: doing EEPROM country->regdmn map search
> [   25.938263] ath: country maps to regdmn code: 0x37
> [   25.938268] ath: Country alpha2 being used: NO
> [   25.938271] ath: Regpair used: 0x37
> [   25.938276] ath: regdomain 0x8242 dynamically updated by user
> [   25.938348] ath: EEPROM regdomain: 0x8242
> [   25.938351] ath: EEPROM indicates we should expect a country code
> [   25.938356] ath: doing EEPROM country->regdmn map search
> [   25.938412] ath: country maps to regdmn code: 0x37
> [   25.938416] ath: Country alpha2 being used: NO
> [   25.938419] ath: Regpair used: 0x37
> [   25.938423] ath: regdomain 0x8242 dynamically updated by user
> [   29.469663] ath10k_pci 0000:00:00.0: unsupported HTC service id: 1536
> [   29.476436] ath10k_pci 0000:00:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid:
> 256
> [   29.494056] ath10k_pci 0000:00:00.0: wmi print 'P 128 V 8 T 410'
> [   29.500337] ath10k_pci 0000:00:00.0: wmi print 'msdu-desc: 1424  sw-crypt:
> 0 ct-sta: 0'
> [   29.508634] ath10k_pci 0000:00:00.0: wmi print 'alloc rem: 21000 iram: 25992'
> [   29.578049] ath10k_pci 0000:00:00.0: pdev param 0 not supported by
> firmware
> [   29.617938] br-lan: port 2(wlan0) entered blocking state
> [   29.623478] br-lan: port 2(wlan0) entered disabled state
> [   29.629269] device wlan0 entered promiscuous mode
> [   29.640443] br-lan: port 3(wlan1) entered blocking state
> [   29.646063] br-lan: port 3(wlan1) entered disabled state
> [   29.651867] device wlan1 entered promiscuous mode
> [   29.998669] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes
> ready
> [   30.005432] br-lan: port 3(wlan1) entered blocking state
> [   30.010991] br-lan: port 3(wlan1) entered forwarding state
> [   30.030686] br-antiboks: port 2(wlan1-1) entered blocking state
> [   30.036963] br-antiboks: port 2(wlan1-1) entered disabled state
> [   30.043372] device wlan1-1 entered promiscuous mode
> [   30.066895] br-antiboks: port 2(wlan1-1) entered blocking state
> [   30.073059] br-antiboks: port 2(wlan1-1) entered forwarding state
> [   30.190721] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1-1: link becomes
> ready
> [   91.183136] ath10k_pci 0000:00:00.0: mac flush null vif, drop 0 queues 0xffff
> [   91.249150] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes
> ready
> [   91.255996] br-lan: port 2(wlan0) entered blocking state
> [   91.261558] br-lan: port 2(wlan0) entered forwarding state
> [   91.282793] br-antiboks: port 3(wlan0-1) entered blocking state
> [   91.289050] br-antiboks: port 3(wlan0-1) entered disabled state
> [   91.295503] device wlan0-1 entered promiscuous mode
> [   91.321901] br-antiboks: port 3(wlan0-1) entered blocking state
> [   91.328079] br-antiboks: port 3(wlan0-1) entered forwarding state
> [   91.448415] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-1: link becomes
> ready
> 
> 
> 
> 
> Now, I could be completely wrong here.  This could very well be some hidden
> race, which just happens to be triggered by changes to inlining etc. Or
> whatever.
> 
> Proper analysis from somebody with a clue is appreciated :-)
> 
> Note that the kernel grows a lot with these two functions inlined.
> 
> 
> 
> Bjørn
> 
>
Bjørn Mork April 3, 2020, 7:50 p.m. UTC | #9
<mail@adrianschmutzler.de> writes:

>> AP is now revived *with* v5.4 built with gcc-8.4.0.
>
> So, this is sorted out?

Well... There is a kernel patch which seems to work for me, and that's all.

But I'm unable to write any meaningful commit message explaining it.  So
this still needs to be looked at by someone with a clue...

I don't think 5.4 should be made default for ath79 before this is sorted
out properly.

> If further testing is required, I have a Unifi AC Mesh and several
> TP-Link devices at hand (but only limited time for testing).  I might
> also try what happens on tiny ...

Further testing is definitely necessary. Maybe those with an already
crashing device could start?


Bjørn
Adrian Schmutzler April 6, 2020, 9:46 a.m. UTC | #10
Hi,

I've just quickly tested a few devices with "default" setup plus the inlining-patch on kernel 5.4:

TP-Link Archer C60 v1: works without apparent issues
TP-Link TL-WR841N v12 (tiny!): works without apparent issues, it is still possible to write to flash
TP-Link TL-WR1043ND v4: boots fine, WAN+Wifi works, I had some issues with WAN+LAN where network on my client device froze as soon as I tried to do a speed test (though I cannot clearly admit that to the router, it might be a problem on my client device as well; rebooting the client device fixed it until I tried to measure speed again). However, note that this is the only device tested where the WAN port is part of the switch (eth0.2).

dmesg is clean for all devices, nothing remarkable.

Best

Adrian

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org]
> On Behalf Of Bjørn Mork
> Sent: Freitag, 3. April 2020 21:51
> To: mail@adrianschmutzler.de
> Cc: 'openwrt-devel' <openwrt-devel@lists.openwrt.org>; 'Russell Senior'
> <russell@personaltelco.net>; 'David Bauer' <mail@david-bauer.net>;
> 'Magnus Kroken' <mkroken@gmail.com>
> Subject: Re: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4
> 
> <mail@adrianschmutzler.de> writes:
> 
> >> AP is now revived *with* v5.4 built with gcc-8.4.0.
> >
> > So, this is sorted out?
> 
> Well... There is a kernel patch which seems to work for me, and that's all.
> 
> But I'm unable to write any meaningful commit message explaining it.  So this
> still needs to be looked at by someone with a clue...
> 
> I don't think 5.4 should be made default for ath79 before this is sorted out
> properly.
> 
> > If further testing is required, I have a Unifi AC Mesh and several
> > TP-Link devices at hand (but only limited time for testing).  I might
> > also try what happens on tiny ...
> 
> Further testing is definitely necessary. Maybe those with an already crashing
> device could start?
> 
> 
> Bjørn
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
David Bauer July 5, 2020, 12:24 p.m. UTC | #11
Hi all,

On 4/2/20 9:53 PM, David Bauer wrote:
> As the reported major bugs are ironed out, switch to the new kernel to
> begin testing with a broader audience.

As the DSP exception is now sorted out we should be good to go here.

Any objections on applying this patch left?

Best wishes
David

> 
> Signed-off-by: David Bauer <mail@david-bauer.net>
> ---
>   target/linux/ath79/Makefile | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/target/linux/ath79/Makefile b/target/linux/ath79/Makefile
> index 9b203cf48e..a955602ba9 100644
> --- a/target/linux/ath79/Makefile
> +++ b/target/linux/ath79/Makefile
> @@ -8,7 +8,7 @@ SUBTARGETS:=generic mikrotik nand tiny
>   
>   FEATURES:=ramdisk
>   
> -KERNEL_PATCHVER:=4.19
> +KERNEL_PATCHVER:=5.4
>   KERNEL_TESTING_PATCHVER:=5.4
>   
>   include $(INCLUDE_DIR)/target.mk
>
Hauke Mehrtens July 5, 2020, 1:43 p.m. UTC | #12
On 7/5/20 2:24 PM, David Bauer wrote:
> Hi all,
> 
> On 4/2/20 9:53 PM, David Bauer wrote:
>> As the reported major bugs are ironed out, switch to the new kernel to
>> begin testing with a broader audience.
> 
> As the DSP exception is now sorted out we should be good to go here.
> 
> Any objections on applying this patch left?
> 
> Best wishes
> David
> 
>>
>> Signed-off-by: David Bauer <mail@david-bauer.net>

Acked-by: Hauke Mehrtens <hauke@hauke-m.de>

>> ---
>>   target/linux/ath79/Makefile | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/target/linux/ath79/Makefile b/target/linux/ath79/Makefile
>> index 9b203cf48e..a955602ba9 100644
>> --- a/target/linux/ath79/Makefile
>> +++ b/target/linux/ath79/Makefile
>> @@ -8,7 +8,7 @@ SUBTARGETS:=generic mikrotik nand tiny
>>     FEATURES:=ramdisk
>>   -KERNEL_PATCHVER:=4.19
>> +KERNEL_PATCHVER:=5.4
>>   KERNEL_TESTING_PATCHVER:=5.4
>>     include $(INCLUDE_DIR)/target.mk
>>
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Daniel Golle July 5, 2020, 8:50 p.m. UTC | #13
On Sun, Jul 05, 2020 at 02:24:18PM +0200, David Bauer wrote:
> Hi all,
> 
> On 4/2/20 9:53 PM, David Bauer wrote:
> > As the reported major bugs are ironed out, switch to the new kernel to
> > begin testing with a broader audience.
> 
> As the DSP exception is now sorted out we should be good to go here.
> 
> Any objections on applying this patch left?
> 
> Best wishes
> David
> 
> > 
> > Signed-off-by: David Bauer <mail@david-bauer.net>
> > ---
> >   target/linux/ath79/Makefile | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/target/linux/ath79/Makefile b/target/linux/ath79/Makefile
> > index 9b203cf48e..a955602ba9 100644
> > --- a/target/linux/ath79/Makefile
> > +++ b/target/linux/ath79/Makefile
> > @@ -8,7 +8,7 @@ SUBTARGETS:=generic mikrotik nand tiny
> >   FEATURES:=ramdisk
> > -KERNEL_PATCHVER:=4.19
> > +KERNEL_PATCHVER:=5.4
> >   KERNEL_TESTING_PATCHVER:=5.4

I suggest to completely remove KERNEL_TESTING_PATCHVER instead of
setting it to the same version as KERNEL_PATCHVER.
John Crispin July 5, 2020, 8:52 p.m. UTC | #14
On 05.07.20 14:24, David Bauer wrote:
> Hi all,
>
> On 4/2/20 9:53 PM, David Bauer wrote:
>> As the reported major bugs are ironed out, switch to the new kernel to
>> begin testing with a broader audience.
>
> As the DSP exception is now sorted out we should be good to go here.
>
> Any objections on applying this patch left?
>
> Best wishes
> David
>
works for me on the 5 units I tested today.

    John


>>
>> Signed-off-by: David Bauer <mail@david-bauer.net>
>> ---
>>   target/linux/ath79/Makefile | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/target/linux/ath79/Makefile b/target/linux/ath79/Makefile
>> index 9b203cf48e..a955602ba9 100644
>> --- a/target/linux/ath79/Makefile
>> +++ b/target/linux/ath79/Makefile
>> @@ -8,7 +8,7 @@ SUBTARGETS:=generic mikrotik nand tiny
>>     FEATURES:=ramdisk
>>   -KERNEL_PATCHVER:=4.19
>> +KERNEL_PATCHVER:=5.4
>>   KERNEL_TESTING_PATCHVER:=5.4
>>     include $(INCLUDE_DIR)/target.mk
>>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Stefan Lippers-Hollmann July 5, 2020, 9:36 p.m. UTC | #15
Hi

On 2020-07-05, David Bauer wrote:
> Hi all,
>
> On 4/2/20 9:53 PM, David Bauer wrote:
> > As the reported major bugs are ironed out, switch to the new kernel to
> > begin testing with a broader audience.
>
> As the DSP exception is now sorted out we should be good to go here.
>
> Any objections on applying this patch left?

It's now working fine on my devices (not tested the tl-wr941nd v2 though,
which has/ had(?) problems with NET_DSA_MV88E6060 in v4.19, FS#2524):

Runtime tested with kernel v5.4.50 on:
- TP-Link TL-WR1043NDv1/ AR9103
- Buffalo WZR-HP-AG300H/ AR7161
- TP-Link TL-WDR3600/ AR9344
- TP-Link TL-WDR4300/ AR9344

Regards
	Stefan Lippers-Hollmann
David Bauer July 5, 2020, 10:37 p.m. UTC | #16
Hi Daniel,

On 7/5/20 10:50 PM, Daniel Golle wrote:
> I suggest to completely remove KERNEL_TESTING_PATCHVER instead of
> setting it to the same version as KERNEL_PATCHVER.

As most targets have it included, I've decided to specifically keep it.

Best wishes
David
Daniel Golle July 5, 2020, 11:03 p.m. UTC | #17
Hi David,

On Mon, Jul 06, 2020 at 12:37:06AM +0200, David Bauer wrote:
> Hi Daniel,
> 
> On 7/5/20 10:50 PM, Daniel Golle wrote:
> > I suggest to completely remove KERNEL_TESTING_PATCHVER instead of
> > setting it to the same version as KERNEL_PATCHVER.
> 
> As most targets have it included, I've decided to specifically keep it.

Setting KERNEL_TESTING_PATCHVER enables the option in menuconfig to
build with testing kernel. If set to the same version as
KERNEL_PATCHVER, this is misleading as despite suggesting the use of a
newer/testing version, obviously the exact same kernel version will be
built.

You are right in that keeping it became the pattern once
KERNEL_PATCHVER was bumped to the same level as
KERNEL_TESTING_PATCHVER. I assume this was not deliberate (please
scream now if it was!) we should also remove it from all other targets
with KERNEL_PATCHVER == KERNEL_TESTING_PATCHVER.

Anyone?
David Bauer July 5, 2020, 11:05 p.m. UTC | #18
Hi Daniel

On 7/6/20 1:03 AM, Daniel Golle wrote:
> Hi David,
> 
> On Mon, Jul 06, 2020 at 12:37:06AM +0200, David Bauer wrote:
>> Hi Daniel,
>>
>> On 7/5/20 10:50 PM, Daniel Golle wrote:
>>> I suggest to completely remove KERNEL_TESTING_PATCHVER instead of
>>> setting it to the same version as KERNEL_PATCHVER.
>>
>> As most targets have it included, I've decided to specifically keep it.
> 
> Setting KERNEL_TESTING_PATCHVER enables the option in menuconfig to
> build with testing kernel. If set to the same version as
> KERNEL_PATCHVER, this is misleading as despite suggesting the use of a
> newer/testing version, obviously the exact same kernel version will be
> built.

Good to know. I was under the impression I've tested this and the menu option
was still visible when KERNEL_TESTING_PATCHVER was not present. Most likely i
fucked up while testing this.

> You are right in that keeping it became the pattern once
> KERNEL_PATCHVER was bumped to the same level as
> KERNEL_TESTING_PATCHVER. I assume this was not deliberate (please
> scream now if it was!) we should also remove it from all other targets
> with KERNEL_PATCHVER == KERNEL_TESTING_PATCHVER.

I agree here.

Best wishes
David

> 
> Anyone?
>
Adrian Schmutzler July 6, 2020, 8:46 a.m. UTC | #19
Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org]
> On Behalf Of Daniel Golle
> Sent: Montag, 6. Juli 2020 01:03
> To: David Bauer <mail@david-bauer.net>
> Cc: Hauke Mehrtens <hauke@hauke-m.de>; openwrt-
> devel@lists.openwrt.org
> Subject: Re: [OpenWrt-Devel] [PATCH] ath79: switch to kernel 5.4
> 
> Hi David,
> 
> On Mon, Jul 06, 2020 at 12:37:06AM +0200, David Bauer wrote:
> > Hi Daniel,
> >
> > On 7/5/20 10:50 PM, Daniel Golle wrote:
> > > I suggest to completely remove KERNEL_TESTING_PATCHVER instead of
> > > setting it to the same version as KERNEL_PATCHVER.
> >
> > As most targets have it included, I've decided to specifically keep it.
> 
> Setting KERNEL_TESTING_PATCHVER enables the option in menuconfig to
> build with testing kernel. If set to the same version as KERNEL_PATCHVER,
> this is misleading as despite suggesting the use of a newer/testing version,
> obviously the exact same kernel version will be built.
> 
> You are right in that keeping it became the pattern once KERNEL_PATCHVER
> was bumped to the same level as KERNEL_TESTING_PATCHVER. I assume
> this was not deliberate (please scream now if it was!) we should also remove
> it from all other targets with KERNEL_PATCHVER ==
> KERNEL_TESTING_PATCHVER.

I also was a fan of keeping KERNEL_TESTING_PATCHVER recently, as this adding-and-removing-again seemed a bit unnecessary to me. However, your argument about menuconfig is valid.

I just wonder whether we, alternatively, could just check for KERNEL_PATCHVER == KERNEL_TESTING_PATCHVER in the code setting up menuconfig, and thus defeat the root cause....

Best

Adrian

> 
> Anyone?
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
David Bauer July 6, 2020, 9:06 a.m. UTC | #20
Hi Adrian,

On 7/6/20 10:46 AM, mail@adrianschmutzler.de wrote:
> I also was a fan of keeping KERNEL_TESTING_PATCHVER recently, as this adding-and-removing-again seemed a bit unnecessary to me. However, your argument about menuconfig is valid.
> 
> I just wonder whether we, alternatively, could just check for KERNEL_PATCHVER == KERNEL_TESTING_PATCHVER in the code setting up menuconfig, and thus defeat the root cause....

I think we are slowly starting to bikeshed here, but see the patch I've just sent to the list.

Best wishes
David
diff mbox series

Patch

diff --git a/target/linux/ath79/Makefile b/target/linux/ath79/Makefile
index 9b203cf48e..a955602ba9 100644
--- a/target/linux/ath79/Makefile
+++ b/target/linux/ath79/Makefile
@@ -8,7 +8,7 @@  SUBTARGETS:=generic mikrotik nand tiny
 
 FEATURES:=ramdisk
 
-KERNEL_PATCHVER:=4.19
+KERNEL_PATCHVER:=5.4
 KERNEL_TESTING_PATCHVER:=5.4
 
 include $(INCLUDE_DIR)/target.mk