Skip to content
This repository has been archived by the owner on Oct 9, 2024. It is now read-only.

How to check my router's CPU architecture? #2

Open
onnimonni opened this issue Jan 7, 2024 · 9 comments
Open

How to check my router's CPU architecture? #2

onnimonni opened this issue Jan 7, 2024 · 9 comments

Comments

@onnimonni
Copy link
Contributor

I checked the requirements and was wondering if my hardware will be supported.

So as you remember from the issue I opened here: SmoothWAN/SmoothWAN#179 I'm looking into 4G/5G enabled routers.

GL-X3000 is using MediaTek Dual-core MT7981A SOC with more info in: https://www.mediatek.com/products/home-networking/mt7621

The CPU is MIPS1004Kc with more info in: https://wikidevi.wi-cat.ru/MIPS32

The 1004Kf version includes an IEEE754 compliant Floating Point Unit, supporting
both single and double precision datatypes.

From this I understand that the c variant doesn't support floating point 😢

I assume that hard float in the README.md means hardware supported floating point calculation.

Is this thinking decision correct? How can I check if hard float is supported or not?

I understood from stackexchange that I could check this by:

$ dpkg --print-architecture

But this is hard to do before ordering the device.

@onnimonni
Copy link
Contributor Author

And my friend just mentioned to me that this is MIPS processor and not ARM 🤦.

So support will definitely not be there 😄.

Sorry for the noice!

@TalalMash
Copy link
Owner

It should work out of the box, unlike Slate AX / Flint it seems to be running at 64 bit:
You can test the latest firmware with binary magic test of any executable to be sure:
image

Your link points to a different SoC which is MIPS.

@onnimonni
Copy link
Contributor Author

You're correct and I wonder how did I end up posting the wrong link there. Thanks for the help 🙇

@onnimonni
Copy link
Contributor Author

onnimonni commented Jan 7, 2024

And thanks for teaching me about this 💪.

If someone else finds this issue from Google later on here's what you need to run in your terminal to check the same result.

# Download the update file for GL-X3000. I copied the url using my browser "copy link" button
$ curl -O https://fw.gl-inet.com/firmware/x3000/release/openwrt-x3000-4.0-0404release1-1214-1702544890.bin

# Check the file type of downloaded file
$ file openwrt-x3000-4.0-0404release1-1214-1702544890.bin
openwrt-x3000-4.0-0404release1-1214-1702544890.bin: POSIX tar archive (GNU)

# Extract the downloaded tar file
$ tar -xvf openwrt-x3000-4.0-0404release1-1214-1702544890.bin

# Check the included files
$ tree .
.
├── openwrt-x3000-4.0-0404release1-1214-1702544890.bin
└── sysupgrade-glinet_gl-x3000
    ├── CONTROL
    ├── kernel
    └── root

2 directories, 4 files

# Check the file type of root
$ file sysupgrade-glinet_gl-x3000/root
sysupgrade-glinet_gl-x3000/root: Squashfs filesystem, little endian, version 4.0, xz compressed, 58793625 bytes, 6776 inodes, blocksize: 262144 bytes, created: Thu Dec 14 08:25:22 2023

# Realize that I can't extract squashfs because I don't have unsquashfs installed for my MacOS
$ brew install squashfs

# Extract the squashfs root into root-squashfs
$ unsquashfs -f -d root-squashfs sysupgrade-glinet_gl-x3000/root

# Check the ubus binary and realize it's ARM 64 bit
$ file root-squashfs/bin/ubus
root-squashfs/bin/ubus: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-aarch64.so.1, no section header

@onnimonni
Copy link
Contributor Author

onnimonni commented Jan 13, 2024

It works perfectly with GL-X3000 🥳

  1. I modified all gateway metric values from 0 to something higher.
  2. I downloaded the package from your releases.
  3. Followed the install instructions and installed Speedify
  4. Logged in to Speedify
  5. Restarted the device

I can now bond my bad VSDL and 4G directly in the router.

I'm very pleased with the results 💪

image

@onnimonni
Copy link
Contributor Author

Before I was able to follow your instructions I needed to do this:
gl-inet-installation-guide

@TalalMash
Copy link
Owner

That's great to hear! Thanks for sharing.
Added to the list.

Renaming and reopening this issue for others to check if their router is supported.

@TalalMash TalalMash reopened this Jan 13, 2024
@TalalMash TalalMash changed the title How to check if 32 bit CPU has hard float support? How to check my router's CPU architecture? Jan 13, 2024
@TalalMash TalalMash pinned this issue Jan 13, 2024
Repository owner deleted a comment from martinthiele Jun 26, 2024
@spacesuitdiver
Copy link

@onnimonni what setup are you using? I'm trying to use GLi.Net's official OpenWRT but so far I've only got it to connect when using Tethering. It seems like with the internal 5G modem it doesn't pick up the device.

@onnimonni
Copy link
Contributor Author

@onnimonni what setup are you using?

This is somewhat vague question but i'll try to answer. I haven't used this for a while so I can't confirm if it works with latest firmware. You can see from the screenshots above that I was using v4.0.

When testing this I was using the stock antennas on GL-X3000. It was connected to a local VSDL through wifi using the Repeater mode and I had also installed a separate 5G sim card into the router and plugged my iPhone 12 Pro with usb cable to use tethering.

The most important thing to notice for me was this part above:

I modified all gateway metric values from 0 to something higher.

Watch the included video in the project README for how to do that inside the openwrt dashboard.

If you read the README it seems that Speedify is now supporting openwrt devices directly. If I were you I would probably try that instead.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants