[RFT] GL.iNet AR300M with Paragon NAND Chip

I'm in the process of porting the AR750S to the ath79 target with SPI-NAND support now available on Linux 4.19. I'd like to continue with the AR300M, but don't have a device with NAND, in particular the Paragon NAND that I understand shipped with certain production units.

If you have an AR300M with the Paragon SPI NAND that you would be able to assist me in testing development of an upstream-supported driver, please also let me know. Testers with GigaDevice SPI NAND will also be helpful.

From looking at the GL.iNet source, I would expect to see dmesg on an OEM or image built from their sources to display a line containing

spi-nand: Paragon SPI NAND was found.

These are probably older-production units.

You should be comfortable with flashing images through the device's U-Boot. At least current-generation devices provide this capability over HTTP, without opening the case or a serial connection being required.

I should have a few of them, give me some time do dig them up and test.

1 Like

Do you have a compiled image? I have an AR300M with GigaDevice NAND

1 Like

Thank you both!

Right now I'm wrapping up the GigaDevice GD5F1GQ4UFxxG patch with upstream Linux (or at least hoping I am :wink:).

Knowing that Paragon-based devices are available for test was the first step. Next I have to write the "chip definition" code for the Paragon chip and configure a custom NOR-based build that has the NAND-testing tools in place. I'll probably do this after the AR750S NAND patches get further along.

Once the Paragon driver is confirmed running, that would go through the upstream Linux process, then the AR300M patch could be submitted here,


@luochongjun I typically don't do custom builds due to my beliefs around what is required to fulfill the licensing requirements of all the firmware involved (not just GPL). Once I get to the AR300M, as you've got GigaDevice flash, I would expect a relatively small patch set on master. I can make that available prior to OpenWrt review and (hopefully) acceptance of the full series.

I have an AR300M with NAND, however it's an older unit that, as far as I can tell, already operates fine with the current state of the 4.19 kernel tree (and worked fine 1-2 months ago).

The only things I know were missing were sysupgrade support. I should be able to take your AR750S work and backport that to AR300M when I get the time (next week hopefully?)

I'll take a closer look at the NAND chip identification next week.

1 Like

hello,jeff

I have two AR300m, one using Paragon and the other using GigaDevice.
The dmesg of paragon nand

