Add support for Linksys EA6350 v3

Hi escalion,

Sounds cool - so in theory you will have latest version of OpenWRT with support for the EA6350v3? How would I use the work that you complete if all goes well?

If all goes well, I will share a git patch to apply to the OpenWRT git source, which will give you the Linksys EA6350v3 option in make menuconfig.

Once I'm 100% happy with it I will push it to the maintainer of the ipq40xx target :slight_smile:

1 Like

u-boot env:

altkern=2800000
auto_recovery=yes
baudrate=115200
boot_count=0
boot_part=1
boot_part_ready=3
boot_ver=0.6.0
bootcmd=if test $boot_part = 1; then run bootpart1; else run bootpart2; fi
bootdelay=2
bootpart1=set bootargs $partbootargs && nand read $loadaddr $prikern $kernsize && bootm $loadaddr
bootpart2=set bootargs $partbootargs2 && nand read $loadaddr $altkern $kernsize && bootm $loadaddr
ethact=eth0
ethaddr=***REDACTED***
flash_type=0
flashimg=tftpboot $loadaddr $image && nand erase $prikern $imgsize && nand write $loadaddr $prikern $filesize
flashimg2=tftpboot $loadaddr $image && nand erase $altkern $imgsize && nand write $loadaddr $altkern $filesize
hw_mac_addr=***REDACTED***
image=civic.img
imgsize=0x2800000
ipaddr=192.168.1.1
kernsize=300000
loadaddr=0x82000000
machid=8010100
netmask=255.255.255.0
partbootargs=init=/sbin/init rootfstype=squashfs ubi.mtd=11,2048 ubi.block=0,0 root=/dev/ubiblock0_0 rootwait ro
partbootargs2=init=/sbin/init rootfstype=squashfs ubi.mtd=13,2048 ubi.block=0,0 root=/dev/ubiblock0_0 rootwait ro
prikern=0
serverip=192.168.1.100
stderr=serial
stdin=serial
stdout=serial
sw_version=0.6.0

Environment size: 1203/131068 bytes

Default login over serial is root:admin

u-boot handoff to kernel:

NAND read: device 1 offset 0x0, size 0x300000
 3145728 bytes read: OK
## Booting kernel from FIT Image at 82000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  ARM Linksys Linux-3.14.43
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x820000e4
     Data Size:    2349704 Bytes = 2.2 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x80208000
     Entry Point:  0x80208000
     Hash algo:    crc32
     Hash value:   1e2cd888
     Hash algo:    sha1
     Hash value:   8559feddffa899c77bef96a198fcee6b4f8eeccc
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Flattened Device Tree from FIT Image at 82000000
   Using 'config@1' configuration
   Trying 'fdt@1' FDT blob subimage
     Description:  ARM Linksys Civic device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x8223dc9c
     Data Size:    33908 Bytes = 33.1 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   cb6ce6f2
     Hash algo:    sha1
     Hash value:   b3dc82ff234ef8e6a3bdde1a745eac90568178bf
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x8223dc9c
   Loading Kernel Image ... OK
OK
   Loading Device Tree to 87224000, end 8722f473 ... OK
In ART, mac0=0xFFFFFFFFFFFF, mac1=0xFFFFFFFFFFFF, mac2=***REDACTED***, mac3=***REDACTED***
get_eth_mac_address@1407: the base hw_mac_addr='***REDACTED***' is valid!
Using machid 0x8010100 from environment

Interesting information about the radios:

[utopia][init] Creating wifi devices
ath0
ath1
[utopia][init] setting WiFi Red CE settings
wifi, wifi_physical_start(ath0)
wifi, setting obss rssi threshold (ath0)
Auto channel
wifi, wifi_virtual_start(ath0)
[utopia] Not setting ppp_clamp_mtu
wifi, wifi_user_start(ath0)
Not ready for JNAP. Sleeping for 15 seconds...
wifi_user, ath0 TxBF enabled
wifi, primary AP: ath0 is up
wifi, wifi_guest_start(ath0)
wifi, guest ath2 is disabled, do not start wifi guest
wifi, wifi_physical_start(ath1)
wifi, setting obss rssi threshold (ath1)
Auto channel
wifi, wifi_virtual_start(ath1)
wifi, wifi_user_start(ath1)
RTNETLINK answers: Device or resource busy
wifi_user, ath1 TxBF enabled
wifi_user, ath1 MU-MIMO enabled
wifi, primary AP: ath1 is up
wifi, wifi_guest_start(ath1)
wifi, guest ath3 is disabled, do not start wifi guest
wifi, start_hostapd()
Configuration file: /tmp/hostapd-ath0.conf
Configuration file: /tmp/hostapd-ath1.conf
ath0: Could not connect to kernel driver
Using interface ath0 with hwaddr ***REDACTED*** and ssid "***REDACTED***"
ath0: interface state UNINITIALIZED->ENABLED
ath0: AP-ENABLED
ath1: Could not connect to kernel driver
Using interface ath1 with hwaddr ***REDACTED*** and ssid "***REDACTED***_5GHz"
ath1: interface state UNINITIALIZED->ENABLED
ath1: AP-ENABLED

