Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

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

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

onnimonni opened this issue Jan 7, 2024 · 7 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

It works perfectly with GL-X3000 🥳

  1. I lowered 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants