TalalMash / Unofficial-Speedify-Installer-For-OpenWrt

Easily install & configure Speedify on OpenWrt using a web browser.
24 stars 3 forks source link

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

Open onnimonni opened 9 months ago

onnimonni commented 9 months ago

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

So as you remember from the issue I opened here: https://github.com/SmoothWAN/SmoothWAN/issues/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 commented 9 months ago

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 commented 9 months ago

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 commented 9 months ago

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

onnimonni commented 9 months ago

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 commented 8 months ago

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 commented 8 months ago

Before I was able to follow your instructions I needed to do this:

gl-inet-installation-guide
TalalMash commented 8 months ago

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.

spacesuitdiver commented 2 days ago

@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 commented 2 days ago

@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.