Output of ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    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: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default 
    link/gre 0.0.0.0 brd 0.0.0.0
3: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default 
    link/sit 0.0.0.0 brd 0.0.0.0
5: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default 
    link/tunnel6 :: brd ::
6: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether ***REDACTED*** brd ff:ff:ff:ff:ff:ff
7: eth1: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether ***REDACTED*** brd ff:ff:ff:ff:ff:ff
    inet6 f***REDACTED***/64 scope link 
       valid_lft forever preferred_lft forever
8: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default 
    link/ether ***REDACTED*** brd ff:ff:ff:ff:ff:ff
9: br0: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether ***REDACTED*** brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 ***REDACTED***/64 scope link 
       valid_lft forever preferred_lft forever
10: wifi0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ieee802.11 ***REDACTED*** brd ff:ff:ff:ff:ff:ff
11: wifi1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ieee802.11 ***REDACTED*** brd ff:ff:ff:ff:ff:ff
12: ath0: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether ***REDACTED*** brd ff:ff:ff:ff:ff:ff
    inet6 ***REDACTED***/64 scope link 
       valid_lft forever preferred_lft forever
13: ath1: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether ***REDACTED*** brd ff:ff:ff:ff:ff:ff
    inet6 f***REDACTED***/64 scope link 
       valid_lft forever preferred_lft forever

Some initial success. Booted into openwrt - now to figure out the wifi, gpio and other network interfaces :slight_smile:

 (EA6350v3) # tftpboot 82000000 image.itb
eth0 PHY0 up Speed :1000 Full duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 Down Speed :10 Half duplex
eth0 PHY4 Down Speed :10 Half duplex
Using eth0 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.1
Filename 'image.itb'.
Load address: 0x82000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####################################
done
Bytes transferred = 6264696 (5f9778 hex)
(EA6350v3) # bootm
## Booting kernel from FIT Image at 82000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  ARM OpenWrt Linux-4.14.68
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x820000e4
     Data Size:    6246956 Bytes = 6 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x80208000
     Entry Point:  0x80208000
     Hash algo:    crc32
     Hash value:   9571f591
     Hash algo:    sha1
     Hash value:   9c9a8b3a23f8d225bc393d55e393ae82ce29f9a5
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Flattened Device Tree from FIT Image at 82000000
   Using 'config@1' configuration
   Trying 'fdt@1' FDT blob subimage
     Description:  ARM OpenWrt linksys_ea6350v3 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x825f544c
     Data Size:    15868 Bytes = 15.5 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   30bfd07f
     Hash algo:    sha1
     Hash value:   add657becd3106ceb8947978266f43c0dc9ca8f3
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x825f544c
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 87228000, end 8722edfb ... OK
ipq: fdt fixup unable to find compatible node
In ART, mac0=0xFFFFFFFFFFFF, mac1=0xFFFFFFFFFFFF, mac2=***REDACTED***, mac3=***REDACTED***
get_eth_mac_address@1407: the base hw_mac_addr='***REDACTED***' is valid!
Using machid 0x8010100 from environment

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.68 (ryan@ryan-linux) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r8055-6e80dd5)) #0 SMP Tue Sep 11 13:00:09 2018
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Linksys EA6350v3
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] random: get_random_bytes called from start_kernel+0x88/0x3c0 with crng_init=0
[    0.000000] percpu: Embedded 15 pages/cpu @cfdb0000 s29260 r8192 d23988 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64512
[    0.000000] Kernel command line: board=EA6350v3
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 242740K/260096K available (4176K kernel code, 137K rwdata, 1168K rodata, 8192K init, 272K bss, 17356K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff800000   ( 752 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0208000 - 0xc07140a8   (5169 kB)
[    0.000000]       .init : 0xc0900000 - 0xc1100000   (8192 kB)
[    0.000000]       .data : 0xc1100000 - 0xc1122440   ( 138 kB)
[    0.000000]        .bss : 0xc1124000 - 0xc1168270   ( 273 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] arch_timer: cp15 timer(s) running at 48.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb11fd3bfb, max_idle_ns: 440795203732 ns
[    0.000009] sched_clock: 56 bits at 48MHz, resolution 20ns, wraps every 4398046511096ns
[    0.000022] Switching to timer-based delay loop, resolution 20ns
[    0.000236] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000)
[    0.000253] pid_max: default: 32768 minimum: 301
[    0.000380] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000397] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000992] CPU: Testing write buffer coherency: ok
[    0.001673] Setting up static identity map for 0x80300000 - 0x80300060
[    0.001818] Hierarchical SRCU implementation.
[    0.002455] smp: Bringing up secondary CPUs ...
[    0.005171] smp: Brought up 1 node, 4 CPUs
[    0.005191] SMP: Total of 4 processors activated (384.00 BogoMIPS).
[    0.005200] CPU: All CPU(s) started in SVC mode.
[    0.008919] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.009073] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.009098] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.009289] pinctrl core: initialized pinctrl subsystem
[    0.010257] NET: Registered protocol family 16
[    0.010529] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.011548] cpuidle: using governor ladder
[    0.011590] cpuidle: using governor menu
[    0.028201] usbcore: registered new interface driver usbfs
[    0.028272] usbcore: registered new interface driver hub
[    0.028352] usbcore: registered new device driver usb
[    0.028397] pps_core: LinuxPPS API ver. 1 registered
[    0.028407] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.028431] PTP clock support registered
[    0.029601] clocksource: Switched to clocksource arch_sys_counter
[    0.030483] NET: Registered protocol family 2
[    0.031072] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.031114] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[    0.031162] TCP: Hash tables configured (established 2048 bind 2048)
[    0.031262] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.031297] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.031496] NET: Registered protocol family 1
[    0.118585] No memory allocated for crashlog
[    0.118757] workingset: timestamp_bits=30 max_order=16 bucket_order=0
[    0.122022] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.122037] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.127593] io scheduler noop registered
[    0.127612] io scheduler deadline registered (default)
[    0.130289] bam-dma-engine 8e04000.dma: num-channels unspecified in dt
[    0.130309] bam-dma-engine 8e04000.dma: num-ees unspecified in dt
[    0.131029] tcsr 1949000.tcsr: setting wifi_glb_cfg = 41000000
[    0.131108] tcsr 194b000.tcsr: setting usb hs phy mode select = e700e7
[    0.131182] tcsr 1953000.ess_tcsr: setting ess interface select = 0
[    0.131267] tcsr 1957000.tcsr: setting wifi_noc_memtype_m0_m2 = 2222222
[    0.131495] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.132045] msm_serial 78af000.serial: msm_serial: detected port #0
[    0.132091] msm_serial 78af000.serial: uartclk = 1843200
[    0.132138] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 25, base_baud = 115200) is a MSM
[    0.132163] msm_serial: console setup on port #0
[    0.638769] console [ttyMSM0] enabled
[    0.643699] msm_serial: driver initialized
[    0.651183] loop: module loaded
[    0.652326] spi_qup 78b5000.spi: IN:block:16, fifo:64, OUT:block:16, fifo:64
[    0.654882] m25p80 spi0.0: mx25l1606e (2048 Kbytes)
[    0.661424] 10 fixed-partitions partitions found on MTD device spi0.0
[    0.665923] Creating 10 MTD partitions on "spi0.0":
[    0.672542] 0x000000000000-0x000000040000 : "SBL1"
[    0.677862] 0x000000040000-0x000000060000 : "MIBIB"
[    0.682649] 0x000000060000-0x0000000c0000 : "QSEE"
[    0.687404] 0x0000000c0000-0x0000000d0000 : "CDT"
[    0.692305] 0x0000000d0000-0x0000000e0000 : "APPSBLENV"
[    0.697004] 0x0000000e0000-0x000000160000 : "APPSBL"
[    0.702096] 0x000000160000-0x000000170000 : "ART"
[    0.707251] 0x000000170000-0x000000190000 : "u_env"
[    0.711898] 0x000000190000-0x0000001b0000 : "s_env"
[    0.716520] 0x0000001b0000-0x0000001c0000 : "devinfo"
[    0.722112] libphy: ipq40xx_mdio: probed
[    0.794101] ESS reset ok!
[    0.827068] ESS reset ok!
[    1.260020] libphy: Fixed MDIO Bus: probed
[    1.359736] i2c /dev entries driver
[    1.390602] NET: Registered protocol family 10
[    1.392476] Segment Routing with IPv6
[    1.394047] NET: Registered protocol family 17
[    1.398075] 8021q: 802.1Q VLAN Support v1.8
[    1.402125] Registering SWP/SWPB emulation handler
[    �[    1.423780] Freeing unused kernel memory: 8192K
[    1.528367] init: Console is alive
[    1.528585] init: - watchdog -
[    1.538434] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    1.832917] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    1.832980] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    1.837539] xhci-hcd xhci-hcd.0.auto: hcc params 0x0228f665 hci version 0x100 quirks 0x02010010
[    1.844983] xhci-hcd xhci-hcd.0.auto: irq 94, io mem 0x08a00000
[    1.854226] hub 1-0:1.0: USB hub found
[    1.859477] hub 1-0:1.0: 1 port detected
[    1.863595] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    1.867358] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    1.872676] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0  SuperSpeed
[    1.880341] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.887484] hub 2-0:1.0: USB hub found
[    1.895199] hub 2-0:1.0: 1 port detected
[    1.899218] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    1.902816] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
[    1.908289] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f665 hci version 0x100 quirks 0x02010010
[    1.915683] xhci-hcd xhci-hcd.1.auto: irq 95, io mem 0x06000000
[    1.924892] hub 3-0:1.0: USB hub found
[    1.930244] hub 3-0:1.0: 1 port detected
[    1.934302] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    1.938097] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
[    1.943417] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0  SuperSpeed
[    1.951048] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.958022] hub 4-0:1.0: USB hub found
[    1.965939] hub 4-0:1.0: config failed, hub doesn't have any ports! (err -19)
[    1.971068] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    1.990114] init: - preinit -
[    2.170929] random: jshn: uninitialized urandom read (4 bytes read)
[    2.207724] random: jshn: uninitialized urandom read (4 bytes read)
[    2.219578] random: jshn: uninitialized urandom read (4 bytes read)
/bin/board_detect: line 10: Unsupported: not found
[    2.361738] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    2.361828] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    5.525795] procd: - early -
[    5.525928] procd: - watchdog -
[    6.170681] procd: - watchdog -
[    6.173399] procd: - ubus -
[    6.185102] urandom_read: 6 callbacks suppressed
[    6.185113] random: ubusd: uninitialized urandom read (4 bytes read)
[    6.246584] procd: - init -
Please press Enter to activate this console.
[    6.375692] kmodloader: loading kernel modules from /etc/modules.d/*
[    6.378379] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    6.842589] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
[    6.842625] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
[    6.850904] ip_tables: (C) 2000-2006 Netfilter Core Team
[    7.221591] nf_conntrack version 0.5.0 (4096 buckets, 16384 max)
[    7.428151] xt_time: kernel timezone is -0000
[    7.679291] PPP generic driver version 2.4.2
[    7.681166] NET: Registered protocol family 24
[    7.871535] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/pre-cal-ahb-a000000.wifi.bin failed with error -2
[    7.871586] ath10k_ahb a000000.wifi: Falling back to user helper
[    7.940543] firmware ath10k!pre-cal-ahb-a000000.wifi.bin: firmware_loading_store: map pages failed
[    7.940929] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/cal-ahb-a000000.wifi.bin failed with error -2
[    7.948435] ath10k_ahb a000000.wifi: Falling back to user helper
[    8.013584] firmware ath10k!cal-ahb-a000000.wifi.bin: firmware_loading_store: map pages failed
[    8.013967] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/firmware-6.bin failed with error -2
[    8.021179] ath10k_ahb a000000.wifi: Falling back to user helper
[    8.087749] firmware ath10k!QCA4019!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed
[    8.089962] ath10k_ahb a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[    8.095645] ath10k_ahb a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[    8.110347] ath10k_ahb a000000.wifi: firmware ver 10.4-3.5.3-00057 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps crc32 6a15d64d
[    8.131542] ath10k_ahb a000000.wifi: failed to fetch board data for bus=ahb,vendor=0000,device=0000,subsystem-vendor=0000,subsystem-device=0000,variant=RT-AC58U from ath10k/QCA4019/hw1.0/board-2.bin
[    8.131777] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/board.bin failed with error -2
[    8.148152] ath10k_ahb a000000.wifi: Falling back to user helper
[    8.188745] firmware ath10k!QCA4019!hw1.0!board.bin: firmware_loading_store: map pages failed
[    8.189153] ath10k_ahb a000000.wifi: failed to fetch board-2.bin or board.bin from ath10k/QCA4019/hw1.0
[    8.196363] ath10k_ahb a000000.wifi: failed to fetch board file: -11
[    8.205746] ath10k_ahb a000000.wifi: could not probe fw (-11)
[    8.392666] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/pre-cal-ahb-a800000.wifi.bin failed with error -2
[    8.392712] ath10k_ahb a800000.wifi: Falling back to user helper
[    8.438395] firmware ath10k!pre-cal-ahb-a800000.wifi.bin: firmware_loading_store: map pages failed
[    8.438712] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/cal-ahb-a800000.wifi.bin failed with error -2
[    8.446353] ath10k_ahb a800000.wifi: Falling back to user helper
[    8.512650] firmware ath10k!cal-ahb-a800000.wifi.bin: firmware_loading_store: map pages failed
[    8.513621] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/firmware-6.bin failed with error -2
[    8.520268] ath10k_ahb a800000.wifi: Falling back to user helper
[    8.590956] firmware ath10k!QCA4019!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed
[    8.593088] ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[    8.598854] ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[    8.612501] ath10k_ahb a800000.wifi: firmware ver 10.4-3.5.3-00057 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps crc32 6a15d64d
[    8.634623] ath10k_ahb a800000.wifi: failed to fetch board data for bus=ahb,vendor=0000,device=0000,subsystem-vendor=0000,subsystem-device=0000,variant=RT-AC58U from ath10k/QCA4019/hw1.0/board-2.bin
[    8.634852] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/board.bin failed with error -2
[    8.651230] ath10k_ahb a800000.wifi: Falling back to user helper
[    8.691736] firmware ath10k!QCA4019!hw1.0!board.bin: firmware_loading_store: map pages failed
[    8.692007] ath10k_ahb a800000.wifi: failed to fetch board-2.bin or board.bin from ath10k/QCA4019/hw1.0
[    8.699274] ath10k_ahb a800000.wifi: failed to fetch board file: -11
[    8.708672] ath10k_ahb a800000.wifi: could not probe fw (-11)
[    8.717893] kmodloader: done loading kernel modules from /etc/modules.d/*
[   13.378596] br-lan: port 1(eth0) entered blocking state
[   13.378635] br-lan: port 1(eth0) entered disabled state
[   13.383006] device eth0 entered promiscuous mode
[   13.389820] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   13.404816] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   14.410748] br-lan: port 1(eth0) entered blocking state
[   14.410790] br-lan: port 1(eth0) entered forwarding state
[   14.414997] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   44.451333] random: fast init done
BusyBox v1.29.2 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r8055-6e80dd5
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br-lan state UP qlen 1000
    link/ether ***REDACTED*** brd ff:ff:ff:ff:ff:ff
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether ***REDACTED*** brd ff:ff:ff:ff:ff:ff
4: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether ***REDACTED*** brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 f***REDACTED***::1/60 scope global
       valid_lft forever preferred_lft forever
    inet6 f***REDACTED***/64 scope link
       valid_lft forever preferred_lft forever