[    0.000000] Linux version 4.9.109 (luo@luo-B250M-D3H) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r6910-323285a) ) #0 Fri Jun 22 10:22:57 2018
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 08000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] On node 0 totalpages: 32768
[    0.000000] free_area_init_node: node 0, pgdat 804ee8a4, node_mem_map 81000020
[    0.000000]   Normal zone: 256 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line:  board=GL-AR300M console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(reserved),64k(art)ro;spi0.1:2048k(kernel),-(ubi) rootfstype=squashfs noinitrd
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 124420K/131072K available (3652K kernel code, 159K rwdata, 856K rodata, 188K init, 217K bss, 6652K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Clocks: CPU:650.000MHz, DDR:597.973MHz, AHB:216.666MHz, Ref:25.000MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5880801374 ns
[    0.000008] sched_clock: 32 bits at 325MHz, resolution 3ns, wraps every 6607641598ns
[    0.008241] Calibrating delay loop... 432.53 BogoMIPS (lpj=2162688)
[    0.071099] pid_max: default: 32768 minimum: 301
[    0.076074] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.083052] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.092939] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.103357] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.110929] NET: Registered protocol family 16
[    0.117046] MIPS: machine is GL.iNet GL-AR300M
[    0.355924] ar71xx: using random MAC address for eth1
[    0.602069] ar724x-pci ar724x-pci.0: PCIe link is down
[    0.607530] registering PCI controller with io_map_base unset
[    0.626423] PCI host bridge to bus 0000:00
[    0.630807] pci_bus 0000:00: root bus resource [mem 0x10000000-0x11ffffff]
[    0.638044] pci_bus 0000:00: root bus resource [io  0x0000]
[    0.643920] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.651074] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.659439] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    0.662028] clocksource: Switched to clocksource MIPS
[    0.668376] NET: Registered protocol family 2
[    0.673927] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.681285] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.688043] TCP: Hash tables configured (established 1024 bind 1024)
[    0.694850] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.701013] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.707891] NET: Registered protocol family 1
[    0.712540] PCI: CLS 0 bytes, default 32
[    0.714972] Crashlog allocated RAM at address 0x3f00000
[    0.721358] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    0.735116] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.741259] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.759940] io scheduler noop registered
[    0.764120] io scheduler deadline registered (default)
[    0.769919] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.779182] console [ttyS0] disabled
[    0.803092] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a 16550A
[    0.812191] console [ttyS0] enabled
[    0.819736] bootconsole [early0] disabled
[    0.833524] m25p80 spi0.0: found mx25l12805d, expected m25p80
[    0.839957] m25p80 spi0.0: mx25l12805d (16384 Kbytes)
[    0.845253] 4 cmdlinepart partitions found on MTD device spi0.0
[    0.851365] Creating 4 MTD partitions on "spi0.0":
[    0.856335] 0x000000000000-0x000000040000 : "u-boot"
[    0.862887] 0x000000040000-0x000000050000 : "u-boot-env"
[    0.869840] 0x000000050000-0x000000ff0000 : "reserved"
[    0.876697] 0x000000ff0000-0x000001000000 : "art"
[    0.883736] spi-nand: Paragon SPI NAND was found.
[    0.888609] spi-nand: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 128
[    0.896777] 2 cmdlinepart partitions found on MTD device spi0.1
[    0.902929] Creating 2 MTD partitions on "spi0.1":
[    0.907887] 0x000000000000-0x000000200000 : "kernel"
[    0.919652] 0x000000200000-0x000008000000 : "ubi"
[    1.579194] found bad block 7fc0000
[    1.583075] found bad block 7fe0000
[    1.587314] libphy: Fixed MDIO Bus: probed
[    1.605798] libphy: ag71xx_mdio: probed
[    2.234615] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd042, driver=Generic PHY]
[    2.244760] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII
[    2.602021] random: fast init done
[    2.874567] ag71xx-mdio.1: Found an AR934X built-in switch
[    2.927856] eth1: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
[    2.935797] NET: Registered protocol family 10
[    2.943972] NET: Registered protocol family 17
[    2.948618] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    2.962138] 8021q: 802.1Q VLAN Support v1.8
[    2.971608] UBI: auto-attach mtd5
[    2.975107] ubi0: attaching mtd5
[    5.584120] ubi0: scanning is finished
[    5.701852] ubi0: volume 1 ("rootfs_data") re-sized from 9 to 905 LEBs
[    5.709502] ubi0: attached mtd5 (name "ubi", size 126 MiB)
[    5.715228] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    5.722337] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    5.729345] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    5.736539] ubi0: good PEBs: 1006, bad PEBs: 2, corrupted PEBs: 0
[    5.742838] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128
[    5.750296] ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 933695444
[    5.759638] ubi0: available PEBs: 0, total reserved PEBs: 1006, PEBs reserved for bad PEB handling: 18
[    5.769327] ubi0: background thread "ubi_bgt0d" started, PID 301
[    5.783710] block ubiblock0_0: created from ubi0:0(rootfs)
[    5.789388] ubiblock: device ubiblock0_0 (rootfs) set to be root filesystem
[    5.796635] hctosys: unable to open rtc device (rtc0)
[    5.856076] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    5.864521] Freeing unused kernel memory: 188K
[    5.869109] This architecture does not have kernel memory protection.
[    7.320952] init: Console is alive
[    7.331863] init: - watchdog -
[   11.806520] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[   12.156071] usbcore: registered new interface driver usbfs
[   12.161825] usbcore: registered new interface driver hub
[   12.167465] usbcore: registered new device driver usb
[   12.210399] exFAT: Version 1.2.9
[   12.283318] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   12.310398] SCSI subsystem initialized
[   12.337421] ehci-platform: EHCI generic platform driver
[   12.342981] ehci-platform ehci-platform: EHCI Host Controller
[   12.348950] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
[   12.359230] ehci-platform ehci-platform: irq 3, io mem 0x1b000000
[   12.399473] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
[   12.414351] hub 1-0:1.0: USB hub found
[   12.422749] hub 1-0:1.0: 1 port detected
[   12.436724] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   12.453384] ohci-platform: OHCI generic platform driver
[   12.470897] uhci_hcd: USB Universal Host Controller Interface driver
[   12.490436] usbcore: registered new interface driver usb-storage
[   12.510540] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[   12.530197] init: - preinit -
[   15.100613] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   18.543776] UBIFS (ubi0:1): default file-system created
[   18.555727] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 405
[   18.573919] random: procd: uninitialized urandom read (4 bytes read)
[   18.984067] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[   18.992203] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[   19.002451] UBIFS (ubi0:1): FS size: 113516544 bytes (108 MiB, 894 LEBs), journal size 5713920 bytes (5 MiB, 45 LEBs)
[   19.013423] UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB)
[   19.020256] UBIFS (ubi0:1): media format: w4/r0 (latest is w4/r0), UUID FA892864-71B5-4A0D-ACFC-D558F8660245, small LPT model
[   19.039495] mount_root: overlay filesystem has not been fully initialized yet
[   19.047562] mount_root: switching to ubifs overlay
[   19.119341] urandom-seed: Seed file not found (/etc/urandom.seed)
[   19.248305] procd: - early -
[   19.251380] procd: - watchdog -
[   19.896793] random: jshn: uninitialized urandom read (4 bytes read)
[   19.903485] procd: - watchdog -
[   19.906985] procd: - ubus -
[   20.332308] random: ubusd: uninitialized urandom read (4 bytes read)
[   20.466773] random: ubusd: uninitialized urandom read (4 bytes read)
[   20.522739] procd: - init -
[   21.388914] kmodloader: loading kernel modules from /etc/modules.d/*
[   21.435020] ntfs: driver 2.1.32 [Flags: R/O MODULE].
[   21.466446] tun: Universal TUN/TAP device driver, 1.6
[   21.471669] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[   21.509725] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   21.538060] Netfilter messages via NETLINK v0.30.
[   21.552458] ip_set: protocol 6
[   21.655106] u32 classifier
[   21.657910]     input device check on
[   21.661688]     Actions configured
[   21.684620] Mirror/redirect action on
[   21.703258] nf_conntrack version 0.5.0 (2048 buckets, 8192 max)
[   21.788664] fuse init (API version 7.26)
[   21.818200] usbcore: registered new interface driver cdc_acm
[   21.824113] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   21.858046] usbcore: registered new interface driver cdc_wdm
[   21.871103] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
[   21.879431] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
[   21.916024] ip_tables: (C) 2000-2006 Netfilter Core Team
[   21.934051] usbcore: registered new interface driver ipheth
[   22.308929] usbcore: registered new interface driver usbserial
[   22.315111] usbcore: registered new interface driver usbserial_generic
[   22.321939] usbserial: USB Serial support registered for generic
[   22.359783] wireguard: WireGuard 0.0.20180620 loaded. See www.wireguard.com for information.
[   22.368559] wireguard: Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[   22.483477] xt_time: kernel timezone is -0000
[   22.495031] usbcore: registered new interface driver cdc_ether
[   22.516698] usbcore: registered new interface driver cdc_ncm
[   22.733803] usbcore: registered new interface driver cp210x
[   22.739644] usbserial: USB Serial support registered for cp210x
[   22.757793] usbcore: registered new interface driver huawei_cdc_ncm
[   22.891310] PPP generic driver version 2.4.2
[   22.905860] PPP MPPE Compression module registered
[   22.917739] NET: Registered protocol family 24
[   22.986982] usbcore: registered new interface driver qmi_wwan
[   22.997121] usbcore: registered new interface driver rndis_host
[   23.024447] usbcore: registered new interface driver sierra
[   23.030289] usbserial: USB Serial support registered for Sierra USB modem
[   23.040734] usbcore: registered new interface driver sierra_net
[   23.190110] usbcore: registered new interface driver option
[   23.196033] usbserial: USB Serial support registered for GSM modem (1-port)
[   23.262959] usbcore: registered new interface driver rt2800usb
[   23.305932] ath: EEPROM regdomain: 0x0
[   23.305942] ath: EEPROM indicates default country code should be used
[   23.305945] ath: doing EEPROM country->regdmn map search
[   23.305960] ath: country maps to regdmn code: 0x3a
[   23.305965] ath: Country alpha2 being used: US
[   23.305969] ath: Regpair used: 0x3a
[   23.316819] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   23.320894] ieee80211 phy0: Atheros AR9531 Rev:2 mem=0xb8100000, irq=47
[   23.369601] kmodloader: done loading kernel modules from /etc/modules.d/*
[   51.433396] br-lan: port 1(eth1) entered blocking state
[   51.439363] br-lan: port 1(eth1) entered disabled state
[   51.446598] device eth1 entered promiscuous mode
[   51.520144] br-lan: port 1(eth1) entered blocking state
[   51.526697] br-lan: port 1(eth1) entered forwarding state
[   51.533866] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   51.609103] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   52.432151] br-lan: port 1(eth1) entered disabled state
[   53.253542] eth1: link up (1000Mbps/Full duplex)
[   53.258364] br-lan: port 1(eth1) entered blocking state
[   53.263786] br-lan: port 1(eth1) entered forwarding state
[   53.382147] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   59.937051] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   60.039383] br-lan: port 2(wlan0) entered blocking state
[   60.044942] br-lan: port 2(wlan0) entered disabled state
[   60.050811] device wlan0 entered promiscuous mode
[   62.213791] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   62.220568] br-lan: port 2(wlan0) entered blocking state
[   62.226111] br-lan: port 2(wlan0) entered forwarding state
[   68.861318] device wlan0 left promiscuous mode
[   68.866099] br-lan: port 2(wlan0) entered disabled state
[   71.131456] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   71.207137] br-lan: port 2(wlan0) entered blocking state
[   71.212714] br-lan: port 2(wlan0) entered disabled state
[   71.218569] device wlan0 entered promiscuous mode
[   72.182857] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   72.189691] br-lan: port 2(wlan0) entered blocking state
[   72.195240] br-lan: port 2(wlan0) entered forwarding state
[   74.947524] random: crng init done
[   74.951059] random: 6 urandom warning(s) missed due to ratelimiting

The dmesg of GigaDevice

[    0.000000] Linux version 4.9.109 (luo@luo-B250M-D3H) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r6910-323285a) ) #0 Fri Jun 22 10:22:57 2018
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 08000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line:  board=GL-AR300M console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(reserved),64k(art)ro;spi0.1:2048k(kernel),-(ubi) rootfstype=squashfs noinitrd
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 124420K/131072K available (3652K kernel code, 159K rwdata, 856K rodata, 188K init, 217K bss, 6652K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Clocks: CPU:650.000MHz, DDR:597.729MHz, AHB:216.666MHz, Ref:25.000MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5880801374 ns
[    0.000008] sched_clock: 32 bits at 325MHz, resolution 3ns, wraps every 6607641598ns
[    0.008241] Calibrating delay loop... 432.53 BogoMIPS (lpj=2162688)
[    0.071099] pid_max: default: 32768 minimum: 301
[    0.076075] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.083052] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.092942] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.103357] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.110927] NET: Registered protocol family 16
[    0.117043] MIPS: machine is GL.iNet GL-AR300M
[    0.602067] ar724x-pci ar724x-pci.0: PCIe link is down
[    0.607523] registering PCI controller with io_map_base unset
[    0.626408] PCI host bridge to bus 0000:00
[    0.630791] pci_bus 0000:00: root bus resource [mem 0x10000000-0x11ffffff]
[    0.638036] pci_bus 0000:00: root bus resource [io  0x0000]
[    0.643912] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.651058] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.662011] clocksource: Switched to clocksource MIPS
[    0.668361] NET: Registered protocol family 2
[    0.673912] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.681269] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.688027] TCP: Hash tables configured (established 1024 bind 1024)
[    0.694833] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.700997] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.707875] NET: Registered protocol family 1
[    0.714955] Crashlog allocated RAM at address 0x3f00000
[    0.721343] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    0.735102] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.741251] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.759935] io scheduler noop registered
[    0.764120] io scheduler deadline registered (default)
[    0.769919] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.779184] console [ttyS0] disabled
[    0.803092] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a 16550A
[    0.812192] console [ttyS0] enabled
[    0.812192] console [ttyS0] enabled
[    0.819738] bootconsole [early0] disabled
[    0.819738] bootconsole [early0] disabled
[    0.833548] m25p80 spi0.0: found w25q128, expected m25p80
[    0.848350] m25p80 spi0.0: w25q128 (16384 Kbytes)
[    0.853261] 4 cmdlinepart partitions found on MTD device spi0.0
[    0.859369] Creating 4 MTD partitions on "spi0.0":
[    0.864335] 0x000000000000-0x000000040000 : "u-boot"
[    0.870838] 0x000000040000-0x000000050000 : "u-boot-env"
[    0.877868] 0x000000050000-0x000000ff0000 : "reserved"
[    0.884726] 0x000000ff0000-0x000001000000 : "art"
[    0.891700] spi-nand: Giga SPI NAND was found.
[    0.896357] spi-nand: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 128
[    0.904487] 2 cmdlinepart partitions found on MTD device spi0.1
[    0.910603] Creating 2 MTD partitions on "spi0.1":
[    0.915590] 0x000000000000-0x000000200000 : "kernel"
[    0.925648] 0x000000200000-0x000008000000 : "ubi"
[    1.381530] found bad block 7fe0000
[    1.385800] libphy: Fixed MDIO Bus: probed
[    1.404311] libphy: ag71xx_mdio: probed
[    2.034604] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd042, driver=Generic PHY]
[    2.044745] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII
[    2.602004] random: fast init done
[    2.674550] ag71xx-mdio.1: Found an AR934X built-in switch
[    2.727849] eth1: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
[    2.735790] NET: Registered protocol family 10
[    2.743981] NET: Registered protocol family 17
[    2.748622] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    2.762139] 8021q: 802.1Q VLAN Support v1.8
[    2.771609] UBI: auto-attach mtd5
[    2.775113] ubi0: attaching mtd5
[    5.175323] ubi0: scanning is finished
[    5.287171] ubi0: volume 1 ("rootfs_data") re-sized from 9 to 905 LEBs
[    5.294819] ubi0: attached mtd5 (name "ubi", size 126 MiB)
[    5.300496] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    5.307636] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    5.314650] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    5.321837] ubi0: good PEBs: 1007, bad PEBs: 1, corrupted PEBs: 0
[    5.328135] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128
[    5.335601] ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 933695444
[    5.344945] ubi0: available PEBs: 0, total reserved PEBs: 1007, PEBs reserved for bad PEB handling: 19
[    5.354632] ubi0: background thread "ubi_bgt0d" started, PID 301
[    5.372773] block ubiblock0_0: created from ubi0:0(rootfs)
[    5.378448] ubiblock: device ubiblock0_0 (rootfs) set to be root filesystem
[    5.385686] hctosys: unable to open rtc device (rtc0)
[    5.431686] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    5.440127] Freeing unused kernel memory: 188K
[    5.444749] This architecture does not have kernel memory protection.
[    6.845226] init: Console is alive
[    6.848956] init: - watchdog -
[   11.227889] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[   11.562147] usbcore: registered new interface driver usbfs
[   11.567931] usbcore: registered new interface driver hub
[   11.573531] usbcore: registered new device driver usb
[   11.609617] exFAT: Version 1.2.9
[   11.682631] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   11.711753] SCSI subsystem initialized
[   11.735053] ehci-platform: EHCI generic platform driver
[   11.740580] ehci-platform ehci-platform: EHCI Host Controller
[   11.746583] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
[   11.756863] ehci-platform ehci-platform: irq 3, io mem 0x1b000000
[   11.795581] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
[   11.810925] hub 1-0:1.0: USB hub found
[   11.820963] hub 1-0:1.0: 1 port detected
[   11.831619] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   11.850043] ohci-platform: OHCI generic platform driver
[   11.866533] uhci_hcd: USB Universal Host Controller Interface driver
[   11.889129] usbcore: registered new interface driver usb-storage
[   11.904577] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[   11.924237] init: - preinit -
[   13.908026] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not 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
[   16.035587] eth0: link up (100Mbps/Full duplex)
[   16.040315] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   17.281677] UBIFS (ubi0:1): default file-system created
[   17.293371] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 407
[   17.313012] random: procd: uninitialized urandom read (4 bytes read)
[   17.702387] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[   17.710485] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[   17.720764] UBIFS (ubi0:1): FS size: 113516544 bytes (108 MiB, 894 LEBs), journal size 5713920 bytes (5 MiB, 45 LEBs)
[   17.731726] UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB)
[   17.738565] UBIFS (ubi0:1): media format: w4/r0 (latest is w4/r0), UUID BABD61C5-EEBC-40F6-AB87-3DBAE4F6F5FF, small LPT model
[   17.757559] mount_root: overlay filesystem has not been fully initialized yet
[   17.765622] mount_root: switching to ubifs overlay
[   17.837481] urandom-seed: Seed file not found (/etc/urandom.seed)
[   17.953971] eth0: link down
[   17.968383] procd: - early -
[   17.971461] procd: - watchdog -
[   18.613149] random: jshn: uninitialized urandom read (4 bytes read)
[   18.627530] procd: - watchdog -
[   18.631032] procd: - ubus -
[   19.049926] random: ubusd: uninitialized urandom read (4 bytes read)
[   19.192176] random: ubusd: uninitialized urandom read (4 bytes read)
[   19.235530] procd: - init -
Please press Enter to activate this console.
[   20.115937] kmodloader: loading kernel modules from /etc/modules.d/*
[   20.168198] ntfs: driver 2.1.32 [Flags: R/O MODULE].
[   20.193917] tun: Universal TUN/TAP device driver, 1.6
[   20.199144] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[   20.237728] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   20.269479] Netfilter messages via NETLINK v0.30.
[   20.283519] ip_set: protocol 6
[   20.383581] u32 classifier
[   20.386390]     input device check on
[   20.390168]     Actions configured
[   20.405296] Mirror/redirect action on
[   20.433093] nf_conntrack version 0.5.0 (2048 buckets, 8192 max)
[   20.509591] fuse init (API version 7.26)
[   20.529742] usbcore: registered new interface driver cdc_acm
[   20.535649] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   20.566837] usbcore: registered new interface driver cdc_wdm
[   20.583797] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
[   20.592120] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
[   20.628079] ip_tables: (C) 2000-2006 Netfilter Core Team
[   20.644098] usbcore: registered new interface driver ipheth
[   21.024965] usbcore: registered new interface driver usbserial
[   21.031074] usbcore: registered new interface driver usbserial_generic
[   21.037969] usbserial: USB Serial support registered for generic
[   21.073896] wireguard: WireGuard 0.0.20180620 loaded. See www.wireguard.com for information.
[   21.082676] wireguard: Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[   21.205955] xt_time: kernel timezone is -0000
[   21.213954] usbcore: registered new interface driver cdc_ether
[   21.236672] usbcore: registered new interface driver cdc_ncm
[   21.443803] usbcore: registered new interface driver cp210x
[   21.449642] usbserial: USB Serial support registered for cp210x
[   21.467976] usbcore: registered new interface driver huawei_cdc_ncm
[   21.598103] PPP generic driver version 2.4.2
[   21.609746] PPP MPPE Compression module registered
[   21.621044] NET: Registered protocol family 24
[   21.690672] usbcore: registered new interface driver qmi_wwan
[   21.700779] usbcore: registered new interface driver rndis_host
[   21.728107] usbcore: registered new interface driver sierra
[   21.734022] usbserial: USB Serial support registered for Sierra USB modem
[   21.744452] usbcore: registered new interface driver sierra_net
[   21.889030] usbcore: registered new interface driver option
[   21.894948] usbserial: USB Serial support registered for GSM modem (1-port)
[   21.959512] usbcore: registered new interface driver rt2800usb
[   22.018285] ieee80211 phy0: Atheros AR9531 Rev:2 mem=0xb8100000, irq=47
[   22.065017] kmodloader: done loading kernel modules from /etc/modules.d/*
---Warning:  wireless config was not generate, wait fix_wireless()... 0
[   50.133392] br-lan: port 1(eth1) entered blocking state
[   50.138798] br-lan: port 1(eth1) entered disabled state
[   50.144613] device eth1 entered promiscuous mode
[   50.243090] br-lan: port 1(eth1) entered blocking state
[   50.248501] br-lan: port 1(eth1) entered forwarding state
[   50.254305] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   50.331344] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   51.075811] br-lan: port 1(eth1) entered disabled state
[   52.435659] eth0: link up (100Mbps/Full duplex)
[   52.440383] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   59.668935] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   59.757006] br-lan: port 2(wlan0) entered blocking state
[   59.762567] br-lan: port 2(wlan0) entered disabled state
[   59.768590] device wlan0 entered promiscuous mode
[   61.988432] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   61.995245] br-lan: port 2(wlan0) entered blocking state
[   62.000735] br-lan: port 2(wlan0) entered forwarding state
[   62.103194] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   68.985522] device wlan0 left promiscuous mode
[   68.990267] br-lan: port 2(wlan0) entered disabled state
[   71.455539] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   71.527016] br-lan: port 2(wlan0) entered blocking state
[   71.532599] br-lan: port 2(wlan0) entered disabled state
[   71.538476] device wlan0 entered promiscuous mode
[   72.510379] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   72.517186] br-lan: port 2(wlan0) entered blocking state
[   72.522703] br-lan: port 2(wlan0) entered forwarding state

Hope to help you, any need, please feel free to @me

Luo

2 Likes

Hello. Have you seen this https://github.com/openwrt/openwrt/pull/1428 patch? I have this device, with this patch my device running on 4.14 kernel with NAND flash perfectly.

Yes, thanks. Note that it was rejected in favor of the upstream SPI-NAND framework that would become available in Linux 4.19. That framework is the basis of the work Iā€™m doing.

Builds now available -- please PM me for access if you have a Paragon-based unit and are still interested.

I broke down and bought a GL-AR300M so was able to do functional testing on a GigaDevice-based device. While I think I've got a couple testers with Paragon NAND lined up, I'd definitely appreciate a check if you've got one of those units.

It takes a bunch of time to backup your unit, flash a couple of times through U-Boot (GUI OK), and then restore to your previous config -- this doesn't provide any "new" functionality and there isn't a package repo available for the build.

It will probably take a few weeks from when I have confirmation that the Paragon driver config works properly to get upstream Linux "nod" for the patch (well, at least not a "frown" from upstream) and then to submit to OpenWrt.