Adding support for ELECOM WRC-X3000GS2 (IPQ5018, 256M RAM)

I tested with the patch @hzyitc provided and initramfs image:

/proc/meminfo, /proc/iomem (Wi-Fi disabled)
root@OpenWrt:~# cat /proc/meminfo
MemTotal:         235076 kB
MemFree:          153784 kB
MemAvailable:     131788 kB
Buffers:               0 kB
Cached:            33332 kB
SwapCached:            0 kB
Active:            36816 kB
Inactive:              0 kB
Active(anon):      36816 kB
Inactive(anon):        0 kB
Active(file):          0 kB
Inactive(file):        0 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          3484 kB
Mapped:             5432 kB
Shmem:             33332 kB
KReclaimable:       5160 kB
Slab:              15904 kB
SReclaimable:       5160 kB
SUnreclaim:        10744 kB
KernelStack:        1116 kB
PageTables:          680 kB
SecPageTables:         0 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      117536 kB
Committed_AS:      44952 kB
VmallocTotal:   257687552 kB
VmallocUsed:        7136 kB
VmallocChunk:          0 kB
Percpu:              240 kB

root@OpenWrt:~# cat /proc/iomem
00088000-00088063 : 88000.mdio mdio@88000
00090000-00090063 : 90000.mdio mdio@90000
0009b000-0009b7ff : 9b000.clock-controller cmn
000a0000-000a0fff : a0000.qfprom qfprom@a0000
000e3000-000e3fff : e3000.rng rng@e3000
004a8000-004a8fff : 4a9000.thermal-sensor thermal-sensor@4a9000
004a9000-004a9fff : 4a9000.thermal-sensor thermal-sensor@4a9000
00704000-00723fff : 704000.dma-controller dma-controller@704000
0073a000-0073ffff : 73a000.crypto crypto@73a000
01000000-012fffff : 1000000.pinctrl pinctrl@1000000
01800000-0187ffff : 1800000.clock-controller clock-controller@1800000
01905000-01924fff : 1905000.hwlock hwlock@1905000
019475c4-019475c7 : 9b000.clock-controller tcsr
07884000-078a0fff : 7884000.dma-controller dma-controller@7884000
078af000-078af1ff : msm_serial
07984000-0799ffff : 7984000.dma dma@7984000
079b0000-079bffff : 79b0000.qpic-nand qpic-nand@79b0000
0b017000-0b01703f : b017000.watchdog watchdog@b017000
0b111000-0b111fff : b111000.mailbox mailbox@b111000
0b116000-0b11603f : b116000.clock clock@b116000
0b121000-0b121fff : arch_mem_timer
39c00000-39c0ffff : wan
39d00000-39d0ffff : eth0
40000000-4a3fffff : System RAM
  41010000-41a8ffff : Kernel code
  41a90000-4241ffff : reserved
  42420000-4254ffff : Kernel data
  4a3f6000-4a3fcfff : reserved
4a400000-4a9fffff : reserved
4aa00000-4aafffff : System RAM
4ab00000-4adfffff : reserved
4ae00000-4fffffff : System RAM
  4fa00000-4fdfffff : reserved
  4fe46000-4fec5fff : reserved
  4fec6000-4ff26fff : reserved
  4ff27000-4ff4cfff : reserved
  4ff4d000-4ff4dfff : reserved
  4ff4e000-4ff4ffff : reserved
  4ff50000-4ff60fff : reserved
  4ff61000-4ff7efff : reserved
  4ff7f000-4fffffff : reserved
/proc/meminfo, /proc/iomem (Wi-Fi enabled)
root@OpenWrt:~# cat /proc/meminfo
MemTotal:         186020 kB
MemFree:           73612 kB
MemAvailable:      51716 kB
Buffers:               0 kB
Cached:            33568 kB
SwapCached:            0 kB
Active:            36992 kB
Inactive:              0 kB
Active(anon):      36992 kB
Inactive(anon):        0 kB
Active(file):          0 kB
Inactive(file):        0 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          3424 kB
Mapped:             5404 kB
Shmem:             33568 kB
KReclaimable:       5356 kB
Slab:              21436 kB
SReclaimable:       5356 kB
SUnreclaim:        16080 kB
KernelStack:        1372 kB
PageTables:          664 kB
SecPageTables:         0 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       93008 kB
Committed_AS:      45024 kB
VmallocTotal:   257687552 kB
VmallocUsed:        7412 kB
VmallocChunk:          0 kB
Percpu:              240 kB

root@OpenWrt:~# cat /proc/iomem
00088000-00088063 : 88000.mdio mdio@88000
00090000-00090063 : 90000.mdio mdio@90000
0009b000-0009b7ff : 9b000.clock-controller cmn
000a0000-000a0fff : a0000.qfprom qfprom@a0000
000e3000-000e3fff : e3000.rng rng@e3000
004a8000-004a8fff : 4a9000.thermal-sensor thermal-sensor@4a9000
004a9000-004a9fff : 4a9000.thermal-sensor thermal-sensor@4a9000
00704000-00723fff : 704000.dma-controller dma-controller@704000
0073a000-0073ffff : 73a000.crypto crypto@73a000
01000000-012fffff : 1000000.pinctrl pinctrl@1000000
01800000-0187ffff : 1800000.clock-controller clock-controller@1800000
01905000-01924fff : 1905000.hwlock hwlock@1905000
019475c4-019475c7 : 9b000.clock-controller tcsr
07884000-078a0fff : 7884000.dma-controller dma-controller@7884000
078af000-078af1ff : msm_serial
07984000-0799ffff : 7984000.dma dma@7984000
079b0000-079bffff : 79b0000.qpic-nand qpic-nand@79b0000
0b017000-0b01703f : b017000.watchdog watchdog@b017000
0b111000-0b111fff : b111000.mailbox mailbox@b111000
0b116000-0b11603f : b116000.clock clock@b116000
0b121000-0b121fff : arch_mem_timer
0c000000-0cffffff : c000000.wifi wifi@c000000
39c00000-39c0ffff : wan
39d00000-39d0ffff : eth0
40000000-4a3fffff : System RAM
  41010000-41a8ffff : Kernel code
  41a90000-4241ffff : reserved
  42420000-4254ffff : Kernel data
  4a3f6000-4a3fcfff : reserved
4a400000-4a9fffff : reserved
4aa00000-4aafffff : System RAM
4ab00000-4adfffff : reserved
4ae00000-4affffff : System RAM
4b000000-4dffffff : reserved
4e000000-4fffffff : System RAM
  4fa00000-4fdfffff : reserved
  4fe5e000-4feddfff : reserved
  4fede000-4ff3efff : reserved
  4ff3f000-4ff64fff : reserved
  4ff65000-4ff65fff : reserved
  4ff66000-4ff67fff : reserved
  4ff68000-4ff78fff : reserved
  4ff79000-4ff96fff : reserved
  4ff97000-4fffffff : reserved

Next problem:

  • instabillity of ethernet

    latency of ping sent to/from on-link devices often spikes (WAN/LAN)

    log
    root@OpenWrt:~# ping 192.168.1.4
    PING 192.168.1.4 (192.168.1.4): 56 data bytes
    64 bytes from 192.168.1.4: seq=0 ttl=128 time=0.829 ms
    64 bytes from 192.168.1.4: seq=1 ttl=128 time=0.785 ms
    64 bytes from 192.168.1.4: seq=2 ttl=128 time=255.599 ms
    64 bytes from 192.168.1.4: seq=3 ttl=128 time=0.757 ms
    64 bytes from 192.168.1.4: seq=4 ttl=128 time=0.843 ms
    64 bytes from 192.168.1.4: seq=5 ttl=128 time=319.881 ms
    64 bytes from 192.168.1.4: seq=6 ttl=128 time=0.847 ms
    64 bytes from 192.168.1.4: seq=7 ttl=128 time=0.793 ms
    64 bytes from 192.168.1.4: seq=8 ttl=128 time=0.858 ms
    64 bytes from 192.168.1.4: seq=9 ttl=128 time=0.804 ms
    64 bytes from 192.168.1.4: seq=10 ttl=128 time=377.160 ms
    64 bytes from 192.168.1.4: seq=11 ttl=128 time=0.770 ms
    64 bytes from 192.168.1.4: seq=12 ttl=128 time=0.791 ms
    64 bytes from 192.168.1.4: seq=13 ttl=128 time=462.614 ms
    64 bytes from 192.168.1.4: seq=14 ttl=128 time=477.179 ms
    64 bytes from 192.168.1.4: seq=15 ttl=128 time=0.935 ms
    64 bytes from 192.168.1.4: seq=16 ttl=128 time=512.785 ms
    64 bytes from 192.168.1.4: seq=17 ttl=128 time=529.616 ms
    64 bytes from 192.168.1.4: seq=18 ttl=128 time=537.666 ms
    64 bytes from 192.168.1.4: seq=19 ttl=128 time=548.486 ms
    64 bytes from 192.168.1.4: seq=20 ttl=128 time=0.868 ms
    64 bytes from 192.168.1.4: seq=21 ttl=128 time=0.786 ms
    64 bytes from 192.168.1.4: seq=22 ttl=128 time=0.785 ms
    64 bytes from 192.168.1.4: seq=23 ttl=128 time=0.744 ms
    64 bytes from 192.168.1.4: seq=24 ttl=128 time=122.305 ms
    64 bytes from 192.168.1.4: seq=25 ttl=128 time=0.817 ms
    64 bytes from 192.168.1.4: seq=26 ttl=128 time=0.804 ms
    64 bytes from 192.168.1.4: seq=27 ttl=128 time=0.798 ms
    64 bytes from 192.168.1.4: seq=28 ttl=128 time=0.778 ms
    64 bytes from 192.168.1.4: seq=29 ttl=128 time=0.763 ms
    64 bytes from 192.168.1.4: seq=30 ttl=128 time=2.089 ms
    64 bytes from 192.168.1.4: seq=31 ttl=128 time=0.892 ms
    64 bytes from 192.168.1.4: seq=32 ttl=128 time=1001.156 ms
    64 bytes from 192.168.1.4: seq=33 ttl=128 time=1.034 ms
    64 bytes from 192.168.1.4: seq=34 ttl=128 time=0.841 ms
    64 bytes from 192.168.1.4: seq=35 ttl=128 time=0.975 ms
    64 bytes from 192.168.1.4: seq=36 ttl=128 time=50.597 ms
    64 bytes from 192.168.1.4: seq=37 ttl=128 time=0.874 ms
    64 bytes from 192.168.1.4: seq=38 ttl=128 time=0.799 ms
    64 bytes from 192.168.1.4: seq=39 ttl=128 time=1001.153 ms
    64 bytes from 192.168.1.4: seq=40 ttl=128 time=1.044 ms
    64 bytes from 192.168.1.4: seq=41 ttl=128 time=1001.076 ms
    64 bytes from 192.168.1.4: seq=42 ttl=128 time=0.964 ms
    64 bytes from 192.168.1.4: seq=43 ttl=128 time=0.823 ms
    64 bytes from 192.168.1.4: seq=44 ttl=128 time=0.934 ms
    64 bytes from 192.168.1.4: seq=45 ttl=128 time=0.931 ms
    64 bytes from 192.168.1.4: seq=46 ttl=128 time=1001.229 ms
    64 bytes from 192.168.1.4: seq=47 ttl=128 time=1.111 ms
    64 bytes from 192.168.1.4: seq=48 ttl=128 time=0.826 ms
    64 bytes from 192.168.1.4: seq=49 ttl=128 time=0.899 ms
    64 bytes from 192.168.1.4: seq=50 ttl=128 time=0.892 ms
    64 bytes from 192.168.1.4: seq=51 ttl=128 time=0.874 ms
    64 bytes from 192.168.1.4: seq=52 ttl=128 time=1001.138 ms
    64 bytes from 192.168.1.4: seq=53 ttl=128 time=1.023 ms
    64 bytes from 192.168.1.4: seq=54 ttl=128 time=0.813 ms
    64 bytes from 192.168.1.4: seq=55 ttl=128 time=0.935 ms
    64 bytes from 192.168.1.4: seq=56 ttl=128 time=0.928 ms
    64 bytes from 192.168.1.4: seq=57 ttl=128 time=0.993 ms
    64 bytes from 192.168.1.4: seq=58 ttl=128 time=1001.127 ms
    64 bytes from 192.168.1.4: seq=59 ttl=128 time=1.034 ms
    64 bytes from 192.168.1.4: seq=60 ttl=128 time=0.806 ms
    64 bytes from 192.168.1.4: seq=61 ttl=128 time=0.910 ms
    64 bytes from 192.168.1.4: seq=62 ttl=128 time=43.803 ms
    64 bytes from 192.168.1.4: seq=63 ttl=128 time=1001.199 ms
    64 bytes from 192.168.1.4: seq=64 ttl=128 time=1.068 ms
    64 bytes from 192.168.1.4: seq=65 ttl=128 time=0.788 ms
    64 bytes from 192.168.1.4: seq=66 ttl=128 time=1001.211 ms
    64 bytes from 192.168.1.4: seq=67 ttl=128 time=1.093 ms
    64 bytes from 192.168.1.4: seq=68 ttl=128 time=1001.104 ms
    64 bytes from 192.168.1.4: seq=69 ttl=128 time=0.979 ms
    64 bytes from 192.168.1.4: seq=70 ttl=128 time=1001.087 ms
    64 bytes from 192.168.1.4: seq=71 ttl=128 time=0.977 ms