root@OpenWrt:/# 

Note that I haven't implemented spi0.1 yet, and the ath10k firmware defines are based off of the ASUS RT-AC58U which has the same chipset - which I need to dig through now.

1 Like

linksys

Watch this space!

Great progress!!

linkwifi

Got WiFi working now, going to test out the sysupgrade file - if all goes well I will tidy up my commits and submit a patch.

Did you extract the BDF-s from stock firmware?

I modified the 11-ath10k-caldata script from hotplug.d to pull the caldata from ART on the SPI flash.

That's not enough, since they all reuse the same BMI IDs for the IPQ40XX series you also gotta extract the BDF-s for 2.4 and 5GHz.
And generate a custom board-2.bin for them, then you include it in ipq-wifi package.
And off course push it upstream on ath10k mailing list

I'm slightly confused - why have the cal data saved on flash to need a different file again?

I have seen this repo, is this the script I need?:

Is there any documentation on the correct way to do this?

Calibration data is unique to each device, but BDF files are unique to design of the board and QCA unfortunately distributs them to all vendors with the same BMI IDs, so that is why upstream board-2.bin seems to recognize everything but that is not correct.
In order to calibrate the radio fully you need BDFs from stock firmware.

Yes, that is the correct script.
Take a look here, its explained really well.

I can make it for you if its an issue, you just gotta provide me with a bootlog to read BMIs from

