Linksys EA6350 v3
This is a dual band 802.11ac AC1200 gigabit wireless router powered by a quad core processor. There are two non-detachable antennas and a USB3 port.
Supported Versions
OpenWrt 23.05 (at least 23.05.5) works also in this device but you can not install or upgrade to it without first doing bootloader variable fw_setenv kernsize 500000
change. Thus the supported version in above table is 22.03 series which is the last version which works out of the box without kernsize change. See more from below Installation of 23.05 or newer.
Hardware Highlights
Installation
OpenWrt 23.05 works also in this device but you can not install or upgrade to it without first doing bootloader variable fw_setenv kernsize 500000
change. Thus the supported version in above table is 22.03 series which is the last version which works out of the box without kernsize change. See more from below Installation of 23.05 or newer.
- Supported 23.05 series factory image: https://downloads.openwrt.org/releases/23.05.5/targets/ipq40xx/generic/openwrt-23.05.5-ipq40xx-generic-linksys_ea6350v3-squashfs-factory.bin
- Supported 23.05 series sysupgrade image: https://downloads.openwrt.org/releases/23.05.5/targets/ipq40xx/generic/openwrt-23.05.5-ipq40xx-generic-linksys_ea6350v3-squashfs-sysupgrade.bin
Install via Linksys Web UI
- Turn on the router and wait about 2 minutes.
- Now press and hold the recessed Reset button in for 10 to 15 seconds. This will factory reset the router when you release the button.
- Attach a computer to a LAN port and turn on the router. (Do not connect WAN cable)
- Go to the 'Linksys Smart Wi-Fi Setup' page (default is usually http://192.168.1.1, but it 'could' be different), tick/untick the two check boxes accordingly.
- Do NOT click on the Next button. Click on 'Manual Configuration' link.
- When the 'Internet Connection is Down' error message appears, click on 'Login' button.
- Enter default password 'admin'.
- Click Connectivity under Router Settings on the left panel.
- In the Manual update box on the right, click Choose File, and browse to openwrt-<version>-ipq40xx-generic-linksys_ea6350v3-squashfs-factory.bin. Make absolutely sure to install the factory image.
- Click Start.
- Read and accept the warning.
- Firmware will be installed and the router will reboot.
- The router LED will start blinking. When the router LED goes solid green, you can now navigate to 192.168.1.1 to your new OpenWrt installation.
(The installation procedure containing images for Linksys EA8300 is almost identical and worth reviewing)
Installation of 23.05 or newer
WARNING FOR FIRST TIME INSTALLATION
OpenWrt 23.05 works fine with this device but you should not install directly 23.05 from Linksys OEM stock firmware or do upgrade from OpenWrt 22.03 to 23.05 without doing one small kernsize change. Don't try to flash directly 23.05 or newer without kernsize change, it won't work.
First time installation of OpenWrt 23.05 or newer requires steps:
- You need to have a previous OpenWrt 22.03.5+ to run one command to change a bootloader variable
fw_setenv kernsize 500000
. This change is only needed once in the lifetime of the device. - After kernsize variable is changed, you can flash to 23.05 using
factory
image (orsysupgrade
) image using LuCI.
Background. This Linksys device has a tiny kernel partition limited to 3 MB size as default. This is sufficient to boot Linksys OEM and OpenWrt 22.03 (based on kernel 5.10). However, this is not enough to boot kernel 5.15 (used in 23.05 and newer). There is a workaround for this situation, and it involves changing a bootloader variable to increase 3 MB kernel size limit to 5 MB. This is only needed once in the lifetime of the device, and can be done easily via SSH. Once the bootloader kernsize
variable is changed, the device can boot everything: Linksys OEM, OpenWrt 22.03, 23.05 and snapshot.
In the release notes for 23.05, it says: “ipq40xx EA6350v3, EA8300 and MR8300 require tweak to the U-Boot environment on update from 22.03 to 23.05. Refer to the Device wiki or the instruction on sysupgrade on how to do this change. Config needs to be reset on sysupgrade.” These instructions below are what is referred in those release notes.
- So first you need to have 22.03.5+ already installed. If you haven't, install the latest stable 22.03 as described previously.
- Once you are running 22.03.5+, open an SSH terminal to the router.
- Check your previous bootloader variables. Enter:
fw_printenv | grep kernsize
Look for output similar to
kernsize=300000
. This is the default 3 MB size of kernel. - Enter:
fw_setenv kernsize 500000
This will tell the bootloader to read 5 MB (needed for kernel 5.15) instead of 3 MB. WARNING : DO NOT type
kernsize=500000
here in this command but it needs to be without the equals sign, with the equals sign it will soft-brick the bootloader. Updating tokernsize 500000
works with smaller 3 MB kernels also, as U-Boot will just load some extra harmless data. - Enter:
fw_printenv | grep kernsize
to confirm the change after running. Now you should read
kernsize=500000
. - Reboot the device.
reboot
It should boot the current 22.03.5 just as previously.
Your device can now flash and run anything: Linksys OEM, OpenWrt 21.02, 22.03, 23.05 and main snapshot.
Now to update safely to 23.05, do below:
- Take a backup from your settings for 22.03 using e.g. Luci UI. You will lose all your configurations when updating to 23.05 because 23.05 migrates network configuration to DSA which makes network configuration not compatible with earlier versions.
- Download a 23.05
factory
image (eg.openwrt-23.05.5-ipq40xx-generic-linksys_ea6350v3-squashfs-factory.bin
. (Sysupgrade image likeopenwrt-23.05.5-ipq40xx-generic-linksys_ea6350v3-squashfs-sysupgrade.bin
also works). - Flash the image from OpenWrt 22.03. You can use Luci UI to do the upgrade: “System...Flash firmware...Flash new firmware image”. You will see some red warnings which you can ignore. Uncheck “Keep settings and retain the current configuration” and check “Force upgrade” and click Continue.
- Wait for a few minutes while the update completes.
- Connect with wired cable to the router and configure it as you want. Do not try to restore any previous 22.03 config file using Luci UI, it isn't compatible due to network configuration migration to DSA. You can manually restore most of the config files from the backup archive using ssh and updating files in
/etc/config/
directory.
Once you have successfully installed 23.05, you can do upgrades to newer versions later as usual without touching anymore kernsize value and you can also preserve configurations during upgrades.
Above instructions are based on below links where you can read more about this bootloader variable change:
- https://forum.openwrt.org/t/linksys-ea8300-upgrade-to-23-xx/186462/ Using 23.05 sysupgrade instead of factory image works too.
Upgrading OpenWrt
Prior to OpenWrt 22.03.3, the recommended advice for this and other Linksys dual partition routers, is to revert to booting Linksys stock firmware from the other partition. Use the Recovery (Automatic) method described later in this wiki page.
Then install the new OpenWrt squashfs-factory image using Linksys GUI, as described earlier in this wiki page.
If you were to use OpenWrt to install the newer squashfs-sysupgrade image, the original Linksys stock firmware stored on the other partition will be overwritten. Both partitions will contain OpenWrt. Fortunately, it is though possible to restore Linksys stock firmware using the 'Back to Stock' procedure described later in this wiki page.
As it is now possible to revert to Linksys OEM firmware provided OpenWrt 23.03.5+ is installed, the normal method of upgrading OpenWrt is recommended:
Recommend to use the latest stable releases. Note the very development snapshots do not include LuCI.
Debricking (Recovery / Back To Stock)
Recovery (Automatic)
The EA6350v3 is a dual firmware device. ie. There are 2 partitions and Linksys firmware is copied to both partitions at the factory. When you install/update the Linksys firmware, or install/update OpenWrt, the new firmware is always written to the other partition. Upon restarting the EA6350v3, it will subsequently try to boot from the newly installed firmware image from other partition.
If the device fails to boot after install or upgrade:
- Switch On and wait 15 seconds
- Switch Off and wait 10 seconds
- Repeat steps 1 and 2, three times, then go to 4.
- U-boot will switch to booting the previous working firmware - you should be able to access your router on LAN.
The above method can be used to toggle between the two firmwares.
To perform a Factory Reset to restore default settings:
- Turn on the router and wait 2 minute.
- Press and hold the recessed Reset button for 10 seconds. (For earlier versions of Linksys firmware, you may need to hold Reset for up to 20 seconds)
Warning: If you install/upgrade OpenWrt more than once, both partitions will be overwritten with OpenWrt firmwares, and you won't be able to revert back to Linksys OEM firmware using above method.
Recovery (Manual)
Unknown.
Generic u-boot tftp client method to restore firmware to EA6350v3 does NOT appear to work when tested with tftpd64 client and Linksys Utility.
EA6350v3 is very similar to Linksys EA8300, and using a serial connection and tftp server may work. The OEM Boot log shown below may be incomplete, ie. missing boot log from Uboot. Refer to the 'TFTP Recovery' section for the EA8300.
Back To Stock
OpenWrt 22.03.5 or later sysupgrade can be used to restore Linksys firmwares. See Commit
List of download links for Linksys EA6350 v3 firmwares:
v3.1.10.191322 - Latest version
v3.1.9.182357
v3.1.9.180755
v3.1.6.178912
v3.1.4.175257
The original restore method prior to 22.03.5 is described below.
The documented way of reverting back to stock from the OpenWrt firmware requires removing the tailing bytes of the Linksys image and then write it to the currently non-booted partition using the mtd
command. This always works regardless of the times you flashed OpenWrt or if both partitions have an OpenWrt firmware. In order to simplify the process and to avoid fatal mistakes, a script is available in the community, as descrived below.
Reverting to Linksys firmware using custom 'BackToStock' script
If you cannot use the 'Recovery (Automatic)' method described above but there is a working copy of OpenWrt, then the EA6350v3 can also be returned to Linksys stock firmware with the aid of a shell script. Sadly, this script requires tools that are not present in the default OpenWrt repository. For this reason, it is recommended to use the script directly from the binary firmware provided by the author.
Download links and full instructions can be found in this OpenWrt forum thread:
- Forum post and thread: Forum: OpenWrt Forum
- GitHub release page for the very latest binary image (uses tar.zst archive), script and source code: Download: GitHub Releases
- To extract the .tar.zst archive file, Windows users will require Peazip, MacOS users will require Keka (beta)
- Support thread for the custom firmware: Forum: OpenWrt Forum
Note: the guide refers a particular version which is not available anymore. The latest version should work by following the guide, but be careful of any small difference you may encounter between versions.
Summarised procedure using SFTP
- Go to the GitHub download page and read the document you'll find in the main page.
- Once you've reached the end of the document, you will find the download link to the latest version.
- Extract the compressed archive in your computer.
- Install image
*-squashfs-sysupgrade.bin
using LuCI. Warning: if you are flashing this firmware over a default OpenWrt firmware, you must have to click the option to not preserve your settings, otherwise, your device will soft brick. - Use the SFTP protocol (eg. free programs like WinSCP or FileZilla, or OpenSSH which is available by default on most Linux distros and all Macs) and connect to the device at 192.168.50.1 (default ip) with username admin and your respective password for the admin user (default: admin).
- Copy the original Linksys firmware to
/tmp
folder. Rename the file tocivic.img
to make the process easier. - SSH into router at 192.168.50.1 with the same credentials as you did before.
- Execute the command
sudo -i
and type your admin password. - Once in the root shell, execute the command
BackToStock /tmp/civic.img
. - Read carefully the messages on your screen. After a few minutes and if every test passed the device will reboot with Linksys firmware. Use a web browser and go to the LAN IP address of the device, it is 192.168.1.1 by default. Alternatively, use the URL http://LinksysSmartWiFi.com.
- Click on Manual Configuration link on bottom left corner of web page. Log in with password: admin.
- If the login page fails to appear, hold the “Reset” button in for 10 seconds to clear all settings while the device is powered on. Repeat previous step.
- Choose 'Connectivity' tab.
- Install Linksys firmware to restore the firmware to the 2nd partition. This way, OpenWrt will be completely removed from the device.
Using USB flash drive with above prebuilt sysupgrade image.
- Refer to steps in SFTP method to install the custom firmware.
- Copy Linksys firmware to root of USB flash drive system and rename to civic.img. Most filesystems are supported, including
NTFS
,FAT
andexFAT
(the most common filesystems for USB drives). - SSH into router at 192.168.50.1 with the same credentials as you would do with the SFTP method above.
- Execute:
sudo -i
- Mount the flash drive. For example:
mkdir -p /mnt/usb mount /dev/sda1 /mnt/usb
Note: if your device is not in
/dev/sda
, you can find it using thelsblk
command. You can, also, use LuCI to mount your drive. - Execute script:
BackToStock /mnt/usb/civic.img
(or the mount path you choosed). - Refer to steps in SFTP method to flash Linksys firmware to 2nd partition.
LED configuration
On top of the device, there is a green blinking LED as default. This LED can be easily disabled if it is annoying. Disable by adding this to /etc/config/system
:
config led option default '0' option trigger 'none' option name 'Green power led off' option sysfs 'green:status'
Hardware
Info
Architecture | ARM |
---|---|
Vendor | Qualcomm |
Bootloader | U-Boot |
System-On-Chip | Qualcomm IPQ4018 |
CPU/Speed | ARM Cortex A7 @ 717MHz 4 cores |
Flash-Chip | Winbond W25N01GVZEIG |
Flash size | Winbond 128MB SLC NAND Flash |
RAM | Samsung DDR3 256MB RAM |
Wireless | IPQ4018 2.4GHz / 5GHz 802.11an+ac |
Ethernet | 1000 Mbit/s w/ vlan support |
USB | 1x 3.0 |
Serial | Yes |
JTAG | Not populated |
Photos
Video of the internals:
Power Adapter
The EA6350 v3 is powered by 12V 2 Amp DC power adapter. The size of the barrel plug appears to be standard 2.1 x 5.5mm x 10mm length, commonly used on Linksys and other brands of wifi routers. It was discovered several EA6350 v3 were susceptible to intermittent power loss when using variety of 3rd party power adapters. The problem was traced to style of 2.1/5.5mm barrel plug. Ensure the replacement power adapter is fitted with the fork/prong sprung style plug as shown below. This will prevent intermittent power loss when the plug or cable is disturbed.
DIY Wall hanger solution
Use single core copper wire (eg. 2.5mm 'Twin & Earth' cable commonly used in UK ring mains wiring). Simply strip about 15mm off both ends of the wire and use plier to bend and insert the wire into the ventilation slot on the side. If you want the aerials to hang downwards, fit the hanging wire closer to the front edge of the router.
Opening the case
Note this will void the warranty when the label next to the power socket is broken.
- Remove the 4 plastic feet.
- Remove the corresponding screws.
- Gently pry off the top cover, starting from the rear.
Serial
→ port.serial general information about the serial port, serial port cable, etc.
- Header at J19, beneath DC Power Jack
- 1-VCC ; 2-TX ; 3-RX; 4-GND;
Serial connection parameters for Linksys EA6350 v3 | 115200, 8N1 |
---|
I bought the HiLetGo C2102 UART to TTL USB adapter
The USB adapter is wired as follows:
Comment: I don't believe it is necessary to connect the +3.3v from most USB adapters to the router.
And the headers on the router main board:
... it is interesting - the header which is there in the FCC pic (half way down, left edge of board):
source: https://forum.openwrt.org/t/add-support-for-linksys-ea6350-v3/18907
JTAG
→ port.jtag general information about the JTAG port, JTAG cable, etc.
How to connect to the JTAG Port of this specific device:
Insert photo of PCB with markings for JTAG port
Bootlogs
OEM bootlog
In ART, mac0=0xFFFFFFFFFFFF, mac1=0xFFFFFFFFFFFF, mac2=0x6038E08B6235, mac3=0x6038E08B6236 get_eth_mac_address@1407: the base hw_mac_addr='60:38:E0:8B:62:33' is valid! Using machid 0x8010100 from environment Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 3.14.43 (root@build-vm) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.01 r40864) ) #1 SMP PREEMPT Sat Jul 1 06:01:09 PDT 2017 [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine model: Linksys EA6350v3 based on Qualcomm Technologies, Inc. IPQ40xx/AP-DK01.1-C2 [ 0.000000] Reserved memory: failed to reserve memory for node 'rsvd1@87000000': base 0x87000000, size 5 MiB [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] PERCPU: Embedded 8 pages/cpu @cfdca000 s8384 r8192 d16192 u32768 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 62208 [ 0.000000] Kernel command line: init=/sbin/init rootfstype=squashfs ubi.mtd=13,2048 ubi.block=0,0 root=/dev/ubiblock0_0 rootwait ro mtdparts=spi0.1:40M(kernel),37M@0x300000(rootfs),40M@0x2800000(alt_kernel),37M@0x2b00000(alt_rootfs),1M(sysdiag),47M(syscfg),-(offlimit) clk_ignore_unused [ 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: 241412K/250880K available (4584K kernel code, 341K rwdata, 1496K rodata, 200K init, 315K bss, 9468K reserved, 0K highmem) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 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 - 0xc07f83ac (6081 kB) [ 0.000000] .init : 0xc07f9000 - 0xc082b0c0 ( 201 kB) [ 0.000000] .data : 0xc082c000 - 0xc0881608 ( 342 kB) [ 0.000000] .bss : 0xc0881608 - 0xc08d0344 ( 316 kB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] Architected cp15 timer(s) running at 48.00MHz (virt). [ 0.000008] sched_clock: 56 bits at 48MHz, resolution 20ns, wraps every 2863311552512ns [ 0.000017] Switching to timer-based delay loop [ 0.000299] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000) [ 0.000316] pid_max: default: 32768 minimum: 301 [ 0.000586] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.000599] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.011214] CPU: Testing write buffer coherency: ok [ 0.011578] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.011654] Setting up static identity map for 0x80213768 - 0x802137c0 [ 0.090580] CPU1: Booted secondary processor [ 0.090627] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.110580] CPU2: Booted secondary processor [ 0.110616] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 [ 0.130620] CPU3: Booted secondary processor [ 0.130656] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 [ 0.130791] Brought up 4 CPUs [ 0.130832] SMP: Total of 4 processors activated (384.00 BogoMIPS). [ 0.130841] CPU: All CPU(s) started in SVC mode. [ 0.141293] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [ 0.141693] pinctrl core: initialized pinctrl subsystem [ 0.142121] regulator-dummy: no parameters [ 0.142785] NET: Registered protocol family 16 [ 0.144402] DMA: preallocated 2048 KiB pool for atomic coherent allocations [ 0.144925] cpuidle: using governor ladder [ 0.144937] cpuidle: using governor menu [ 0.153122] hw-breakpoint: Debug register access (0xee003e17) caused undefined instruction on CPU 3 [ 0.153130] hw-breakpoint: Debug register access (0xee003e17) caused undefined instruction on CPU 2 [ 0.153139] hw-breakpoint: Debug register access (0xee003e17) caused undefined instruction on CPU 1 [ 0.153143] hw-breakpoint: CPU 2 failed to disable vector catch [ 0.153173] hw-breakpoint: Debug register access (0xee003e17) caused undefined instruction on CPU 0 [ 0.153263] [ 0.153263] Version Rollback Feature Disabled [ 0.156766] sps:sps is ready. [ 0.162734] bio: create slab <bio-0> at 0 [ 0.164455] SCSI subsystem initialized [ 0.165165] msm_bus_fabric_init_driver [ 0.165348] msm_bus_device 580000.ad-hoc-bus: Util-fact is missing, default to 100 [ 0.165365] msm_bus_device 580000.ad-hoc-bus: Vrail-comp is missing, default to 100 [ 0.165385] msm_bus_device 580000.ad-hoc-bus: Failed to get bus clk for bus4096 ctx1 [ 0.165428] msm_bus_device 580000.ad-hoc-bus: Util-fact is missing, default to 100 [ 0.165443] msm_bus_device 580000.ad-hoc-bus: Vrail-comp is missing, default to 100 [ 0.165460] msm_bus_device 580000.ad-hoc-bus: Failed to get bus clk for bus1024 ctx1 [ 0.191937] Switched to clocksource arch_sys_counter [ 0.193711] NET: Registered protocol family 2 [ 0.194977] TCP established hash table entries: 2048 (order: 1, 8192 bytes) [ 0.195025] TCP bind hash table entries: 2048 (order: 2, 16384 bytes) [ 0.195074] TCP: Hash tables configured (established 2048 bind 2048) [ 0.195129] TCP: reno registered [ 0.195145] UDP hash table entries: 256 (order: 1, 8192 bytes) [ 0.195178] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) [ 0.195518] NET: Registered protocol family 1 [ 0.196270] hw perfevents: enabled with ARMv7 Cortex-A7 PMU driver, 5 counters available [ 0.197632] futex hash table entries: 1024 (order: 4, 65536 bytes) [ 0.207167] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.207184] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.208145] msgmni has been set to 471 [ 0.209850] Key type asymmetric registered [ 0.209864] Asymmetric key parser 'x509' registered [ 0.209905] io scheduler noop registered [ 0.209915] io scheduler deadline registered (default) [ 0.210783] tcsr 194b000.tcsr: setting usb hs phy mode select = e700e7 [ 0.210853] tcsr 1953000.ess_tcsr: setting ess interface select = 0 [ 0.210922] tcsr 1949000.tcsr: setting wifi_glb_cfg = 41000000 [ 0.210980] tcsr 1957000.tcsr: setting wifi_noc_memtype_m0_m2 = 2222222 [ 0.211529] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled [ 0.212735] msm_serial_hsl_probe: detected port #0 (ttyMSM0) [ 0.212775] msm_serial_hsl_probe: Bus scaling is disabled [ 0.212937] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 139, base_baud = 115200) is a MSM [ 0.213013] msm_hsl_console_setup: console setup on port #0 [ 0.826429] console [ttyMSM0] enabled [ 0.830518] msm_serial_hsl_init: driver initialized [ 0.835317] qca_serial_hs module loaded [ 0.841324] sps: BAM device 0x07884000 is not registered yet. [ 0.846092] sps:BAM 0x07884000 is registered. [ 0.851388] sps:BAM 0x07884000 (va:0xd0b40000) enabled: ver:0x19, number of pipes:12 [ 0.858530] m25p80 spi0.0: found mx25l1606e, expected n25q128a11 [ 0.864291] m25p80 spi0.0: mx25l1606e (2048 Kbytes) [ 0.869185] 10 ofpart partitions found on MTD device spi0.0 [ 0.874687] Creating 10 MTD partitions on "spi0.0": [ 0.879538] 0x000000000000-0x000000040000 : "0:SBL1" [ 0.885632] 0x000000040000-0x000000060000 : "0:MIBIB" [ 0.890693] 0x000000060000-0x0000000c0000 : "0:QSEE" [ 0.895716] 0x0000000c0000-0x0000000d0000 : "0:CDT" [ 0.900635] 0x0000000d0000-0x0000000e0000 : "0:APPSBLENV" [ 0.906121] 0x0000000e0000-0x000000160000 : "0:APPSBL" [ 0.911312] 0x000000160000-0x000000170000 : "0:ART" [ 0.916319] 0x000000170000-0x000000190000 : "u_env" [ 0.921301] 0x000000190000-0x0000001b0000 : "s_env" [ 0.926200] 0x0000001b0000-0x0000001c0000 : "devinfo" [ 0.932781] libphy: ipq40xx_mdio: probed [ 0.939148] ipq40xx-mdio 90000.mdio: ipq40xx-mdio driver was registered [ 0.944813] PPP generic driver version 2.4.2 [ 0.949168] i2c /dev entries driver [ 0.953715] qcom_wdt watchdog.9: invalid resource [ 0.957400] qcom_wdt: probe of watchdog.9 failed with error -22 [ 0.963905] sdhci: Secure Digital Host Controller Interface driver [ 0.969451] sdhci: Copyright(c) Pierre Ossman [ 0.973817] sdhci-pltfm: SDHCI platform and OF driver helper [ 0.985283] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xaa [ 0.990605] nand: Winbond W25N01GV 128MiB 3.3V [ 0.995060] nand: 128MiB, SLC, page size: 2048, OOB size: 64 [ 1.000685] Scanning device for bad blocks [ 1.658153] random: nonblocking pool is initialized [ 2.795049] mtd: spi0.1: skipping zero sized partition [ 2.799157] 6 cmdlinepart partitions found on MTD device spi0.1 [ 2.805102] Creating 6 MTD partitions on "spi0.1": [ 2.809848] 0x000000000000-0x000002800000 : "kernel" [ 2.816179] 0x000000300000-0x000002800000 : "rootfs" [ 2.821252] mtd: device 11 (rootfs) set to be root filesystem [ 2.826008] 0x000002800000-0x000005000000 : "alt_kernel" [ 2.832447] 0x000002b00000-0x000005000000 : "alt_rootfs" [ 2.837877] 0x000005000000-0x000005100000 : "sysdiag" [ 2.843069] 0x000005100000-0x000008000000 : "syscfg" [ 2.849117] u32 classifier [ 2.850790] input device check on [ 2.854485] Netfilter messages via NETLINK v0.30. [ 2.859234] nf_conntrack version 0.5.0 (3772 buckets, 15088 max) [ 2.865720] ctnetlink v0.93: registering with nfnetlink. [ 2.870424] nf_conntrack_rtsp v0.7 loading [ 2.874611] ip_set: protocol 6 [ 2.877705] gre: GRE over IPv4 demultiplexor driver [ 2.882414] ip_gre: GRE over IPv4 tunneling driver [ 2.888671] nf_nat_rtsp v0.7 loading [ 2.891248] ip_tables: (C) 2000-2006 Netfilter Core Team [ 2.896810] TCP: cubic registered [ 2.900519] NET: Registered protocol family 10 [ 2.905907] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 2.910605] sit: IPv6 over IPv4 tunneling driver [ 2.916770] NET: Registered protocol family 17 [ 2.920329] Bridge firewalling registered [ 2.924224] Ebtables v2.0 registered [ 2.927828] l2tp_core: L2TP core driver, V2.0 [ 2.932098] l2tp_netlink: L2TP netlink interface [ 2.936702] 8021q: 802.1Q VLAN Support v1.8 [ 2.941030] Registering SWP/SWPB emulation handler [ 2.946794] regulator-dummy: disabling [ 2.949933] UBI: attaching mtd13 to ubi0 [ 4.754432] UBI: scanning is finished [ 4.824955] UBI warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 19, need 20 [ 4.835148] UBI: attached mtd13 (name "alt_rootfs", size 37 MiB) to ubi0 [ 4.840956] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes [ 4.847754] UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 [ 4.854424] UBI: VID header offset: 2048 (aligned 2048), data offset: 4096 [ 4.861265] UBI: good PEBs: 296, bad PEBs: 0, corrupted PEBs: 0 [ 4.867182] UBI: user volume: 1, internal volumes: 1, max. volumes count: 128 [ 4.874304] UBI: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 1906976869 [ 4.883329] UBI: available PEBs: 0, total reserved PEBs: 296, PEBs reserved for bad PEB handling: 19 [ 4.892464] UBI: background thread "ubi_bgt0d" started, PID 71 [ 4.893343] UBI: ubiblock0_0 created from ubi0:0(squashfs) [ 4.894171] input: gpio_keys.7 as /devices/soc.0/gpio_keys.7/input/input0 [ 4.894431] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 4.897833] clk: Not disabling unused clocks [ 4.936069] VFS: Mounted root (squashfs filesystem) readonly on device 254:0. [ 4.942511] Freeing unused kernel memory: 200K (c07f9000 - c082b000) ********************************************************************************* _ _ __ _ __ _____ __ __ _____ | | | || \ | | / // ____]\ \ / // ____]TM | | | || \ | | / /| (___ \ V /| (____ | | | || |\ \| |\ \ \____ \ \ / \____ \ | |_____ | || | \ | \ \ ____) | | | ____) | |_______||_||_| \__| \_\[____ / |_| [_____/ (c) 2013 Belkin International, Inc. and/or its affiliates. All rights reserved. Booting civic (firmware version 3.1.9.182357) ********************************************************************************* [utopia][init] System Initialization [utopia][init] Creating /proc [utopia][init] Creating /sys [utopia][init] Creating /dev [utopia][init] Creating /tmp [utopia][init] Allocating 50M for /tmp [utopia][init] Prepairing /dev/pts [utopia][init] Setting /tmp and /var permissions [utopia][init] Starting udev.. Attempting mount of ubifs syscfg partition UBI device number 1, total 376 LEBs (47742976 bytes, 45.5 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB) [utopia][init] Using persistent syscfg data from /var/config/syscfg [utopia][init] Starting system logging [utopia][init] Starting sysevent subsystem [utopia][init] Enabling DesignWare USB3 DRD Core drivers [utopia][init] Loading QCA Ethernet, NSS and GMAC drivers net.netfilter.nf_conntrack_acct = 1 [utopia][init] Late loading usb drivers [utopia][init] Setting any unset system values to default [utopia][init] no persistence config file (/var/config/pstcfg) found setting up MAC addresses for all interface based on 60:38:E0:8B:62:33 NTP Servers do not need to be updated checking for interactive script start up... Updating BootCount Page[20]:140 ... Done attempting to sync sysinfo.cgi auth credentials [utopia][init] Loading Buttons drivers [utopia][init] Load WiFi cal data from MTD(mtd6) to FS. [utopia][init] Setup link to WiFi firmware and board data (EU) [utopia][init] Using EU region for WiFi firmware and board data NSS Auto scaling disabled inserting fpbypass.ko for QCA civic login: Thu Oct 11 06:00:00 UTC 2012 wan, sysevent received: wan-start=NULL Lighttpd Model Base: EA6350 Generating Rainier lighttpd config Build temporary www configuration directory: wifi, sysevent received: lan-started (Wed Oct 10 23:00:07 PDT 2012) wifi, service_start() TSLIIHauhEfGE Power cycle Ethernet ports. Registering Service myrouter._http._tcp.local port 80 [utopia][init] Loading GMAC and WLAN drivers Got a reply for myrouter._http._tcp.local.: Name now registered and active [utopia][init] Creating wifi devices ath0 ath1 [utopia][init] setting WiFi Red CE settings RTNETLINK answers: Device or resource busy wifi, wifi_physical_start(ath0) wifi, setting obss rssi threshold (ath0) Auto channel Not ready for JNAP. Sleeping for 15 seconds... wifi, wifi_virtual_start(ath0) [utopia] Not setting ppp_clamp_mtu wifi, wifi_user_start(ath0) 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) fastpath, sysevent received: qos_enabled wifi_user, ath1 TxBF enabled wifi_user, ath1 MU-MIMO enabled sysctl: error: 'dev.nss.general.redirect' is an unknown key 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 60:38:e0:8b:62:34 and ssid "Linksys28543" ath0: interface state UNINITIALIZED->ENABLED ath0: AP-ENABLED ath1: Could not connect to kernel driver Using interface ath1 with hwaddr 60:38:e0:8b:62:35 and ssid "Linksys28543_5GHz" ath1: interface state UNINITIALIZED->ENABLED ath1: AP-ENABLED [utopia] Not setting ppp_clamp_mtu on dslite protocol Restarting nfqrecv service... wan, sysevent received: phylink_wan_state=down [fw.sh] fwup_checked_after_boot: 0 [fw.sh] fwup_forced_update: 0 Starting smbd ... [fw.sh] fwup_checked_after_boot: 0 [fw.sh] fwup_forced_update: 0 [fw.sh] fwup_checked_after_boot: 0 [fw.sh] fwup_forced_update: 0
OpenWrt bootlog
[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.14.101 (buildbot@slashdirt-03) (gcc version 7.4.0 (OpenWrt GCC 7.4.0 r9413-81adb13)) #0 SMP Wed Feb 20 17:51:31 2019 [ 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] On node 0 totalpages: 65024 [ 0.000000] free_area_init_node: node 0, pgdat c0a24080, node_mem_map cfdf9000 [ 0.000000] Normal zone: 512 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 65024 pages, LIFO batch:15 [ 0.000000] random: get_random_bytes called from start_kernel+0x88/0x3c4 with crng_init=0 [ 0.000000] percpu: Embedded 15 pages/cpu @cfdaf000 s29388 r8192 d23860 u61440 [ 0.000000] pcpu-alloc: s29388 r8192 d23860 u61440 alloc=15*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64512 [ 0.000000] Kernel command line: init=/sbin/init rootfstype=squashfs ubi.mtd=13,2048 ubi.block=0,0 root=/dev/ubiblock0_0 rootwait ro [ 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: 249936K/260096K available (4420K kernel code, 146K rwdata, 1200K rodata, 1024K init, 235K bss, 10160K 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 - 0xc0751350 (5413 kB) [ 0.000000] .init : 0xc0900000 - 0xc0a00000 (1024 kB) [ 0.000000] .data : 0xc0a00000 - 0xc0a24980 ( 147 kB) [ 0.000000] .bss : 0xc0a26000 - 0xc0a60c98 ( 236 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.000256] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000) [ 0.000275] pid_max: default: 32768 minimum: 301 [ 0.000414] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.000431] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.000989] CPU: Testing write buffer coherency: ok [ 0.001690] Setting up static identity map for 0x80300000 - 0x80300060 [ 0.001835] Hierarchical SRCU implementation. [ 0.002477] smp: Bringing up secondary CPUs ... [ 0.005217] smp: Brought up 1 node, 4 CPUs [ 0.005238] SMP: Total of 4 processors activated (384.00 BogoMIPS). [ 0.005247] CPU: All CPU(s) started in SVC mode. [ 0.009286] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [ 0.009439] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.009465] futex hash table entries: 1024 (order: 4, 65536 bytes) [ 0.009661] pinctrl core: initialized pinctrl subsystem [ 0.010626] NET: Registered protocol family 16 [ 0.010949] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.011971] cpuidle: using governor ladder [ 0.012015] cpuidle: using governor menu [ 0.028806] usbcore: registered new interface driver usbfs [ 0.028870] usbcore: registered new interface driver hub [ 0.028959] usbcore: registered new device driver usb [ 0.029004] pps_core: LinuxPPS API ver. 1 registered [ 0.029014] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.029040] PTP clock support registered [ 0.030284] clocksource: Switched to clocksource arch_sys_counter [ 0.031131] NET: Registered protocol family 2 [ 0.031812] TCP established hash table entries: 2048 (order: 1, 8192 bytes) [ 0.031858] TCP bind hash table entries: 2048 (order: 2, 16384 bytes) [ 0.031907] TCP: Hash tables configured (established 2048 bind 2048) [ 0.032011] UDP hash table entries: 256 (order: 1, 8192 bytes) [ 0.032049] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) [ 0.032249] NET: Registered protocol family 1 [ 0.032296] PCI: CLS 0 bytes, default 64 [ 0.033263] No memory allocated for crashlog [ 0.033470] workingset: timestamp_bits=30 max_order=16 bucket_order=0 [ 0.036695] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.036711] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.041927] io scheduler noop registered [ 0.041947] io scheduler deadline registered (default) [ 0.044598] bam-dma-engine 8e04000.dma: num-channels unspecified in dt [ 0.044618] bam-dma-engine 8e04000.dma: num-ees unspecified in dt [ 0.045302] tcsr 1949000.tcsr: setting wifi_glb_cfg = 41000000 [ 0.045393] tcsr 194b000.tcsr: setting usb hs phy mode select = e700e7 [ 0.045471] tcsr 1953000.ess_tcsr: setting ess interface select = 0 [ 0.045545] tcsr 1957000.tcsr: setting wifi_noc_memtype_m0_m2 = 2222222 [ 0.045767] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.047511] msm_serial 78af000.serial: msm_serial: detected port #0 [ 0.047562] msm_serial 78af000.serial: uartclk = 1843200 [ 0.047615] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 25, base_baud = 115200) is a MSM [ 0.047643] msm_serial: console setup on port #0 [ 0.562254] console [ttyMSM0] enabled [ 0.567154] msm_serial: driver initialized [ 0.574582] loop: module loaded [ 0.575751] spi_qup 78b5000.spi: IN:block:16, fifo:64, OUT:block:16, fifo:64 [ 0.583738] random: fast init done [ 0.588060] m25p80 spi0.0: s25fl016k (2048 Kbytes) [ 0.588137] 10 fixed-partitions partitions found on MTD device spi0.0 [ 0.592796] Creating 10 MTD partitions on "spi0.0": [ 0.599303] 0x000000000000-0x000000040000 : "SBL1" [ 0.604646] 0x000000040000-0x000000060000 : "MIBIB" [ 0.609390] 0x000000060000-0x0000000c0000 : "QSEE" [ 0.614210] 0x0000000c0000-0x0000000d0000 : "CDT" [ 0.618992] 0x0000000d0000-0x0000000e0000 : "APPSBLENV" [ 0.623832] 0x0000000e0000-0x000000160000 : "APPSBL" [ 0.628818] 0x000000160000-0x000000170000 : "ART" [ 0.634082] 0x000000170000-0x000000190000 : "u_env" [ 0.638624] 0x000000190000-0x0000001b0000 : "s_env" [ 0.643360] 0x0000001b0000-0x0000001c0000 : "devinfo" [ 0.648973] libphy: ipq40xx_mdio: probed [ 0.683697] ESS reset ok! [ 0.716671] ESS reset ok! [ 1.150668] libphy: Fixed MDIO Bus: probed [ 1.250427] i2c /dev entries driver [ 1.290655] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xaa [ 1.290697] nand: Winbond W25N01GV 1G 3.3V 8-bit [ 1.296089] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64 [ 1.301205] Scanning device for bad blocks [ 1.757483] random: crng init done [ 1.813302] 6 fixed-partitions partitions found on MTD device spi0.1 [ 1.813335] Creating 6 MTD partitions on "spi0.1": [ 1.818733] 0x000000000000-0x000002800000 : "kernel" [ 1.826265] 0x000000300000-0x000002800000 : "rootfs" [ 1.831005] mtd: device 11 (rootfs) set to be root filesystem [ 1.837350] mtdsplit: no squashfs found in "rootfs" [ 1.839112] 0x000002800000-0x000005000000 : "alt_kernel" [ 1.844555] 0x000002b00000-0x000005000000 : "alt_rootfs" [ 1.850040] 0x000005000000-0x000005100000 : "sysdiag" [ 1.855146] 0x000005100000-0x000008000000 : "syscfg" [ 1.861321] NET: Registered protocol family 10 [ 1.865909] Segment Routing with IPv6 [ 1.868881] NET: Registered protocol family 17 [ 1.872613] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 1.877180] 8021q: 802.1Q VLAN Support v1.8 [ 1.890131] Registering SWP/SWPB emulation handler [ 1.897841] ubi0: attaching mtd13 [ 4.773535] ubi0: scanning is finished [ 4.895086] ubi0: attached mtd13 (name "alt_rootfs", size 37 MiB) [ 4.895128] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes [ 4.900170] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 [ 4.906972] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 [ 4.913815] ubi0: good PEBs: 296, bad PEBs: 0, corrupted PEBs: 0 [ 4.920581] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128 [ 4.926822] ubi0: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 1906976869 [ 4.933863] ubi0: available PEBs: 0, total reserved PEBs: 296, PEBs reserved for bad PEB handling: 20 [ 4.943170] ubi0: background thread "ubi_bgt0d" started, PID 86 [ 4.943817] block ubiblock0_0: created from ubi0:0(rootfs) [ 4.960838] UBI error: block: can't add 'rootfs' volume, err=-17 [ 4.963538] hctosys: unable to open rtc device (rtc0) [ 4.984668] VFS: Mounted root (squashfs filesystem) readonly on device 254:0. [ 4.986245] Freeing unused kernel memory: 1024K [ 6.525351] init: Console is alive [ 6.525590] init: - watchdog - [ 10.125437] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 10.893004] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller [ 10.893072] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1 [ 10.897627] xhci-hcd xhci-hcd.0.auto: hcc params 0x0228f665 hci version 0x100 quirks 0x0000000002010010 [ 10.905050] xhci-hcd xhci-hcd.0.auto: irq 94, io mem 0x08a00000 [ 10.915004] hub 1-0:1.0: USB hub found [ 10.920295] hub 1-0:1.0: 1 port detected [ 10.924364] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller [ 10.928133] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2 [ 10.933463] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed [ 10.941139] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM. [ 10.948266] hub 2-0:1.0: USB hub found [ 10.955990] hub 2-0:1.0: 1 port detected [ 10.960010] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller [ 10.963595] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3 [ 10.969075] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f665 hci version 0x100 quirks 0x0000000002010010 [ 10.976469] xhci-hcd xhci-hcd.1.auto: irq 95, io mem 0x06000000 [ 10.986391] hub 3-0:1.0: USB hub found [ 10.991726] hub 3-0:1.0: 1 port detected [ 10.995787] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller [ 10.999576] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4 [ 11.004888] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed [ 11.012563] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM. [ 11.019718] hub 4-0:1.0: USB hub found [ 11.027421] hub 4-0:1.0: config failed, hub doesn't have any ports! (err -19) [ 11.032734] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 11.050583] init: - preinit - [ 15.100083] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 15.100180] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 18.373825] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 199 [ 19.937638] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data" [ 19.937687] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 19.944933] UBIFS (ubi0:1): FS size: 26411008 bytes (25 MiB, 208 LEBs), journal size 1269760 bytes (1 MiB, 10 LEBs) [ 19.954672] UBIFS (ubi0:1): reserved for root: 1247456 bytes (1218 KiB) [ 19.964610] UBIFS (ubi0:1): media format: w4/r0 (latest is w5/r0), UUID 23D10A80-4781-452A-AF52-C1F2076E35F7, small LPT model [ 19.977530] mount_root: overlay filesystem has not been fully initialized yet [ 19.983185] mount_root: switching to ubifs overlay [ 20.467359] urandom-seed: Seed file not found (/etc/urandom.seed) [ 20.721414] procd: - early - [ 20.721526] procd: - watchdog - [ 21.421402] procd: - watchdog - [ 21.424315] procd: - ubus - [ 22.252109] procd: - init - [ 22.720860] kmodloader: loading kernel modules from /etc/modules.d/* [ 22.730389] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 22.735773] Netfilter messages via NETLINK v0.30. [ 22.737210] ip_set: protocol 6 [ 22.762763] hidraw: raw HID events driver (C) Jiri Kosina [ 22.772019] u32 classifier [ 22.772048] input device check on [ 22.773620] Actions configured [ 22.779322] Mirror/redirect action on [ 22.796349] GACT probability on [ 22.802222] Simple TC action Loaded [ 22.807860] nf_conntrack version 0.5.0 (4096 buckets, 16384 max) [ 22.812475] Loading modules backported from Linux version v4.19.23-0-g67d52fae61c1 [ 22.812937] Backport generated by backports.git v4.19.23-1-0-g480a925a [ 22.824741] ip_tables: (C) 2000-2006 Netfilter Core Team [ 22.831850] ctnetlink v0.93: registering with nfnetlink. [ 22.872782] usbcore: registered new interface driver usbhid [ 22.872818] usbhid: USB HID core driver [ 22.882877] wireguard: WireGuard 0.0.20190123 loaded. See www.wireguard.com for information. [ 22.882946] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. [ 22.931837] xt_time: kernel timezone is -0000 [ 22.977292] PPP generic driver version 2.4.2 [ 22.978643] NET: Registered protocol family 24 [ 23.182377] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/fwcfg-ahb-a000000.wifi.txt failed with error -2 [ 23.182424] ath10k_ahb a000000.wifi: Falling back to user helper [ 23.466515] firmware ath10k!fwcfg-ahb-a000000.wifi.txt: firmware_loading_store: map pages failed [ 23.466865] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/pre-cal-ahb-a000000.wifi.bin failed with error -2 [ 23.474449] ath10k_ahb a000000.wifi: Falling back to user helper [ 23.607757] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/ct-firmware-5.bin failed with error -2 [ 23.607812] ath10k_ahb a000000.wifi: Falling back to user helper [ 23.671402] firmware ath10k!QCA4019!hw1.0!ct-firmware-5.bin: firmware_loading_store: map pages failed [ 23.671806] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/ct-firmware-2.bin failed with error -2 [ 23.679641] ath10k_ahb a000000.wifi: Falling back to user helper [ 23.743052] firmware ath10k!QCA4019!hw1.0!ct-firmware-2.bin: firmware_loading_store: map pages failed [ 23.743536] ath10k_ahb a000000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/firmware-6.bin failed with error -2 [ 23.751343] ath10k_ahb a000000.wifi: Falling back to user helper [ 23.815028] firmware ath10k!QCA4019!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed [ 25.245732] ath10k_ahb a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000 [ 25.245782] ath10k_ahb a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0 [ 25.257344] ath10k_ahb a000000.wifi: firmware ver 10.4b-ct-4019-fW-012-5815a26a api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT crc32 23edab8b [ 25.306367] ath10k_ahb a000000.wifi: board_file api 2 bmi_id 0:16 crc32 bde22f4e [ 26.619258] ath10k_ahb a000000.wifi: 10.4 wmi init: vdevs: 16 peers: 48 tid: 96 [ 26.619306] ath10k_ahb a000000.wifi: msdu-desc: 2500 skid: 32 [ 26.655370] ath10k_ahb a000000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186 msdu-desc: 2500 sw-crypt: 0 ct-sta: 0' [ 26.658295] ath10k_ahb a000000.wifi: wmi print 'free: 56568 iram: 22232 sram: 35968' [ 26.826547] ath10k_ahb a000000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1 [ 26.933373] ath: EEPROM regdomain: 0x834b [ 26.933451] ath: EEPROM indicates we should expect a country code [ 26.933539] ath: doing EEPROM country->regdmn map search [ 26.933626] ath: country maps to regdmn code: 0x3a [ 26.933691] ath: Country alpha2 being used: US [ 26.933743] ath: Regpair used: 0x3a [ 27.154339] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/fwcfg-ahb-a800000.wifi.txt failed with error -2 [ 27.154428] ath10k_ahb a800000.wifi: Falling back to user helper [ 27.413068] firmware ath10k!fwcfg-ahb-a800000.wifi.txt: firmware_loading_store: map pages failed [ 27.413489] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/pre-cal-ahb-a800000.wifi.bin failed with error -2 [ 27.420984] ath10k_ahb a800000.wifi: Falling back to user helper [ 27.509987] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/ct-firmware-5.bin failed with error -2 [ 27.510042] ath10k_ahb a800000.wifi: Falling back to user helper [ 27.573329] firmware ath10k!QCA4019!hw1.0!ct-firmware-5.bin: firmware_loading_store: map pages failed [ 27.573687] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/ct-firmware-2.bin failed with error -2 [ 27.581616] ath10k_ahb a800000.wifi: Falling back to user helper [ 27.658223] firmware ath10k!QCA4019!hw1.0!ct-firmware-2.bin: firmware_loading_store: map pages failed [ 27.658579] ath10k_ahb a800000.wifi: Direct firmware load for ath10k/QCA4019/hw1.0/firmware-6.bin failed with error -2 [ 27.666523] ath10k_ahb a800000.wifi: Falling back to user helper [ 27.728092] firmware ath10k!QCA4019!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed [ 27.728409] ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000 [ 27.736064] ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0 [ 27.748953] ath10k_ahb a800000.wifi: firmware ver 10.4b-ct-4019-fW-012-5815a26a api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT crc32 23edab8b [ 27.797057] ath10k_ahb a800000.wifi: board_file api 2 bmi_id 0:17 crc32 bde22f4e [ 29.110341] ath10k_ahb a800000.wifi: 10.4 wmi init: vdevs: 16 peers: 48 tid: 96 [ 29.110393] ath10k_ahb a800000.wifi: msdu-desc: 2500 skid: 32 [ 29.157702] ath10k_ahb a800000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186 msdu-desc: 2500 sw-crypt: 0 ct-sta: 0' [ 29.159101] ath10k_ahb a800000.wifi: wmi print 'free: 56568 iram: 22232 sram: 35968' [ 29.325650] ath10k_ahb a800000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1 [ 29.432654] ath: EEPROM regdomain: 0x834b [ 29.432732] ath: EEPROM indicates we should expect a country code [ 29.432818] ath: doing EEPROM country->regdmn map search [ 29.432907] ath: country maps to regdmn code: 0x3a [ 29.432968] ath: Country alpha2 being used: US [ 29.433021] ath: Regpair used: 0x3a [ 29.475294] kmodloader: done loading kernel modules from /etc/modules.d/* [ 37.776416] br-lan: port 1(eth0) entered blocking state [ 37.776458] br-lan: port 1(eth0) entered disabled state [ 37.780880] device eth0 entered promiscuous mode [ 37.788458] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 37.807627] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready [ 37.808977] ess_edma c080000.edma: eth1: GMAC Link is up with phy_speed=1000 [ 37.812698] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready [ 38.800376] br-lan: port 1(eth0) entered blocking state [ 38.800418] br-lan: port 1(eth0) entered forwarding state [ 38.805519] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
Notes
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
Known issues
- As of August 2020, there are still known problems with the switch used in IPQ40xx based devices. Therefore the use of VLANs is not fully supported at this time. See this post for a workaround. Switch config strangeness - consider using NoTengoBattery's custom firmware which does support VLAN as expected by using the patches from Christian Lampeter.
- The performance of the 2.4 GHz wireless is suboptimal. This has been discussed and resolved by NoTengoBattery, but as of June of 2020, it will not reach the official OpenWrt firmware soon. Please refer to the forum if you want to test the improved wireless performance and join the discussion. See this post for how to perhaps use the pwr.bin calibration file from the optimized build in 19.07. OpenWrt forum
- FIXED in daily snapshots from June 2020, and starting from 19.07.4. Reports of Ethernet controller cutting out when using IPv6 on WAN. OpenWrt forum Commit
- Ping spikes/latency issues with ipq401x devices. OpenWrt forum Speed Governor set to Performance for IPQ40xx, starting from: 23.05.2
- FIXED in 19.07.1 - Speed issues with some wifi cards. Latest hostapd-common from Aug 2019, is cause of these problems. See reported LEDE bug 2679 for nbg6619. Bug report 2679
- FIXED in 19.07.5 - In addition to '1' above, 19.07.4 completely breaks VLAN tagging on IPQ40xx devices. OpenWrt forum
- It is possible to flash Linksys OEM firmware using sysupgrade since 22.03.3.
- 21.02.6 and 22.03.4 does not work with this device. Do not try to install it, it will not boot at all. The problem was resolved in later releases.
- Installing OpenWrt 23.05 first time requires doing bootloader variable
fw_setenv kernsize 500000
change. You should not try to install 23.05 without thatkernsize
change! See more from Installation of 23.05 or newer.
Alternative optimised build snapshots for EA6350v3 are also available from NoTengoBattery as an alternative to official OpenWrt releases. They include additional patches and address some of the issues listed above:
NoTengoBattery Github and OpenWrt Forum link.
Other useful information can be found here