Hey!
GL.iNet just released a new model, the "GL-X3000/ Spitz AX". Specs are as per the below:
* SoC – MediaTek MT7981A (Filogic 820) dual-core Arm Cortex-A53 processor @ 1.3 GHz
* System Memory – 512 MB DDR4
* Storage – 8GB eMMC flash, MicroSD card slot up 1+ TB
* Networking
* 1x 2.5GbE WAN Ethernet port
* 1x Gigabit Ethernet LAN port
* Dual-band IEEE 802.11a/b/g/n/ac/ax WiFi 6 up to 574Mbps (2.4GHz), 2402Mbps (5GHz)
* RM520N-GL 5G cellular modem and 2x Nano SIM card slots with support for failover & load balancing
* 5G NR
* NSA – n1/ 2/ 3/ 5/ 7/ 8/ 12/ 13/ 14/ 18/ 20/ 25/ 26/ 28/ 29/ 30/ 38/ 40/ 41/ 48/ 66/ 70/ 71/ 75/ 76/ 77/ 78/ 79
* SA – n1/ 2/ 3/ 5/ 7/ 8/ 12/ 13/ 14/ 18/ 20/ 25/ 26/ 28/ 29/ 30/ 38/ 40/ 41/ 48/ 66/ 70/ 71/ 75/ 76/ 77/ 78/ 79
* LTE
* LTE-FDD – B1/ 2/ 3/ 4/ 5/ 7/ 8/ 12/ 13/ 14/ 17/ 18/ 19/ 20/ 25/ 26/ 28/ 29/ 30/ 32/ 66/ 71
* LTE-TDD – B34/ 38/ 39/ 40/ 41/ 42/ 43/ 48
* LAA – B46
* UMTS – WCDMA: B1/ 2/ 3/ 5/ 8/ 19
* GNSS – GPS, GLONASS, BDS, Galileo, QZSS
* 6x antennas: 4x for 4G LTE/5G NR, 2x for Wi-Fi
* USB – 1x USB 2.0 host port
* Misc – 1x Reset button, LEDs for system status, 5GHz and 2.4GHz WiFi, Internet, and cellular signal strength
* Power Input – 12V DC (default adapter) / 24V
* Power Consumption – <= 14W
* Temperature Range – Operating: 0 to 40°C, storage: -20 ~ 70°C
* Dimensions – 155 x 95 x 36mm
* Weight – 520grams (with antennas)
Source: https://www.gl-inet.com/products/gl-x3000/ + https://www.cnx-software.com/2023/05/04/gl-inet-spitz-ax-gl-x3000nr-5g-nr-wifi-6-router-review-part-1-specs-unboxing-and-first-boot/
Review, incl. teardown and technical specs:
- GL.iNet Spitz AX (GL-X3000NR) 5G NR WiFi 6 router review – Part 1: Specs, unboxing, and first boot -> https://www.cnx-software.com/2023/05/04/gl-inet-spitz-ax-gl-x3000nr-5g-nr-wifi-6-router-review-part-1-specs-unboxing-and-first-boot/
- GL.iNet Spitz AX review – Part 2: a router with 5G NR, WiFi 6, 2.5GbE, failover and load balancing ->
https://www.cnx-software.com/2023/05/14/gl-inet-spitz-ax-review-a-router-with-5g-nr-wifi-6-2-5gbe-failover-and-load-balancing/
MediaTek MT7981 related commits:
- add support for MT7981 -> https://github.com/openwrt/mt76/pull/771
- wifi: mt76: mt7915: add support for MT7981 -> https://github.com/openwrt/mt76/commit/969b7b5ebd129068ca56e4b0d831593a2f92382f
- linux-firmware: add firmware for MT7981 -> https://github.com/openwrt/mt76/commit/cddbd796bbc649debe457f7b34b200bbda4fcc53
- mediatek: add support for Cudy WR3000 v1 -> https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=c9cb6411c1a70516d5922e88c45b338de041baba
- mediatek: add support for the GL.iNet GL-MT3000 -> https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=7cbe34170e3d8471c1ebacde33a2372c92433be4
- 7 code results in "gl-inet/gl-infra-builder" -> https://github.com/gl-inet/gl-infra-builder
Is anyone up for developing a build for this device, given the available code that is utilized for various other devices with similar specs?
try booting the MT3000 initramfs, see what works, and what doesn't
https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/
1 Like
I do not yet have the device in my hands, otherwise would have otherwise tried already...
For the sake of know-how transfer, this was already tried, yet failed:
Details: https://forum.gl-inet.com/t/gl-x3000-stock-openwrt-om-microsd-card-as-an-emergency-boot-device/30015
In brief, according to Gl.Inet staff, the MT3000 device used a NAND image. The X3000 uses an EMMC image.
Not what you were told to do, but OK...
I very sadly cannot yet try your proposal, as the hardware was not yet shipped
In case someone else has the device already on hand, could someone try the aforementioned? Or are there any Gl.inet-staff here available?
JayBG
July 3, 2023, 3:26pm
8
Trying to boot the initramfs GL-MT3000 image resulted in the following. I'm pretty sure I did something wrong, but I am new to this...
U-Boot 2022.07-rc3 (Mar 09 2023 - 16:20:34 +0800)
CPU: MediaTek MT7981
Model: mt7981-rfb
DRAM: 512 MiB
Core: 49 devices, 20 uclasses, devicetree: embed
MMC: mmc@11230000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment
In: serial@11002000
Out: serial@11002000
Err: serial@11002000
Net:
Warning: ethernet@15100000 (eth0) using random MAC address - 3a:ec:37:3f:bc:79
eth0: ethernet@15100000
gpio: pin 10 (gpio 10) value is 0
gpio: pin 11 (gpio 11) value is 0
gpio: pin 9 (gpio 9) value is 1
gpio: pin 11 (gpio 11) value is 1
Enter "gl" to stop autoboot in 2 seconds
MT7981>
MT7981> tftpboot openwrt-mediatek-filogic-glinet_gl-mt3000-initramfs-kernel.bin
Using ethernet@15100000 device
TFTP from server 192.168.1.2; our IP address is 192.168.1.1
Filename 'openwrt-mediatek-filogic-glinet_gl-mt3000-initramfs-kernel.bin'.
Load address: 0x46000000
Loading: T #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
######T ###########################################################
#######
6.5 MiB/s
done
Bytes transferred = 7730860 (75f6ac hex)
MT7981> bootm
## Loading kernel from FIT Image at 46000000 ...
Using 'config-1' configuration
Trying 'kernel-1' kernel subimage
Description: ARM64 OpenWrt Linux-5.15.119
Type: Kernel Image
Compression: lzma compressed
Data Start: 0x460000ec
Data Size: 3863832 Bytes = 3.7 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x48000000
Entry Point: 0x48000000
Hash algo: crc32
Hash value: 225e258c
Hash algo: sha1
Hash value: 0b42f90009b14970f109320d7603a1624ec07ac6
Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading ramdisk from FIT Image at 46000000 ...
Using 'config-1' configuration
Trying 'initrd-1' ramdisk subimage
Description: ARM64 OpenWrt glinet_gl-mt3000 initrd
Type: RAMDisk Image
Compression: Unknown Compression
Data Start: 0x463af740
Data Size: 3843504 Bytes = 3.7 MiB
Architecture: AArch64
OS: Linux
Load Address: unavailable
Entry Point: unavailable
Hash algo: crc32
Hash value: ad936ac9
Hash algo: sha1
Hash value: 06e155f9e28693c4ec096b1de76efba825828216
Verifying Hash Integrity ... crc32+ sha1+ OK
WARNING: 'compression' nodes for ramdisks are deprecated, please fix your .its file!
## Loading fdt from FIT Image at 46000000 ...
Using 'config-1' configuration
Trying 'fdt-1' fdt subimage
Description: ARM64 OpenWrt glinet_gl-mt3000 device tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x46759dfc
Data Size: 21365 Bytes = 20.9 KiB
Architecture: AArch64
Hash algo: crc32
Hash value: 6105e8ce
Hash algo: sha1
Hash value: d8521e392d4e8e63c0cd40443caa8b0824752433
Verifying Hash Integrity ... crc32+ sha1+ OK
Booting using the fdt blob at 0x46759dfc
Uncompressing Kernel Image
Loading Ramdisk to 5f451000, end 5f7fb5b0 ... OK
ERROR: Failed to allocate 0x8375 bytes below 0x60000000.
device tree - allocation error
FDT creation failed!
resetting ...
JayBG
July 8, 2023, 11:08pm
9
After some more tinkering with the image I managed to make it boot (by disabling the separate ramdisk image option for the ramdisk image).
Most things seem to work at fist glance except the WIFI:
[ 8.096828] mt798x-wmac 18000000.wifi: HW/SW Version: 0x8a108a10, Build Time: 20221208201745a
[ 8.096828]
[ 8.112823] mt798x-wmac 18000000.wifi: WM Firmware Version: ____000000, Build Time: 20221208201806
[ 8.152874] mt798x-wmac 18000000.wifi: WA Firmware Version: DEV_000000, Build Time: 20221208202048
[ 8.245324] mt798x-wmac 18000000.wifi: eeprom load fail, use default bin
[ 8.252083] mt798x-wmac 18000000.wifi: Direct firmware load for mediatek/mt7981_eeprom_mt7976_dbdc.bin failed with error -2
[ 8.263215] mt798x-wmac 18000000.wifi: Falling back to sysfs fallback for: mediatek/mt7981_eeprom_mt7976_dbdc.bin
[ 8.295557] mt798x-wmac: probe of 18000000.wifi failed with error -12
[ 8.324701] PPP generic driver version 2.4.2
1 Like
JayBG
July 17, 2023, 10:31am
12
5g works fine after being switched to USB mode. I haven't tried it in PCIe mode, but my guess is it will work as well.
JayBG
July 17, 2023, 5:05pm
13
I'm unsure if it's a lack of drivers, since it apparently detects what the WIFI is, but can't load.
Here is the full boot log and hwinfo.
Your issue is that the kernel module doesn’t know where to find the firmware for the wifi device and probably the calibration data as well.
You need to set this up in your dts
JayBG
July 18, 2023, 1:17pm
15
I see.
Well, I guess I would say that the GL-MT3000 works as a whole on GL-X3000 excluding the issue with wifi firmware and of course not being able to flash it since the 2 routers use different flash (NAND in MT3000 and eMMC in X3000)
I would be happy to help with building an image for this, but unfortunately, I've never done this before, so would appreciate any help doing that.
JayBG
August 2, 2023, 6:13pm
16
And the storage:
root@OpenWrt:/# lsblk /dev/mmcblk0 /dev/mtdblock* -o SIZE,FSTYPE,NAME,PARTLABEL
SIZE FSTYPE NAME PARTLABEL
2M mtdblock0
2M mtdblock1
7.3G mmcblk0
2M ├─mmcblk0p1 log
512K ├─mmcblk0p2 u-boot-env
2M ├─mmcblk0p3 factory
2M ├─mmcblk0p4 fip
2M ├─mmcblk0p5 cfg
32M ├─mmcblk0p6 kernel
7.2G squashfs ├─mmcblk0p7 rootfs
7.2G f2fs └─mmcblk0p8
Hi @JayBG ,
I'm also trying to check how OpenWrt could be ported to this device, and I noticed in your logs that you were able to access U-Boot: how did you do that?
I soldered cables on the UART pads on my device, but I'm not able to see any signal or logs, while my setup works correctly on other GL.iNet devices
JayBG
August 7, 2023, 3:45pm
18
Hello @dohseven ,
Unfortunately, I am not at home, so I could not supply photos, but there is nothing special I did about the serial connection. I soldered 4 pins to the pads and connected the RX, TX and ground to the pins.
That's it...
Thanks for your answer.
I had the same experience with the other GL.iNet products I used, where accessing UART was very straightforward, but no luck with this one. I'm wondering if GL.iNet didn't add some kind of protection to disable the UART port in a recent hardware version.
logi
September 26, 2023, 7:34pm
20
Any progress porting the GL-X3000 to native openWRT?
1 Like
+1
Also I will contribute a bounty reward/sum of money to whomever or the team of developers that bring 23.04+ support to this device! Remote serial console and power cycle access can be arranged... Get in touch if interested! ($xxx)
1 Like