Also, you gotta add a ath10k propery to the DTS.
Like this:

1 Like

Perfect, thanks robimarko.

I'll have a read through all of the information and give it a go. (Interesting because 8devices-jalepeno is the board ID I used to get it working)

If I hit any issues is it okay to drop you a message on here?

How long do the guys upstream take to add support for new BDF's?

Ok, give it a go.
But please dont reuse IDs as that way radios are way off on calibration.

Sure, please contact me if any issue arise, I have been doing a lot of IPQ40xx boards lately.
Upstream usually takes a long time, that is why we have a ipq-wifi package until its upstream.

I unpackaged the stock firmware and in /lib/firmware you can find BDFs to regions.
We usually use FCC or EU/ETSI ones.

Brilliant, I managed to grab the board files from the original firmware, generated the board-2.bin and added that to the ipq-wifi package. Boot log seems good:

(EA6350v3) # tftpboot 82000000 image.itb
eth0 PHY0 up Speed :1000 Full duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 Down Speed :10 Half duplex
eth0 PHY4 Down Speed :10 Half duplex
Using eth0 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.1
Filename 'image.itb'.
Load address: 0x82000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####################
done
Bytes transferred = 8893136 (87b2d0 hex)
(EA6350v3) # bootm
## Booting kernel from FIT Image at 82000000 ...
   Using 'config@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  ARM OpenWrt Linux-4.14.68
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x820000e4
     Data Size:    8875100 Bytes = 8.5 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x80208000
     Entry Point:  0x80208000
     Hash algo:    crc32
     Hash value:   f2c77c12
     Hash algo:    sha1
     Hash value:   9fd1797793d31086c2888e2437501ae313e903dd
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Flattened Device Tree from FIT Image at 82000000
   Using 'config@1' configuration
   Trying 'fdt@1' FDT blob subimage
     Description:  ARM OpenWrt linksys_ea6350v3 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x82876e7c
     Data Size:    16164 Bytes = 15.8 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   56d185aa
     Hash algo:    sha1
     Hash value:   780966d0ef1e44f79b6f06ec5ff855b3554246c4
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x82876e7c
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 87228000, end 8722ef23 ... OK
ipq: fdt fixup unable to find compatible node
In ART, mac0=0xFFFFFFFFFFFF, mac1=0xFFFFFFFFFFFF, mac2=0x6038E08994A5, mac3=0x6038E08994A6
get_eth_mac_address@1407: the base hw_mac_addr='60:38:E0:89:94:A3' is valid!
Using machid 0x8010100 from environment

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.68 (ryan@ryan-linux) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r8055-6e80dd5)) #0 SMP Tue Sep 11 13:00:09 2018
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Linksys EA6350v3
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] random: get_random_bytes called from start_kernel+0x88/0x3c0 with crng_init=0
[    0.000000] percpu: Embedded 15 pages/cpu @cfdaf000 s29260 r8192 d23988 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64512
[    0.000000] Kernel command line:
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 236592K/260096K available (4195K kernel code, 137K rwdata, 1168K rodata, 14336K init, 272K bss, 23504K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff800000   ( 752 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0208000 - 0xc0718dc8   (5188 kB)
[    0.000000]       .init : 0xc0900000 - 0xc1700000   (14336 kB)
[    0.000000]       .data : 0xc1700000 - 0xc1722480   ( 138 kB)
[    0.000000]        .bss : 0xc1724000 - 0xc17682b0   ( 273 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] arch_timer: cp15 timer(s) running at 48.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb11fd3bfb, max_idle_ns: 440795203732 ns
[    0.000007] sched_clock: 56 bits at 48MHz, resolution 20ns, wraps every 4398046511096ns
[    0.000022] Switching to timer-based delay loop, resolution 20ns
[    0.000249] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000)
[    0.000269] pid_max: default: 32768 minimum: 301
[    0.000401] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000420] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001019] CPU: Testing write buffer coherency: ok
[    0.001702] Setting up static identity map for 0x80300000 - 0x80300060
[    0.001847] Hierarchical SRCU implementation.
[    0.002480] smp: Bringing up secondary CPUs ...
[    0.005216] smp: Brought up 1 node, 4 CPUs
[    0.005236] SMP: Total of 4 processors activated (384.00 BogoMIPS).
[    0.005244] CPU: All CPU(s) started in SVC mode.
[    0.009138] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.009282] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.009305] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.009497] pinctrl core: initialized pinctrl subsystem
[    0.010467] NET: Registered protocol family 16
[    0.010716] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.011733] cpuidle: using governor ladder
[    0.011775] cpuidle: using governor menu
[    0.028386] usbcore: registered new interface driver usbfs
[    0.028450] usbcore: registered new interface driver hub
[    0.028540] usbcore: registered new device driver usb
[    0.028586] pps_core: LinuxPPS API ver. 1 registered
[    0.028596] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.028621] PTP clock support registered
[    0.029825] clocksource: Switched to clocksource arch_sys_counter
[    0.030679] NET: Registered protocol family 2
[    0.031293] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.031335] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[    0.031384] TCP: Hash tables configured (established 2048 bind 2048)
[    0.031488] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.031525] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.031730] NET: Registered protocol family 1
[    0.200113] No memory allocated for crashlog
[    0.200600] workingset: timestamp_bits=30 max_order=16 bucket_order=0
[    0.203777] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.203793] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.209043] io scheduler noop registered
[    0.209063] io scheduler deadline registered (default)
[    0.211735] bam-dma-engine 8e04000.dma: num-channels unspecified in dt
[    0.211755] bam-dma-engine 8e04000.dma: num-ees unspecified in dt
[    0.212444] tcsr 1949000.tcsr: setting wifi_glb_cfg = 41000000
[    0.212525] tcsr 194b000.tcsr: setting usb hs phy mode select = e700e7
[    0.212597] tcsr 1953000.ess_tcsr: setting ess interface select = 0
[    0.212671] tcsr 1957000.tcsr: setting wifi_noc_memtype_m0_m2 = 2222222
[    0.212889] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.213435] msm_serial 78af000.serial: msm_serial: detected port #0
[    0.213482] msm_serial 78af000.serial: uartclk = 1843200
[    0.213532] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 25, base_baud = 115200) is a MSM
[    0.213556] msm_serial: console setup on port #0
[    0.719124] console [ttyMSM0] enabled
[    0.724049] msm_serial: driver initialized
[    0.731561] loop: module loaded
[    0.732705] spi_qup 78b5000.spi: IN:block:16, fifo:64, OUT:block:16, fifo:64
[    0.735318] m25p80 spi0.0: mx25l1606e (2048 Kbytes)
[    0.741766] 10 fixed-partitions partitions found on MTD device spi0.0
[    0.746275] Creating 10 MTD partitions on "spi0.0":
[    0.752895] 0x000000000000-0x000000040000 : "SBL1"
[    0.758210] 0x000000040000-0x000000060000 : "MIBIB"
[    0.763030] 0x000000060000-0x0000000c0000 : "QSEE"
[    0.767747] 0x0000000c0000-0x0000000d0000 : "CDT"
[    0.772636] 0x0000000d0000-0x0000000e0000 : "APPSBLENV"
[    0.777355] 0x0000000e0000-0x000000160000 : "APPSBL"
[    0.782451] 0x000000160000-0x000000170000 : "ART"
[    0.787586] 0x000000170000-0x000000190000 : "u_env"
[    0.792270] 0x000000190000-0x0000001b0000 : "s_env"
[    0.796873] 0x0000001b0000-0x0000001c0000 : "devinfo"
[    0.802644] libphy: ipq40xx_mdio: probed
[    0.886982] ESS reset ok!
[    0.919954] ESS reset ok!
[    1.350253] libphy: Fixed MDIO Bus: probed
[    1.449963] i2c /dev entries driver
[    1.490186] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xaa
[    1.490227] nand: Winbond W25N01GV 1G 3.3V 8-bit
[    1.495617] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.500752] Scanning device for bad blocks
[    1.525551] random: fast init done
[    2.004932] random: crng init done
[    2.056161] 6 fixed-partitions partitions found on MTD device spi0.1
[    2.056195] Creating 6 MTD partitions on "spi0.1":
[    2.061972] 0x000000000000-0x000002800000 : "kernel"
[    2.078233] 0x000000300000-0x000002800000 : "rootfs"
[    2.088912] mtd: device 11 (rootfs) set to be root filesystem
[    2.092272] mtdsplit: no squashfs found in "rootfs"
[    2.093789] 0x000002800000-0x000005000000 : "alt_kernel"
[    2.099304] 0x000002b00000-0x000005000000 : "alt_rootfs"
[    2.104786] 0x000005000000-0x000005100000 : "sysdiag"
[    2.109863] 0x000005100000-0x000008000000 : "syscfg"
[    2.116078] NET: Registered protocol family 10
[    2.121005] Segment Routing with IPv6
[    2.123624] NET: Registered protocol family 17
[    2.127651] 8021q: 802.1Q VLAN Support v1.8
[    2.131660] Registering SWP/SWPB emulation handler
[    2�[    2.169859] Freeing unused kernel memory: 14336K
[    2.214219] init: Console is alive
[    2.214488] init: - watchdog -
[    2.230695] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    2.515618] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    2.515699] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    2.520321] xhci-hcd xhci-hcd.0.auto: hcc params 0x0228f665 hci version 0x100 quirks 0x02010010
[    2.527647] xhci-hcd xhci-hcd.0.auto: irq 94, io mem 0x08a00000
[    2.537033] hub 1-0:1.0: USB hub found
[    2.542225] hub 1-0:1.0: 1 port detected
[    2.546268] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    2.550093] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    2.555359] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0  SuperSpeed
[    2.563064] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    2.570239] hub 2-0:1.0: USB hub found
[    2.577876] hub 2-0:1.0: 1 port detected
[    2.581840] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    2.585478] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3
[    2.591039] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f665 hci version 0x100 quirks 0x02010010
[    2.598369] xhci-hcd xhci-hcd.1.auto: irq 95, io mem 0x06000000
[    2.607581] hub 3-0:1.0: USB hub found
[    2.612942] hub 3-0:1.0: 1 port detected
[    2.616992] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    2.620828] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4
[    2.626096] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0  SuperSpeed
[    2.633750] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    2.640744] hub 4-0:1.0: USB hub found
[    2.648595] hub 4-0:1.0: config failed, hub doesn't have any ports! (err -19)
[    2.653812] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    2.672062] init: - preinit -
[    3.202789] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    3.202880] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    6.375995] procd: - early -
[    6.376130] procd: - watchdog -
[    7.051037] procd: - watchdog -
[    7.053790] procd: - ubus -
[    7.126682] procd: - init -
Please press Enter to activate this console.
[    7.266198] kmodloader: loading kernel modules from /etc/modules.d/*
[    7.274559] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    7.797359] u32 classifier
[    7.797388]     input device check on
[    7.798959]     Actions configured
[    7.803898] Mirror/redirect action on
[    7.809981] nf_conntrack version 0.5.0 (4096 buckets, 16384 max)
[    7.812787] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
[    7.815806] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
[    7.825211] ip_tables: (C) 2000-2006 Netfilter Core Team
[    8.522873] xt_time: kernel timezone is -0000
[    8.725074] PPP generic driver version 2.4.2
[    8.726097] NET: Registered protocol family 24
[    8.922286] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/pre-cal-ahb-a000000.wifi.bin failed with error -2
[    8.922339] ath10k_ahb a000000.wifi: Falling back to user helper
[    9.899623] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/firmware-6.bin failed with error -2
[    9.899671] ath10k_ahb a000000.wifi: Falling back to user helper
[    9.969453] firmware ath10k!QCA4019!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed
[    9.971676] ath10k_ahb a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[    9.977352] ath10k_ahb a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[    9.992027] ath10k_ahb a000000.wifi: firmware ver 10.4-3.5.3-00057 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps crc32 6a15d64d
[   10.036015] ath10k_ahb a000000.wifi: board_file api 2 bmi_id 0:16 crc32 f0f49832
[   11.423023] ath10k_ahb a000000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 512 raw 0 hwcrypto 1
[   11.661929] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/pre-cal-ahb-a800000.wifi.bin failed with error -2
[   11.661977] ath10k_ahb a800000.wifi: Falling back to user helper
[   13.054293] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/firmware-6.bin failed with error -2
[   13.054346] ath10k_ahb a800000.wifi: Falling back to user helper
[   13.117501] firmware ath10k!QCA4019!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed
[   13.117801] ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[   13.125474] ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[   13.138444] ath10k_ahb a800000.wifi: firmware ver 10.4-3.5.3-00057 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps crc32 6a15d64d
[   13.183862] ath10k_ahb a800000.wifi: board_file api 2 bmi_id 0:17 crc32 f0f49832
[   14.581169] ath10k_ahb a800000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 512 raw 0 hwcrypto 1
[   14.603141] kmodloader: done loading kernel modules from /etc/modules.d/*
[   25.403812] br-lan: port 1(eth0) entered blocking state
[   25.403856] br-lan: port 1(eth0) entered disabled state
[   25.408176] device eth0 entered promiscuous mode
[   25.415630] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   25.431704] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   26.409959] br-lan: port 1(eth0) entered forwarding state
[   26.414748] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready

Going to go through and test everything now, then submit a PR and email ath10k.

Have you added the qcom,ath10k-calibration-variant to DTS?

Any chance you have your tree public so I can take a look at it?

For ath10k you can check the archive for September, I submitted BDF-s for 2 devices

I have indeed.

I will push it to git shortly, I will post the link here. Just trying to work out how to flash the file without having a serial console - Linksys check the firmware header before doing a sysupgrade. Looking for a workaround.

Awesome, thank you.

I've managed to work out the "signature" that linksys use to verify updates - and I've succeeded in writing the image at /dev/mtd10 - HOWEVER, this isn't loaded by u-boot at the address I expected, so I will have to work out what is going on there.
I'll get back to that on monday :slight_smile:

Here's my commit:

Let me know what you think :slight_smile:

Left some comments.
Please, dont mess with sysupgrade image but instead make a build recipe for Linksys image and call that for factory image.