i followed update the firmware using the uboot and followed every step.
it says update successful, and restarting.
but my GL-MT3000 stuck. it keeps rebooting and rebooting.
please help
i followed update the firmware using the uboot and followed every step.
it says update successful, and restarting.
but my GL-MT3000 stuck. it keeps rebooting and rebooting.
please help
@redangelz - are you using the official OpenWrt (downloaded from openwrt.org)?
I dont think i have. I tried update the firmware via uBoot (debrick) method. Using official firmware. But still no success.
Then i found this forum. When i browse here, the openwrt file is .bin
While the firmware usually .img
Hence i dont know where and how to upload the .bin file.
i'm stuck at this step. i can't even load the firmware to the router.
it says successful and restarting. but now it stuck on restart process (restart death loop)
I heard from my friend who bought the China version that flashing official OpenWrt on Beryl AX doesn't require any change to the uboot, so the uboot "CN" country setting only affects GL's firmware behavior, using official OpenWrt it will not have any issue (so now I am also waiting for my Beryl AX to come from China after Chinese New Year)
Ok never mind guys. i successfully restore it and it works flawlessly.
Thank youuuuuuuu so much
GL-MT3000
echo "US" |dd of=/dev/mtdblock3 bs=1 seek=136
sync
reboot
this works perfectly
echo "US" | dd of=/dev/mmcblk0p2 conv=notrunc bs=1 seek=136
sync
reboot
Wrote this script to simplify changes:
#!/bin/sh
# Step 1: Warning message
echo "WARNING: This script must run only on Gl.iNet devices. Running it on other devices may cause malfunction or even brick the device."
# Step 2: Confirm device type
read -p "Is this script running on a Gl.iNet device? (y/n): " confirm_device
if [ "$confirm_device"!= "${confirm_device#[Yy]}" ]; then
echo "Proceeding..."
else
echo "Aborting due to incorrect device."
exit 1
fi
# Step 3: Double confirmation
read -p "Are you sure about proceeding? (y/n): " double_confirm
if [ "$double_confirm"!= "${double_confirm#[Yy]}" ]; then
echo "Continuing..."
else
echo "Operation cancelled."
exit 1
fi
# Step 4: Choose method
read -p "Which method would you like to use? (1 (recommended), 2 (AX1800), 3 (GL-MT2500), 4 (GL-MT3000), 5 (DE, NOT RECOMMENDED), 6 (NOT RECOMMENDED)): " method_choice
case $method_choice in
1)
# Method 1 steps
echo "US" > /tmp/country_code
mount --bind /tmp/country_code /proc/gl-hw-info/country_code
cat /proc/gl-hw-info/country_code
echo "WARNING: You must now open the web interface and check if the country code has changed."
read -p "Has the country code changed? (y/n): " country_changed
if [ "$country_changed"!= "${country_changed#[Yy]}" ]; then
echo "Continuing..."
else
echo "Please verify the country code change before proceeding."
exit 1
fi
read -p "Are you sure the country code has changed? (y/n): " sure_country_changed
if [ "$sure_country_changed"!= "${sure_country_changed#[Yy]}" ]; then
sed -i '1iecho US > /tmp/country_code\nmount --bind /tmp/country_code /proc/gl-hw-info/country_code' /etc/rc.local
cat /etc/rc.local
else
echo "Operation cancelled."
exit 1
fi
;;
2)
# Method 2 steps
echo "WARNING: This method is not recommended unless specifically required for AX1800 models."
read -p "Do you want to continue? (y/n): " continue_method_2
if [ "$continue_method_2"!= "${continue_method_2#[Yy]}" ]; then
echo "US" | dd of=/dev/mtdblock8 bs=1 seek=152
sync
else
echo "Method 2 aborted."
exit 1
fi
;;
3)
# Method 3 steps
echo "WARNING: This method is only for GL-MT2500 models."
read -p "Do you want to continue? (y/n): " continue_method_3
if [ "$continue_method_3"!= "${continue_method_3#[Yy]}" ]; then
echo 0 > /sys/block/mmcblk0boot1/force_ro
echo "US" | dd of=/dev/mmcblk0boot1 bs=1 seek=136
sync
else
echo "Method 3 aborted."
exit 1
fi
;;
4)
# Method 4 steps
echo "WARNING: This method is only for GL-MT3000 models."
read -p "Do you want to continue? (y/n): " continue_method_4
if [ "$continue_method_4"!= "${continue_method_4#[Yy]}" ]; then
echo "US" | dd of=/dev/mtdblock3 bs=1 seek=136
sync
else
echo "Method 4 aborted."
exit 1
fi
;;
5)
# Method 5 steps
echo "WARNING: This method sets the DE country code and is NOT RECOMMENDED!"
read -p "Do you want to continue? (y/n): " continue_method_5
if [ "$continue_method_5"!= "${continue_method_5#[Yy]}" ]; then
echo -n "DE" | dd of=/dev/mtdblock3 bs=1 seek=136
sync
else
echo "Method 5 aborted."
exit 1
fi
;;
6)
# Method 6 steps
echo "WARNING: This method is NOT RECOMMENDED."
read -p "Do you want to continue? (y/n): " continue_method_6
if [ "$continue_method_6"!= "${continue_method_6#[Yy]}" ]; then
echo "US" | dd of=/dev/mmcblk0p2 conv=notrunc bs=1 seek=136
sync
else
echo "Method 6 aborted."
exit 1
fi
;;
*)
echo "Invalid choice. Exiting."
exit 1
;;
esac
echo "Script execution completed successfully."
echo "-/-/-/-"
echo "If any malfunctions occur, please refer to the following resources:"
echo "- Firmware downloads: https://dl.gl-inet.com/"
echo "- Model identification guide: https://docs.gl-inet.com/router/en/3/tutorials/how_to_find_model/"
echo "- Uboot debricking manual: https://docs.gl-inet.com/router/en/4/faq/debrick/"
echo "-/-/-/-"
echo "Don't forget to remove this script after operation to save space on router!"
I'm going to order it from aliexpress. How to difference cn version from global version? Different label on package?
Every Beryl I have ordered from AliExpress I've been sent the EU version.
Those shipping internationally should be global version.
BTW, China or global version doesn't matter, you can still flash OpenWrt without issue (I have a CN version, just flash and then done, once in official OpenWrt it just works the same as others)
I got the CN version from someone selling (without me knowing), unfortunately I had already opened and used it, etc. before I realized. I was able to convert it to the Global version by doing this (in order):
echo "US" | dd of=/dev/mmcblk0p2 conv=notrunc bs=1 seek=136
sync
The above worked for me. I think setting the country to US first allows the firmware to be upgraded using the global version. In any case, if it's still showing CN (it didn't for me) after Step 2, simply run Step 1 again. A reboot may also help.
Anyone knows what code to run for GL-MT6000?
This is the files I have.
Thank you.
If you are flashing official OpenWrt, you don't need to care about the CN or global thing, both can flash to official OpenWrt without doing anything, just the same as MT3000.
Yeah... I did flash the official openwrt... But Mullvad doesn't connect in the official openwrt firmware for some reason (I live in china so a lot of things don't make sense when it comes to vpn's). I also have a ax88u pro and mullvad never worked on it). In the CN firmware, I can install wireguard mullvad in the router through the phone app and it works... I just can't see the VPN tab when I login in the browser. I can see it in the phone app jast fine, but nothing on the browser. That's why I would like to change to global to see the VPN tab on the browser.
That means you just want to use the GL's CN firmware, which has nothing to do with official OpenWrt?
I want to use the global GL's firmware, not the CN one. That's why I asked if someone knows the string to change the mt6000 region (such as this one: echo "US" | dd of=/dev/mmcblk0p2 conv=notrunc bs=1 seek=136
sync)
I would recommend opening a new topic, your post has nothing to do with the MT3000 or actual Openwrt.
Mullvad Wireguard works fine on actual Openwrt by the way.
Then this forum isn't really for your purpose since we are not discussing the same firmware.
For GL-MT6000:
echo "US" |dd of=/dev/mmcblk0p2 bs=1 seek=136
sync
reboot