Adding support for Zyxel lte 3301 q222

would it be possible to add support for it? i think that the kernel should support most of the parts that it uses. just dont really know how to make those openwrt specific config files that are needed to build the rom. dmesg output of it is here if it helps..

# dmesg
Linux version 2.6.36 (rainer@SI-RD2) (gcc version 4.3.5 (Buildroot 2011.05) ) #1 PREEMPT Fri Jul 7 11:56:50 CST 2017
CMD_LINE:console=ttyS1,57600n8 root=/dev/mtdblock3

 The CPU feqenuce set to 580 MHz
 PCIE: bypass PCIe DLL.
 PCIE: Elastic buffer control: Addr:0x68 -> 0xB4
 disable all power about PCIe
 PCIE: PLL power down for MT7620N
CPU revision is: 00019650 (MIPS 24Kc)
Determined physical RAM map:
 memory: 04000000 @ 00000000 (usable)
Zone PFN ranges:
  Normal   0x00000000 -> 0x00004000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00004000
On node 0 totalpages: 16384
free_area_init_node: node 0, pgdat 803b0d30, node_mem_map 81000000
  Normal zone: 128 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 16256 pages, LIFO batch:3
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: console=ttyS1,57600n8 root=/dev/mtdblock3
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
Writing ErrCtl register=0001e78e
Readback ErrCtl register=0001e78e
Memory: 60868k/65536k available (3096k kernel code, 4668k reserved, 684k data, 172k init, 0k highmem)
Hierarchical RCU implementation.
        Verbose stalled-CPUs detection is disabled.
NR_IRQS:128
Console: colour dummy device 80x25
console [ttyS1] enabled
Calibrating delay loop... 386.04 BogoMIPS (lpj=772096)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16
bio: create slab <bio-0> at 0
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource MIPS
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RT3xxx EHCI/OHCI init.
squashfs: version 4.0 (2009/01/31) Phillip Lougher
msgmni has been set to 118
io scheduler noop registered (default)
HDLC line discipline maxframe=4096
N_HDLC line discipline registered.
Ralink gpio driver initialized
Enable Ralink GDMA Controller Module 
GDMA IP Version=3
======================================
   SPI driver, modified by Jason
======================================
---
0x60: 0x000080dd
-----
spidrv_major = 217
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x10000500 (irq = 37) is a 16550A
serial8250: ttyS1 at MMIO 0x10000c00 (irq = 12) is a 16550A
brd: module loaded
deice id : c2 20 18 c2 20 (2018c220)
MX25L12805D(c2 2018c220) (16384 Kbytes)
mtd .name = raspi, .size = 0x01000000 (0M) .erasesize = 0x00000010 (0K) .numeraseregions = 65536
Creating 7 MTD partitions on "raspi":
0x000000000000-0x000001000000 : "Whole"
0x000000000000-0x000000010000 : "Bootloader"
0x000000010000-0x000000150000 : "Kernel"
0x000000180000-0x000000e90000 : "RootFS"
0x000000e90000-0x000000f10000 : "Storage"
0x000000f10010-0x000000ff0000 : "UI"
mtd: partition "UI" doesn't start on an erase block boundary -- force read-only
0x000000ff0000-0x000001000000 : "Config"
rdm_major = 253
SMACCR1 -- : 0x0000000c
SMACCR0 -- : 0x432880e1
Ralink APSoC Ethernet Driver Initilization. v3.0  256 rx/tx descriptors allocated, mtu = 1500!
NAPI enable, Tx Ring = 256, Rx Ring = 256
SMACCR1 -- : 0x0000000c
SMACCR0 -- : 0x432880e4
PROC INIT OK!
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
NET: Registered protocol family 24
PPTP driver version 0.8.5
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
rt3xxx-ehci rt3xxx-ehci: Ralink EHCI Host Controller
rt3xxx-ehci rt3xxx-ehci: new USB bus registered, assigned bus number 1
rt3xxx-ehci rt3xxx-ehci: irq 18, io mem 0x101c0000
rt3xxx-ehci rt3xxx-ehci: USB 0.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
rt3xxx-ohci rt3xxx-ohci: RT3xxx OHCI Controller
rt3xxx-ohci rt3xxx-ohci: new USB bus registered, assigned bus number 2
rt3xxx-ohci rt3xxx-ohci: irq 18, io mem 0x101c1000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
u32 classifier
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (951 buckets, 3804 max)
xt_time: kernel timezone is -0000
IPv4 over IPv4 tunneling driver
GRE over IPv4 demultiplexor driver
GRE over IPv4 tunneling driver
ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted Cone
/proc/Alert created
TCP cubic registered
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
L2TP core driver, V2.0
PPPoL2TP kernel driver, V2.0
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
Freeing unused kernel memory: 172k freed
Raeth v3.0 (NAPI
,SkbRecycle)

