GL.iNet GL-MT300N V2

Under Construction!
This page is currently under construction. You can edit the article to help completing it.

  • Based on the MediaTek MT7628NN
  • 128MB DDR1, 16MB Flash
  • USB 2.0 port
  • Dual Ethernet (WAN/LAN)
  • Button: 1 x switch button, 1 x reset button
  • LED: 3 x LEDS (system power led is not GPIO controller)

Please read the article flash.layout for a better understanding. It contains a couple of explanations. Then let's have a quick view at flash layout of this particular device:

GL.iNet GL-MT300N V2 Flash Layout
Layer0 raw flash, 16386 KiB
Layer1 mtd0
u-boot
192 KiB
mtd1
u-boot-env
64 KiB
mtd2
factory
64 KiB
mtd3
firmware
16064 KiB (= FlashSize-(192+64+64))
Layer2 mtd4
kernel
about 2 MiB
mtd5
rootfs
Layer3 /dev/root
around 3.3 MiB
mtd6
rootfs_data
around 10 MiB

Stock Flash MTD parts dumps available to download for GL-MT300N V2 Download

Install OpenWrt in GL.Inet devices

Note: It can happen that the browser cache does conflict with the new loaded firmware. This can be avoided by browsing to: http://192.168.1.1/index.html?index. By adding ?index it asked the browser not to load from cache.

generic.flashing.tftp

Note: TFTP upgrade requires connecting to the Serial port, and pressing spacebar during boot to access the U-Boot command line.

  • Browse to http://192.168.8.1/cgi-bin/luci/admin/system/flashops
  • Upload image file for sysupgrade to LuCI
  • Wait for reboot

If you don't have a GUI (LuCI) available, you can alternatively upgrade via the command line. There are two command line methods for upgrading:

  • sysupgrade
  • mtd

Note: It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.

sysupgrade

  • Login as root via SSH on 192.168.8.1, then enter the following commands:
cd /tmp
wget http://downloads.openwrt.org/releases/19.07.4/targets/ramips/mt76x8/openwrt-19.07.4-ramips-mt76x8-gl-mt300n-v2-squashfs-sysupgrade.bin
sysupgrade /tmp/openwrt-19.07.4-ramips-mt76x8-gl-mt300n-v2-squashfs-sysupgrade.bin

sysupgrade -n can be used to start fresh in /etc/config/. Otherwise some factory config files will be there. Device will work either way.

mtd

If sysupgrade does not support this router, use mtd.

  • Login as root via SSH on 192.168.8.1, then enter the following commands:
cd /tmp
wget http://downloads.openwrt.org/releases/19.07.4/targets/ramips/mt76x8/openwrt-19.07.4-ramips-mt76x8-gl-mt300n-v2-squashfs-sysupgrade.bin
mtd -r write /tmp/openwrt-19.07.4-ramips-mt76x8-gl-mt300n-v2-squashfs-sysupgrade.bin firmware

generic.debrick

The U-Boot bootloader has a web interface to update the firmware. To use the web interface, you need to connect to the LAN port, and your computer's ethernet port set to 192.168.1.2/24. To start the web interface:

  1. With the router unplugged, press and hold the reset button.
  2. Plug in the router.
  3. Hold the reset button for at least 3 seconds.
  4. Release button, wait a few seconds, and connect to http://192.168.1.1

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

Existing wireless config for MT7628 (factory config) may fail with “Interface not supported”. Mac80211 driver can be used (this is the 2nd example given in stock /etc/config/wireless). Configure and activate with # wifi up. Ref: https://forum.openwrt.org/t/how-to-manually-switch-wifi-driver-on-openwrt/56218

The default OEM network configuration is:

Interface Name Description Default configuration
br-lan LAN & WiFi 192.168.8.1/24
vlan1 (eth0.1) LAN port None
vlan2 (eth0.2) WAN port DHCP
wlan0 WiFi Disabled

Port number 0 is labeled WAN on the unit, port 1 is labeled LAN. Ports 2-5 are not present. Port 6 (CPU) is the internal connection to the router itself. vlan1 = eth0.1, vlan2 = eth0.2 and so on.

Port Switch port
Internet (WAN) 0
LAN 1
   ==== Buttons ====

hardware.button on howto use and configure the hardware button(s). Here, we merely name the buttons, so we can use them in the above Howto.

The GL.iNet GL-MT300N V2 has the following buttons:

BUTTON Event
Reset reset
Switch (left position) BTN_0
Switch (right position, if modded) BTN_1

Front:

Front Back Left Right

Top

Back/Backside label:

Bottom

Each MT300N V2 is assigned a Dynamic DNS address unique to your device.

Use a pry tool in the notch. There are clips all round.

Note the yellow post on the cover that holds the PCB steady. Ensure the cover is replaced with the correct orientation.

PCB front:

PCB Front of the MT300N V2 PCB Back of the MT300N V2

→ One port.serial port (J1) on the MT300N V2 comes with the headers factory fitted.

How to connect to the Serial Port of this specific device:

It can be seen at the left end, farthest from the Ethernet port (grey) and is labelled “GND RX0 TX0”. Headers are missing for further connections “VCC” and “I2C_CLK I2C_SD TX1 RX1”. All PINS besides GND and VCC are also usable via GPIO.

Serial connection parameters
for GL.iNet GL-MT300N V2
115200, 8N1

The MT300N V2 has general purpose GPIO pins broken out. Note the headers at the top of the board. These headers are not factory fitted and will need to be fitted manually.

Label GPIO Note
No label 0 Controls power to the USB A port, export GPIO 0 and set its value 0/1 to control
WPS_PBC 2 Shared with WPS button according to docs, however this button appears not to exist
RST_PBC 1 Shared with Reset Button
3.3VD - 3.3V
LINK4 44 Unused
LINK3 43 Shared with toggle switch on side of device

not available.

The 3 way toggle switch comes from the factory with the right-hand third of the plastic part filled, GLI claims this is to prevent confusion over the 3 way toggle, but to keep the feature available when required, decided not to remove the 3-way switch.

The MT300N V2 implements a GPIO switch driver, using the scripts below, the switch position can be determined from shell script and acted upon.

/etc/rc.button/BTN_0
/etc/rc.button/BTN_1

The switch uses GPIOs 42 and 43 and can be access by exporting them as inputs. The values correspond to the switch positions as follows.

Position GPIO 42 GPIO 43
Left High/1 X
Centre Low/0 Low/0
Right X High/1

Where X indicates a “Don't Care” state.

The scripts receive both a button ID in the form “BTN_X” and an action such as “pressed” or “unpressed”.

Note that to access them as GPIOs (and stop receiving button events), you need to unload the gpio_button_hotplug module, or unbind it by executing:

echo gpio-keys > /sys/bus/platform/drivers/gpio-keys/unbind

Space for additional notes, links to forum threads or other resources.

  • GL.iNet uses the original driver “kmod-mt7628” from Mediatek instead of OpenWrt's “mt76”. This has two main implications:
    1. “beacon_int” wifi-device parameter in “/etc/config/wireless” is named “beacon”. It can range from 40..1000 (*1.024 ms), this is the range the hardware supports. If you try higher values they are ignored and 100 (default) is used.
    2. The driver (probably) does not support monitor mode.
  • as of 2021-11-02 - setting AP txpower to 0, 1 or 2 dBm (/etc/config/wireless) results in a much higher power density (measured) than for 3 dBm. This is independant of the driver used (kmod-mt7628, mt76). Unknown reason.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2024/03/02 18:48
  • by buraksn