Spitz Firmware 4.2 (snapshot) "bug"

I got a spitz now, I can test this issue and forward to team.

Great! Thanks for your attention!
I will happily test any build that is put up.

FYI I have 2 Spitz devices running the latest OpenWRT 22.03.5 (stock OpenWRT, not GL-inet snapshot). The two devices have exactly the same configuration except for IP address; they are configured by scripts. The interface is defined as

config interface 'modem_1_1_2'
        option ifname 'wwan0'
        option service 'umts'
        option apn 'we01.vzwstatic'
        option proto 'qmi'
        option device '/dev/cdc-wdm0'
        option node '1-1.2:1.4'
        option auth 'NONE'
        option mtu '1428'
        option metric '40'
        option disabled '0'
        option peerdns '0'

One device works great but the other one has logs filled with:

Wed May 17 01:02:33 2023 daemon.notice netifd: Interface 'modem_1_1_2' is setting up now
Wed May 17 01:02:33 2023 daemon.notice netifd: modem_1_1_2 (4434): Setting MTU to 1428
Wed May 17 01:02:33 2023 daemon.notice netifd: modem_1_1_2 (4434): Waiting for SIM initialization
Wed May 17 01:02:34 2023 daemon.notice netifd: modem_1_1_2 (4434): Failed to parse message data
Wed May 17 01:02:34 2023 daemon.notice netifd: modem_1_1_2 (4434): PIN verification is disabled
Wed May 17 01:02:34 2023 daemon.notice netifd: modem_1_1_2 (4434): Device does not support 802.3 mode. Informing driver of raw-ip only for wwan0 ..
Wed May 17 01:02:34 2023 daemon.notice netifd: modem_1_1_2 (4434): Waiting for network registration
Wed May 17 01:02:35 2023 daemon.notice netifd: modem_1_1_2 (4434): Starting network modem_1_1_2
Wed May 17 01:02:36 2023 daemon.notice netifd: modem_1_1_2 (4434): Unable to connect IPv4
Wed May 17 01:02:36 2023 daemon.notice netifd: modem_1_1_2 (4568): Stopping network modem_1_1_2
Wed May 17 01:02:36 2023 daemon.notice netifd: modem_1_1_2 (4568): Command failed: ubus call network.interface notify_proto { "action": 0, "link-up": false, "keep": false, "interface": "modem_1_1_2" } (Permission denied)
Wed May 17 01:02:36 2023 daemon.notice netifd: Interface 'modem_1_1_2' is now down
Wed May 17 01:02:36 2023 daemon.notice netifd: Interface 'modem_1_1_2' is setting up now

and that repeats over and over.

Wonder if it’s related. I understand you may not support stock OpenWRT but it may help debugging.

2 Likes

One more thing to check is the modem firmware version.
You can use this AT command to check modem firmware

AT+QGMR

I don’t think iti’s a firmware problem (at least not for me) as Build 4.2.0 0212 works fine whereas later builds do not. Clearly, the connection manager or related was tweaked somehow.
Anyway, here is my firmware: EP06ELAR03A08M4G

Not sure it matters but I do have newer firmware, in case you want to try. I can send you guide.

Yes please, worth a try!

Me too, please and thank you. Both the non-working modem (which did work under stock GL-inet 19 most recent stable version) and the working modem have firmware

at+qgmr
EC25AFFAR07A08M4G_01.001.01.001

Well, here’s an odd one. I had swapped the SIMs to make sure the problem wasn’t the SIM. But now I swapped them back and… they are both working.

I would chalk this up to “SIM was incorrectly seated all along,” except that it had been working before the OpenWRT 22 upgrade and we hadn’t changed how it was seated. I guess things can move. Anyway, both of those Spitz are now working, as well as another Spitz on OpenWRT 22.03.

Nice work you guys.

can you also sent to me? I have both on old version.
EC25AFFAR07A08M4G
EP06ALAR02A07M4G

I will send later. Pls push if you don’t get on Monday.

1 Like

@dulitz

I am planning to flash my Spitz with stock openwrt. Can you please test the internet speed and resources utilization on the stock openwrt ? And how is it compared to GL’s openwrt?

Any other advantages/disadvantages of using a stock openwrt?

Everything is fine on stock OpenWRT 22.03.5 as far as I can tell. I use extroot with a microSD card, hardwired LAN, hardwired WAN, LTE modem, external serial ports on the USB, and mwan3 with wireguard. All that is performant and reliable once it is set up. The WiFi hotspot works though I haven’t performance-tested it.

I have not tested tethering or LuCI as I don’t use them.

The main reason to use stock OpenWRT is if you don’t want GL-inet’s telemetry or if you want bugfixes. GL-inet adds a number of scripts in their stock firmware that maybe probably make things better for the average user but which are not well documented and impose limitations if you have a nonstandard use case such as multiple wireguard tunnels. Stock firmware avoids all that, for better or worse. Extroot is easier to setup on OpenWRT 22 because it has “parted”. OpenWRT 22 dropbear accepts modern ssh key algorithms such as ed25519. There are other improvements but if you’re just using Spitz as a road warrior it’s not going to change your life.

The upgrade itself is not smooth. Oh, flashing the new firmware is smooth, but the configs need lots of manual tuning.

  1. Your WAN and LAN port will be swapped. Once you’re aware of this it’s easy to deal with but it’s annoying unless you know.

  2. The modem won’t work, at least if you use QMI (I always use QMI so I can’t speak to what happens if you don’t). It will work again after you install some packages, see below.

  3. Your wireguard setup will get nuked and you’ll need to set it up again. You’ll also need to install more packages, see below.

  4. The external USB port will not work. You’ll need to install a script in /etc/init.d, see below.

I installed these packages to get extroot, wireguard, and modem working, in addition to the packages in the default stock install:

opkg install block-mount e2fsprogs lsblk parted usbutils wireguard-tools kmod-fs-ext4 kmod-usb-serial kmod-usb-serial-wwan kmod-usb-serial-option kmod-usb-storage kmod-usb-net kmod-usb-net-qmi-wwan kmod-usb-net-cdc-mbim uqmi mwan3

Not all of those are necessary, but I think they’re all pretty much a good idea.

To turn on the external USB port, put this in /etc/init.d/usbpower and make it executable (mode 0755). This is needed because there’s a bug in the specification for the x750 in stock OpenWRT. Hopefully GL-inet will upstream a fix because it took me a day to diagnose it.

#!/bin/sh /etc/rc.common
# usbpower - turn external USB power on for X750V2

# from https://forum.gl-inet.com/t/usb-port-gl-x750-spitz-does-not-work-on-stock-openwrt-but-works-on-stock-gl-firmware/10556

START=01
USE_PROCD=1

start_service() {
	procd_open_instance
	echo 2 >/sys/class/gpio/export
	echo out >/sys/class/gpio/gpio2/direction
	procd_close_instance
}

Then of course you’ll have to edit your configs to reflect changes between OpenWRT versions, but I’m too lazy to go look to see what I changed. :slight_smile:

Good luck.

Man, you have provided great details as a starting point!

As I am using this router as my main Internet gateway to a few LAN-wired machines and WiFi clients, is there any speed improvement for the 5G? If you can comment on the resources as well because I am saying too much used CPU/MEM on my router, although I have done a lot of security hardening on it!

I believe I need to have the QMI configs and above listed packages ready in advance as I won’t have connection after flashing it. At least, I can then config the modem to connect to the Internet and move the packages using SFTP.

I don’t understand that… do you connect an SD card to the Spitz router to extend its storage?

I have not seen a speed change for the LTE modem. Doesn’t mean there wasn’t one, but I haven’t benchmarked that at all.

I don’t use a stateful firewall, just standard nftables. Which reminds me, OpenWRT 22 is nftables-based so if you have a fancy config you may be spending time to port it over, but on the other hand nftables might provide some performance gain for you. I’ve never had trouble saturating the 100 Mbps WAN hardware port. It’s just not gonna be that fast a router, but for this feature set the price can’t be beat.

Yes, I put a microSD inside (it’s right next to the SIM) to provide lots of extra storage.

What I intended to ask is that did you flash the router with a stock openwrt or you used the sdcard to create additional overlay for the stock firmware (while keeping the GL firmware intact)?

I am preparing requirements to flash… so I just downloaded the right image for this device’s arch: aarch64_cortex-a53. I need though to download the packages you mentioned so I can at least reconnect to the Internet after flashing :slight_smile:

I used sysupgrade. If I kept the existing flash, to transfer control to the new kernel I’d be messing with kexec() and I don’t even know whether Linux kexec() works on MIPS; I know it doesn’t work on ARM. There also might be issues with double-initialization of some devices. Sounded difficult.

I used sysupgrade with this image offered by the OpenWRT firmware selector for X750:

https://downloads.openwrt.org/releases/22.03.5/targets/ath79/generic/openwrt-22.03.5-ath79-generic-glinet_gl-x750-squashfs-sysupgrade.bin

If you’re talking about a different thing than X750 Spitz, then your mileage may definitely vary.

Yes I am using Spitz AX 5G (GL-X3000)…which does not have a support in the openwrt selector? Even the chip mediatek/mt7981 is not listed on their website. Should I take the risk?