phy_tx_ring = 0x03fd0000, tx_ring = 0xa3fd0000

phy_rx_ring0 = 0x03fd1000, rx_ring0 = 0xa3fd1000
SMACCR1 -- : 0x0000000c
SMACCR0 -- : 0x432880e4
ESW: Link Status Changed - Port3 Link UP
CDMA_CSG_CFG = 81000000
GDMA1_FWD_CFG = 20710000
addrconf_dad_completed 7
switch register base addr to system register 0xb0000000
write offset 0x60, value 0x5080dd
device eth2 entered promiscuous mode
device eth2.1 entered promiscuous mode
br0: port 1(eth2.1) entering forwarding state
br0: port 1(eth2.1) entering forwarding state
phy 0, reg 0, val 0x800
phy 1, reg 0, val 0x800
phy 2, reg 0, val 0x800
phy 3, reg 0, val 0x800
ESW: Link Status Changed - Port3 Link Down
phy 4, reg 0, val 0x800
phy 5, reg 0, val 0x800
addrconf_dad_completed 7
phy 0, reg 0, val 0x3300
addrconf_dad_completed 7
phy 1, reg 0, val 0x3300
phy 2, reg 0, val 0x3300
phy 3, reg 0, val 0x3300
phy 4, reg 0, val 0x3300
phy 5, reg 0, val 0x3300
ESW: Link Status Changed - Port3 Link UP
ip6_tables: (C) 2000-2006 Netfilter Core Team
eth2: no IPv6 routers present
br0: no IPv6 routers present
eth2.1: no IPv6 routers present
Ralink APSoC Hardware Watchdog Timer
Started WatchDog Timer.
Started WatchDog Timer. LoadVlaue: 36600 sysclk: 145000000 TIMEOUT: 60
rt2860v2_ap: module license 'unspecified' taints kernel.
Disabling lock debugging due to kernel taint
Length of MAC:6
 mac::
----


=== pAd = c09f0000, size = 1038384 ===

 RTMPAllocTxRxRingMemory, Status=0
 RTMPAllocAdapterBlock, Status=0
AP Driver version-2.7.1.6
usb 1-1: new high speed USB device using rt3xxx-ehci and address 2
usbcore: registered new interface driver cdc_wdm
qmi_wwan 1-1:1.3: (unregistered net_device): usbnet_write_cmd cmd=0x22 reqtype=21 value=0x0001 index=0x0003 size=0
Queue of usbnet RX [1514][60] TX[1514][60]
qmi_wwan 1-1:1.3: usbnet0: register 'qmi_wwan' at usb-rt3xxx-1, WWAN/QMI device,
qmi_wwan 1-1:1.4: (unregistered net_device): usbnet_write_cmd cmd=0x22 reqtype=21 value=0x0001 index=0x0004 size=0
Queue of usbnet RX [1514][60] TX[1514][60]
qmi_wwan 1-1:1.4: usbnet1: register 'qmi_wwan' at usb-rt3xxx-1, WWAN/QMI device,
qmi_wwan 1-1:1.5: (unregistered net_device): usbnet_write_cmd cmd=0x22 reqtype=21 value=0x0001 index=0x0005 size=0
Queue of usbnet RX [1514][60] TX[1514][60]
qmi_wwan 1-1:1.5: usbnet2: register 'qmi_wwan' at usb-rt3xxx-1, WWAN/QMI device, 
usbcore: registered new interface driver qmi_wwan
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for GSM modem (1-port)
option 1-1:1.0: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
option 1-1:1.2: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
Algorithmics/MIPS FPU Emulator v1.5
Queue of usbnet RX [1514][60] TX[1514][60]
qmi_wwan 1-1:1.3: usbnet0: rxqlen 0 --> 10
qmi_wwan 1-1:1.3: usbnet0: rxqlen 10 --> 20
qmi_wwan 1-1:1.3: usbnet0: rxqlen 20 --> 30
qmi_wwan 1-1:1.3: usbnet0: rxqlen 30 --> 40
qmi_wwan 1-1:1.3: usbnet0: rxqlen 40 --> 50
qmi_wwan 1-1:1.3: usbnet0: rxqlen 50 --> 60
addrconf_dad_completed 7
SPAP: Module loaded.
phy 0, reg 0, val 0x800
phy 1, reg 0, val 0x800
phy 2, reg 0, val 0x800
phy 3, reg 0, val 0x800
ESW: Link Status Changed - Port3 Link Down
phy 0, reg 0, val 0x3300
phy 1, reg 0, val 0x3300
phy 2, reg 0, val 0x3300
phy 3, reg 0, val 0x3300
device br0 entered promiscuous mode
ESW: Link Status Changed - Port3 Link UP
phy 0, reg 0, val 0x800
phy 1, reg 0, val 0x800
phy 2, reg 0, val 0x800
phy 3, reg 0, val 0x800
ESW: Link Status Changed - Port3 Link Down
phy 0, reg 0, val 0x3300
phy 1, reg 0, val 0x3300
phy 2, reg 0, val 0x3300
phy 3, reg 0, val 0x3300
ESW: Link Status Changed - Port3 Link UP
Queue of usbnet RX [1514][60] TX[1514][60]
qmi_wwan 1-1:1.3: usbnet0: rxqlen 0 --> 10
qmi_wwan 1-1:1.3: usbnet0: rxqlen 10 --> 20
qmi_wwan 1-1:1.3: usbnet0: rxqlen 20 --> 30
qmi_wwan 1-1:1.3: usbnet0: rxqlen 30 --> 40
qmi_wwan 1-1:1.3: usbnet0: rxqlen 40 --> 50
qmi_wwan 1-1:1.3: usbnet0: rxqlen 50 --> 60
addrconf_dad_completed 7
SPAP: Module unloaded.
SPAP: Module loaded.
phy 0, reg 0, val 0x800
phy 1, reg 0, val 0x800
phy 2, reg 0, val 0x800
phy 3, reg 0, val 0x800
ESW: Link Status Changed - Port3 Link Down
phy 0, reg 0, val 0x3300
phy 1, reg 0, val 0x3300
phy 2, reg 0, val 0x3300
phy 3, reg 0, val 0x3300
ESW: Link Status Changed - Port3 Link UP

It looks like it's an MT7620 SoC, so should be possible yes. Already quite a few devices with that SoC that have OpenWrt support.

1 Like

whats the format that is used for the partition numbers in the openwrt build files? all the supported devices have some short id but that dmesg output has a long number.

Hex preferred -- It's compiled from the DTS into a DTB and then used by the MTD drivers. How it is printed is purely a function of the code that accesses the data from the running system.

Joining here to kindly ask the developers to look into the possibility of creating builds for Q222 as well as M209 models of the LTE3301. It's impossible to underestimate VPN/IPSec possibility for the LTE router dealing mainly with private IPs...

1 Like