GL.iNet GL-MT300A
The GL.iNet GL-MT300A was introduced in spring 2016. The unit is delivered with OpenWrt 15.05 and Gl.iNet's proprietary user interface on top of all the standard OpenWrt tools. Features include:
- Based on the Mediatek MT7620A @ 580MHz
- 128MB DDR2, 16MB Flash
- USB A port for external storage with software power control.
- 300Mbps Wifi N (2.4GHz only)
- Dual 100M Ethernet (WAN/LAN)
- Customised OpenWrt pre-installed from the factory (with GLI Web UI)
- Configurable 2/3-position toggle switch (requires simple hardware mod for 3 position)
- Optional external antennas
- Optional MicroSD daughter card
Supported Versions
Experimental Versions
None at this time.
Hardware Highlights
Installation
Flash Layout
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-MT300A Flash Layout | |||||||
---|---|---|---|---|---|---|---|
Layer0 | m25p80 spi32766.0: w25q128 16 MiB | ||||||
Layer1 | mtd0 u-boot 192 KiB | mtd1 u-boot-env 64 KiB | mtd2 factory 64 KiB | mtd3 firmware 15872 KiB | mtd7 art 64 KiB |
||
Layer2 | mtd4 kernel about 1.1 MiB | mtd5 rootfs | |||||
mountpoint | / | ||||||
filesystem | overlayfs | ||||||
Layer3 | /dev/root about 6.5 MiB | mtd6 rootfs_data 8 MiB | |||||
mountpoint | none | none | none | none | /rom | /overlay | none |
filesystem | none | none | none | none | SquashFS | JFFS2 | none |
Note the “art” partition with the SoC specific Wifi data.
OEM easy installation
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.
OEM installation using the TFTP method
Note: tftp upgrade requires connecting to the Serial port, and pressing 'spacebar
' during boot to access the U-Boot command line.
Upgrading OpenWrt
LuCI Web Upgrade Process
- Browse to
http://192.168.1.1/cgi-bin/luci/admin/system/flashops
LuCI Upgrade URL - Upload image file for sysupgrade to LuCI
- Wait for reboot
Terminal Upgrade Process
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.1.1, then enter the following commands:
cd /tmp wget http://downloads.openwrt.org/snapshots/trunk/ramips/mt7620/openwrt-ramips-mt7620-gl-mt300a-squashfs-sysupgrade.bin sysupgrade /tmp/openwrt-ramips-mt7620-gl-mt300a-squashfs-sysupgrade.bin
mtd
If sysupgrade
does not support this router, use mtd
.
- Login as root via SSH on 192.168.1.1, then enter the following commands:
cd /tmp wget http://downloads.openwrt.org/snapshots/trunk/ramips/mt7620/openwrt-ramips-mt7620-gl-mt300a-squashfs-sysupgrade.bin mtd -r write /tmp/openwrt-ramips-mt7620-gl-mt300a-squashfs-sysupgrade.bin firmware
Debricking
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:
- With the router unplugged, press and hold the reset button.
- Plug in the router.
- Hold the reset button for at least 3 seconds.
- Release button, wait a few seconds, and connect to http://192.168.1.1
Failsafe mode
Basic configuration
→ Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.
The following packages are not included in the minimal trunk images, and are needed for some basic USB/MMC storage support:
Name | Required | Description |
---|---|---|
kmod-rt2800-usb | yes | Kernel support for USB interface |
kmod-sdhci-mt7620 | no | Kernel support for MMC (optional sdcard) |
kmod-usb-storage | yes | Basic USB storage support |
block-mount | no | Storage auto-mounting (note: not all filesystems are supported) |
kmod-fs-vfat | no | FAT filesystem support |
kmod-nls-cp437 | ||
kmod-nls-utf8 | ||
kmod-nls-iso8859-1 | ||
kmod-fs-exfat | no | exFAT filesystem support |
Specific Configuration
Network interfaces
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 |
Switch Ports (for VLANs)
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-MT300A has the following buttons:
BUTTON | Event |
---|---|
Reset | reset |
Switch to left | BTN_1 (released) |
Switch to center from left | BTN_1 (pressed) |
Switch to right 1 | BTN_0 (released) |
Switch to center from right 1 | BTN_0 (pressed) |
1 The 3rd switch position (right) requires case modification to access.
The script's environment variables include “BUTTON=<button name>”, “ACTION=<pressed|released>”, and “SEEN=<seconds held>” (only meaningful for button released, see hardware.button for details and requesting the “timeout” ACTION).
In the factory firmware, pressing the reset button briefly will toggle the wifi on/off. Holding the reset button for more than 5 seconds will result in a factory reset (clearing the jffs2 partition).
Hardware
Info
Photos
Opening the case
Note: This will void your warranty! (although internal microSD cards can only be inserted this way)
Use a pry tool in the notch indicated. There are clips all round, see below:
Once open, remove the PCB by lifting the edge furthest away from the LAN/WAN connector. Note the blue post on the cover that holds the PCB steady. Ensure the cover is replaced with the correct orientation.
While the I/O switch has 3 positions, the case requires a small modification to use the second position (GPIO1).
Serial
→ The port.serial port on the GL-MT300A comes with the headers factory fitted.
How to connect to the Serial Port of this specific device:
It can be seen at the top of the board between the external antenna connectors, with labels below “GND,RX,and TX”.
Serial connection parameters for GL.iNet GL-MT300A | 115200, 8N1 |
---|
JTAG
The GL-MT300A does not have JTAG support.
Bootloader mods
Hardware mods
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 photograph above shows a modified GL-MT300A to allow 3 way toggling. In the image, the switch is in the newly available right position.
Switch access (factory firmware)
The GL-MT300A implements a GPIO switch driver (gpio_button_hotplug.ko), using the scripts below, the switch position can be determined from shell scripts and acted upon.
/etc/rc.button/BTN_0 /etc/rc.button/BTN_1
GPIO Switch access
The switch uses GPIOs 1 and 2 and can be access by exporting them as inputs. The values correspond to the switch positions as follows.
Position | GPIO 1 | GPIO 2 |
---|---|---|
Left | X | High/1 |
Centre | Low/0 | Low/0 |
Right | High/1 | X |
Where X indicates a “Don't Care” state.
Bootlogs
OEM bootlog
U-Boot 1.1.3 (Dec 23 2015 - 18:37:46) Board: Ralink APSoC DRAM: 128 MB relocate_code Pointer2 at: 87fac000 enable ephy clock...done. rf reg 29 = 5 SSC disabled. spi_wait_nsec: 29 spi device id: ef 40 18 0 0 (40180000) find flash: W25Q128FV *** Warning - bad CRC, using default environment ====================================================== uboot-gl-mt7620 version: 0.0.0.1 -------------------------------------------------- ASIC 7620_MP (Port5<->None) DRAM component: 1024 Mbits DDR, width 16 DRAM bus: 16 bit Total memory: 128 MBytes Flash component: SPI Flash Date:Dec 23 2015 Time:18:37:46 -------------------------------------------------- icache: sets:512, ways:4, linesz:32 ,total:65536 dcache: sets:256, ways:4, linesz:32 ,total:32768 -------------------------------------------------- ##### The CPU freq = 580 MHZ #### ##### Memory size =128 Mbytes #### ====================================================== Press press WPS button for more than 2 seconds to run web failsafe mode WPS button is pressed for: 0 second(s) Catution: WPS button wasn't pressed or not long enough! Continuing normal boot... *** *** ** ** ***** *** *** *** * * * * ** ** * * * * * * * * * * * * ** ** * * * * * * ** * * ***** ** ** * ** * * * * * * * *** * * * * * * * * * * * * * * * * * * * * * * * * **** * * * * * * * * * * * * * * * * ** ****** * * * *** *** *** *** ** ** Hit SPACE to stop autoboot: 0 Found calibration data, checking calibration status... Device calibrated. Checking MAC address... Found MAC. Starting firmware... ## Booting image at bc050000 ... Image Name: MIPS OpenWrt Linux-3.18.27 Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 1197857 Bytes = 1.1 MB Load Address: 80000000 Entry Point: 80000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 80000000) ... ## Giving linux memsize in MB, 128 Starting kernel ... [ 0.000000] Linux version 3.18.27 (alzhao@alzhao-ubuntu) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r47065) ) #12 Sat Apr 23 16:00:11 HKT 2016 [ 0.000000] Board has DDR2 [ 0.000000] Analog PMU set to hw control [ 0.000000] Digital PMU set to hw control [ 0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019650 (MIPS 24KEc) [ 0.000000] MIPS: machine is GL-MT300A [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 08000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x07ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x07ffffff] [ 0.000000] Initmem setup node 0 [mem 0x00000000-0x07ffffff] [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Writing ErrCtl register=0004bb60 [ 0.000000] Readback ErrCtl register=0004bb60 [ 0.000000] Memory: 126140K/131072K available (2668K kernel code, 127K rwdata, 532K rodata, 184K init, 190K bss, 4932K reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:256 [ 0.000000] CPU Clock: 580MHz [ 0.000000] systick: running - mult: 214748, shift: 32 [ 0.000000] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216) [ 0.060000] pid_max: default: 32768 minimum: 301 [ 0.060000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.070000] pinctrl core: initialized pinctrl subsystem [ 0.080000] NET: Registered protocol family 16 [ 0.410000] mt7620-pci 10140000.pcie: PCIE0 no card, disable it(RST&CLK) [ 0.420000] mt7620-pci: probe of 10140000.pcie failed with error -1 [ 0.420000] rt2880_gpio 10000600.gpio: registering 24 gpios [ 0.430000] rt2880_gpio 10000600.gpio: registering 24 irq handlers [ 0.430000] rt2880_gpio 10000638.gpio: registering 16 gpios [ 0.440000] rt2880_gpio 10000638.gpio: registering 16 irq handlers [ 0.440000] rt2880_gpio 10000660.gpio: registering 32 gpios [ 0.450000] rt2880_gpio 10000660.gpio: registering 32 irq handlers [ 0.450000] rt2880_gpio 10000688.gpio: registering 1 gpios [ 0.460000] rt2880_gpio 10000688.gpio: registering 1 irq handlers [ 0.460000] Switched to clocksource systick [ 0.470000] NET: Registered protocol family 2 [ 0.470000] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.470000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.480000] TCP: Hash tables configured (established 1024 bind 1024) [ 0.490000] TCP: reno registered [ 0.490000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.490000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.500000] NET: Registered protocol family 1 [ 0.510000] rt-timer 10000100.timer: maximum frequency is 2441Hz [ 0.510000] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.530000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.530000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.540000] msgmni has been set to 246 [ 0.550000] io scheduler noop registered [ 0.550000] io scheduler deadline registered (default) [ 0.560000] ralink-usb-phy usbphy: invalid resource [ 0.560000] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.570000] console [ttyS0] disabled [ 0.570000] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a 16550A [ 0.580000] console [ttyS0] enabled [ 0.580000] console [ttyS0] enabled [ 0.590000] bootconsole [early0] disabled [ 0.590000] bootconsole [early0] disabled [ 0.620000] m25p80 spi32766.0: w25q128 (16384 Kbytes) [ 0.630000] 5 ofpart partitions found on MTD device spi32766.0 [ 0.630000] Creating 5 MTD partitions on "spi32766.0": [ 0.640000] 0x000000000000-0x000000030000 : "u-boot" [ 0.650000] 0x000000030000-0x000000040000 : "u-boot-env" [ 0.650000] 0x000000040000-0x000000050000 : "factory" [ 0.660000] 0x000000050000-0x000000fd0000 : "firmware" [ 0.780000] 2 uimage-fw partitions found on MTD device firmware [ 0.790000] 0x000000050000-0x000000174761 : "kernel" [ 0.790000] 0x000000174761-0x000000fd0000 : "rootfs" [ 0.800000] mtd: device 5 (rootfs) set to be root filesystem [ 0.810000] 1 squashfs-split partitions found on MTD device rootfs [ 0.810000] 0x0000007d0000-0x000000fd0000 : "rootfs_data" [ 0.820000] 0x000000ff0000-0x000001000000 : "art" [ 0.830000] rt2880-pinmux pinctrl: pin io40 already requested by pinctrl; cannot claim for 10100000.ethernet [ 0.840000] rt2880-pinmux pinctrl: pin-40 (10100000.ethernet) status -22 [ 0.840000] rt2880-pinmux pinctrl: could not request pin 40 (io40) from group ephy on device rt2880-pinmux [ 0.850000] ralink_soc_eth 10100000.ethernet: Error applying setting, reverse things back [ 0.860000] gsw: setting port4 to ephy mode [ 0.870000] ralink_soc_eth 10100000.ethernet eth0 (uninitialized): port 1 link up (100Mbps/Full duplex) [ 0.880000] ralink_soc_eth 10100000.ethernet: loaded mt7620 driver [ 0.880000] ralink_soc_eth 10100000.ethernet eth0: ralink at 0xb0100000, irq 5 [ 0.890000] rt2880_wdt 10000120.watchdog: Initialized [ 0.900000] TCP: cubic registered [ 0.900000] NET: Registered protocol family 17 [ 0.910000] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this. [ 0.920000] Bridge firewalling registered [ 0.920000] 8021q: 802.1Q VLAN Support v1.8 [ 0.940000] VFS: Mounted root (squashfs filesystem) readonly on device 31:5. [ 0.950000] Freeing unused kernel memory: 184K (80342000 - 80370000) [ 3.620000] init: Console is alive [ 3.620000] init: - watchdog - [ 9.560000] usbcore: registered new interface driver usbfs [ 9.570000] usbcore: registered new interface driver hub [ 9.570000] usbcore: registered new device driver usb [ 9.580000] exFAT: Version 1.2.9 [ 9.630000] SCSI subsystem initialized [ 9.640000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 9.650000] ehci-platform: EHCI generic platform driver [ 9.660000] phy phy-usbphy.0: remote usb device wakeup disabled [ 9.670000] phy phy-usbphy.0: UTMI 16bit 30MHz [ 9.670000] ehci-platform 101c0000.ehci: EHCI Host Controller [ 9.680000] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 [ 9.690000] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000 [ 9.710000] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00 [ 9.710000] hub 1-0:1.0: USB hub found [ 9.720000] hub 1-0:1.0: 1 port detected [ 9.720000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 9.730000] ohci-platform: OHCI generic platform driver [ 9.740000] ohci-platform 101c1000.ohci: Generic Platform OHCI controller [ 9.740000] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2 [ 9.750000] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000 [ 9.820000] hub 2-0:1.0: USB hub found [ 9.820000] hub 2-0:1.0: 1 port detected [ 9.850000] MTK MSDC device init. [ 9.890000] mtk-sd: MediaTek MT6575 MSDC Driver [ 9.890000] sdhci: Secure Digital Host Controller Interface driver [ 9.900000] sdhci: Copyright(c) Pierre Ossman [ 9.900000] sdhci-pltfm: SDHCI platform and OF driver helper [ 9.920000] usbcore: registered new interface driver usb-storage [ 10.690000] init: - preinit - [ 11.910000] 8021q: adding VLAN 0 to HW filter on device eth0 [ 11.960000] random: mktemp urandom read with 18 bits of entropy available Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level [ 15.370000] jffs2: notice: (366) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 15.390000] mount_root: switching to jffs2 overlay [ 15.430000] procd: - early - [ 15.430000] procd: - watchdog - [ 16.430000] procd: - ubus - /etc/init.d/mjpg-streamer: device '/dev/video0' does not exist Command failed: Not found [ 17.440000] procd: - init - Please press Enter to activate this console. [ 21.160000] NET: Registered protocol family 10 [ 21.200000] ntfs: driver 2.1.31 [Flags: R/O MODULE]. [ 21.210000] tun: Universal TUN/TAP device driver, 1.6 [ 21.220000] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> [ 21.230000] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 21.260000] i2c /dev entries driver [ 21.280000] Linux video capture interface: v2.00 [ 21.320000] u32 classifier [ 21.320000] input device check on [ 21.320000] Actions configured [ 21.330000] Mirror/redirect action on [ 21.340000] nf_conntrack version 0.5.0 (1973 buckets, 7892 max) [ 21.370000] fuse init (API version 7.23) [ 21.390000] usbcore: registered new interface driver cdc_acm [ 21.390000] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters [ 21.410000] Loading modules backported from Linux version v4.4-rc5-1913-gc8fdf68 [ 21.420000] Backport generated by backports.git backports-20151218-0-g2f58d9d [ 21.430000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 21.440000] usbcore: registered new interface driver ipheth [ 21.510000] usbcore: registered new interface driver usbserial [ 21.520000] usbcore: registered new interface driver usbserial_generic [ 21.520000] usbserial: USB Serial support registered for generic [ 21.540000] usbcore: registered new interface driver uvcvideo [ 21.540000] USB Video Class driver (1.1.1) [ 21.690000] xt_time: kernel timezone is -0000 [ 21.700000] usbcore: registered new interface driver cdc_ether [ 21.860000] usbcore: registered new interface driver cp210x [ 21.860000] usbserial: USB Serial support registered for cp210x [ 21.870000] gspca_main: v2.14.0 registered [ 21.880000] usbcore: registered new interface driver sonixb [ 21.900000] usbcore: registered new interface driver sonixj [ 21.910000] usbcore: registered new interface driver gspca_zc3xx [ 22.000000] PPP generic driver version 2.4.2 [ 22.010000] NET: Registered protocol family 24 [ 22.010000] usbcore: registered new interface driver rndis_host [ 22.060000] usbcore: registered new interface driver option [ 22.070000] usbserial: USB Serial support registered for GSM modem (1-port) [ 22.140000] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5390, rev 0500 detected [ 22.140000] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 7620 detected [ 22.160000] usbcore: registered new interface driver rt2800usb [ 34.170000] 8021q: adding VLAN 0 to HW filter on device eth0 [ 34.180000] device eth0.1 entered promiscuous mode [ 34.180000] device eth0 entered promiscuous mode [ 34.200000] br-lan: port 1(eth0.1) entered forwarding state [ 34.200000] br-lan: port 1(eth0.1) entered forwarding state [ 36.200000] br-lan: port 1(eth0.1) entered forwarding state [ 38.900000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 38.930000] device wlan0 entered promiscuous mode [ 38.930000] br-lan: port 2(wlan0) entered forwarding state [ 38.940000] br-lan: port 2(wlan0) entered forwarding state [ 39.010000] br-lan: port 2(wlan0) entered disabled state [ 39.650000] br-lan: port 2(wlan0) entered forwarding state [ 39.650000] br-lan: port 2(wlan0) entered forwarding state [ 39.660000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 41.650000] br-lan: port 2(wlan0) entered forwarding state [ 70.450000] random: nonblocking pool is initialized
OpenWrt bootlog
[ 0.000000] Linux version 4.4.7 (openwrt@gb-10) (gcc version 5.3.0 (OpenWrt GCC 5.3.0 r49377) ) #1 Sun May 29 21:11:38 UTC 2016 [ 0.000000] Board has DDR2 [ 0.000000] Analog PMU set to hw control [ 0.000000] Digital PMU set to hw control [ 0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019650 (MIPS 24KEc) [ 0.000000] MIPS: machine is GL-MT300A [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 08000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] On node 0 totalpages: 32768 [ 0.000000] free_area_init_node: node 0, pgdat 803ae5b0, node_mem_map 81000000 [ 0.000000] Normal zone: 256 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 32768 pages, LIFO batch:7 [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Writing ErrCtl register=0004b660 [ 0.000000] Readback ErrCtl register=0004b660 [ 0.000000] Memory: 125612K/131072K available (3011K kernel code, 145K rwdata, 720K rodata, 148K init, 200K bss, 5460K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:256 [ 0.000000] CPU Clock: 580MHz [ 0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns [ 0.000000] systick: enable autosleep mode [ 0.000000] systick: running - mult: 214748, shift: 32 [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns [ 0.000012] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns [ 0.007574] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216) [ 0.070064] pid_max: default: 32768 minimum: 301 [ 0.074689] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.081058] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.094211] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.103898] pinctrl core: initialized pinctrl subsystem [ 0.110252] NET: Registered protocol family 16 [ 0.118182] rt2880-pinmux pinctrl: try to register 73 pins ... [ 0.118209] pinctrl core: registered pin 0 (io0) on rt2880-pinmux [ 0.118245] pinctrl core: registered pin 1 (io1) on rt2880-pinmux [ 0.118260] pinctrl core: registered pin 2 (io2) on rt2880-pinmux [ 0.118275] pinctrl core: registered pin 3 (io3) on rt2880-pinmux [ 0.118290] pinctrl core: registered pin 4 (io4) on rt2880-pinmux [ 0.118305] pinctrl core: registered pin 5 (io5) on rt2880-pinmux [ 0.118320] pinctrl core: registered pin 6 (io6) on rt2880-pinmux [ 0.118336] pinctrl core: registered pin 7 (io7) on rt2880-pinmux [ 0.118351] pinctrl core: registered pin 8 (io8) on rt2880-pinmux [ 0.118366] pinctrl core: registered pin 9 (io9) on rt2880-pinmux [ 0.118380] pinctrl core: registered pin 10 (io10) on rt2880-pinmux [ 0.118395] pinctrl core: registered pin 11 (io11) on rt2880-pinmux [ 0.118410] pinctrl core: registered pin 12 (io12) on rt2880-pinmux [ 0.118425] pinctrl core: registered pin 13 (io13) on rt2880-pinmux [ 0.118439] pinctrl core: registered pin 14 (io14) on rt2880-pinmux [ 0.118454] pinctrl core: registered pin 15 (io15) on rt2880-pinmux [ 0.118469] pinctrl core: registered pin 16 (io16) on rt2880-pinmux [ 0.118484] pinctrl core: registered pin 17 (io17) on rt2880-pinmux [ 0.118498] pinctrl core: registered pin 18 (io18) on rt2880-pinmux [ 0.118520] pinctrl core: registered pin 19 (io19) on rt2880-pinmux [ 0.118535] pinctrl core: registered pin 20 (io20) on rt2880-pinmux [ 0.118550] pinctrl core: registered pin 21 (io21) on rt2880-pinmux [ 0.118564] pinctrl core: registered pin 22 (io22) on rt2880-pinmux [ 0.118579] pinctrl core: registered pin 23 (io23) on rt2880-pinmux [ 0.118594] pinctrl core: registered pin 24 (io24) on rt2880-pinmux [ 0.118609] pinctrl core: registered pin 25 (io25) on rt2880-pinmux [ 0.118623] pinctrl core: registered pin 26 (io26) on rt2880-pinmux [ 0.118639] pinctrl core: registered pin 27 (io27) on rt2880-pinmux [ 0.118654] pinctrl core: registered pin 28 (io28) on rt2880-pinmux [ 0.118668] pinctrl core: registered pin 29 (io29) on rt2880-pinmux [ 0.118683] pinctrl core: registered pin 30 (io30) on rt2880-pinmux [ 0.118698] pinctrl core: registered pin 31 (io31) on rt2880-pinmux [ 0.118713] pinctrl core: registered pin 32 (io32) on rt2880-pinmux [ 0.118727] pinctrl core: registered pin 33 (io33) on rt2880-pinmux [ 0.118742] pinctrl core: registered pin 34 (io34) on rt2880-pinmux [ 0.118757] pinctrl core: registered pin 35 (io35) on rt2880-pinmux [ 0.118772] pinctrl core: registered pin 36 (io36) on rt2880-pinmux [ 0.118786] pinctrl core: registered pin 37 (io37) on rt2880-pinmux [ 0.118801] pinctrl core: registered pin 38 (io38) on rt2880-pinmux [ 0.118816] pinctrl core: registered pin 39 (io39) on rt2880-pinmux [ 0.118831] pinctrl core: registered pin 40 (io40) on rt2880-pinmux [ 0.118846] pinctrl core: registered pin 41 (io41) on rt2880-pinmux [ 0.118860] pinctrl core: registered pin 42 (io42) on rt2880-pinmux [ 0.118875] pinctrl core: registered pin 43 (io43) on rt2880-pinmux [ 0.118890] pinctrl core: registered pin 44 (io44) on rt2880-pinmux [ 0.118905] pinctrl core: registered pin 45 (io45) on rt2880-pinmux [ 0.118921] pinctrl core: registered pin 46 (io46) on rt2880-pinmux [ 0.118936] pinctrl core: registered pin 47 (io47) on rt2880-pinmux [ 0.118952] pinctrl core: registered pin 48 (io48) on rt2880-pinmux [ 0.118967] pinctrl core: registered pin 49 (io49) on rt2880-pinmux [ 0.118982] pinctrl core: registered pin 50 (io50) on rt2880-pinmux [ 0.119003] pinctrl core: registered pin 51 (io51) on rt2880-pinmux [ 0.119019] pinctrl core: registered pin 52 (io52) on rt2880-pinmux [ 0.119034] pinctrl core: registered pin 53 (io53) on rt2880-pinmux [ 0.119049] pinctrl core: registered pin 54 (io54) on rt2880-pinmux [ 0.119064] pinctrl core: registered pin 55 (io55) on rt2880-pinmux [ 0.119080] pinctrl core: registered pin 56 (io56) on rt2880-pinmux [ 0.119096] pinctrl core: registered pin 57 (io57) on rt2880-pinmux [ 0.119111] pinctrl core: registered pin 58 (io58) on rt2880-pinmux [ 0.119125] pinctrl core: registered pin 59 (io59) on rt2880-pinmux [ 0.119140] pinctrl core: registered pin 60 (io60) on rt2880-pinmux [ 0.119155] pinctrl core: registered pin 61 (io61) on rt2880-pinmux [ 0.119171] pinctrl core: registered pin 62 (io62) on rt2880-pinmux [ 0.119185] pinctrl core: registered pin 63 (io63) on rt2880-pinmux [ 0.119202] pinctrl core: registered pin 64 (io64) on rt2880-pinmux [ 0.119218] pinctrl core: registered pin 65 (io65) on rt2880-pinmux [ 0.119234] pinctrl core: registered pin 66 (io66) on rt2880-pinmux [ 0.119250] pinctrl core: registered pin 67 (io67) on rt2880-pinmux [ 0.119266] pinctrl core: registered pin 68 (io68) on rt2880-pinmux [ 0.119282] pinctrl core: registered pin 69 (io69) on rt2880-pinmux [ 0.119298] pinctrl core: registered pin 70 (io70) on rt2880-pinmux [ 0.119314] pinctrl core: registered pin 71 (io71) on rt2880-pinmux [ 0.119330] pinctrl core: registered pin 72 (io72) on rt2880-pinmux [ 0.119371] pinctrl core: add 4 pinctrl maps [ 0.119409] rt2880-pinmux pinctrl: found group selector 11 for wled [ 0.119431] rt2880-pinmux pinctrl: found group selector 12 for ephy [ 0.119450] rt2880-pinmux pinctrl: found group selector 1 for uartf [ 0.119468] rt2880-pinmux pinctrl: found group selector 0 for i2c [ 0.119492] rt2880-pinmux pinctrl: request pin 72 (io72) for pinctrl [ 0.119516] rt2880-pinmux pinctrl: request pin 40 (io40) for pinctrl [ 0.119533] rt2880-pinmux pinctrl: request pin 41 (io41) for pinctrl [ 0.119551] rt2880-pinmux pinctrl: request pin 42 (io42) for pinctrl [ 0.119569] rt2880-pinmux pinctrl: request pin 43 (io43) for pinctrl [ 0.119588] rt2880-pinmux pinctrl: request pin 44 (io44) for pinctrl [ 0.119608] rt2880-pinmux pinctrl: request pin 7 (io7) for pinctrl [ 0.119627] rt2880-pinmux pinctrl: request pin 8 (io8) for pinctrl [ 0.119646] rt2880-pinmux pinctrl: request pin 9 (io9) for pinctrl [ 0.119665] rt2880-pinmux pinctrl: request pin 10 (io10) for pinctrl [ 0.119684] rt2880-pinmux pinctrl: request pin 11 (io11) for pinctrl [ 0.119703] rt2880-pinmux pinctrl: request pin 12 (io12) for pinctrl [ 0.119721] rt2880-pinmux pinctrl: request pin 13 (io13) for pinctrl [ 0.119741] rt2880-pinmux pinctrl: request pin 14 (io14) for pinctrl [ 0.119762] rt2880-pinmux pinctrl: request pin 1 (io1) for pinctrl [ 0.119782] rt2880-pinmux pinctrl: request pin 2 (io2) for pinctrl [ 0.119801] rt2880-pinmux pinctrl: failed to lookup the sleep state [ 0.122322] pinctrl core: add 1 pinctrl maps [ 0.122379] rt2880-pinmux pinctrl: found group selector 8 for pcie [ 0.122406] rt2880-pinmux pinctrl: request pin 36 (io36) for 10140000.pcie [ 0.597225] mt7620-pci 10140000.pcie: PCIE0 no card, disable it(RST&CLK) [ 0.603709] mt7620-pci: probe of 10140000.pcie failed with error -1 [ 0.622631] rt2880_gpio 10000600.gpio: registering 24 gpios [ 0.628075] rt2880_gpio 10000600.gpio: registering 24 irq handlers [ 0.634229] rt2880_gpio 10000638.gpio: registering 16 gpios [ 0.639627] rt2880_gpio 10000638.gpio: registering 16 irq handlers [ 0.645752] rt2880_gpio 10000660.gpio: registering 32 gpios [ 0.651147] rt2880_gpio 10000660.gpio: registering 32 irq handlers [ 0.657265] rt2880_gpio 10000688.gpio: registering 1 gpios [ 0.662571] rt2880_gpio 10000688.gpio: registering 1 irq handlers [ 0.670163] clocksource: Switched to clocksource systick [ 0.676818] NET: Registered protocol family 2 [ 0.682090] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.688815] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.695042] TCP: Hash tables configured (established 1024 bind 1024) [ 0.701262] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.706887] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.713308] NET: Registered protocol family 1 [ 0.717548] PCI: CLS 0 bytes, default 32 [ 0.718027] rt-timer 10000100.timer: maximum frequency is 1220Hz [ 0.724615] alarmtimer alarmtimer: no of_node; not parsing pinctrl DT [ 0.724882] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.750735] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.756352] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.768493] io scheduler noop registered [ 0.772318] io scheduler deadline registered (default) [ 0.777525] ralink-usb-phy usbphy: invalid resource [ 0.782924] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.792062] serial8250 serial8250: no of_node; not parsing pinctrl DT [ 0.792478] pinctrl core: add 1 pinctrl maps [ 0.792521] rt2880-pinmux pinctrl: found group selector 3 for uartlite [ 0.792548] rt2880-pinmux pinctrl: request pin 15 (io15) for 10000c00.uartlite [ 0.792571] rt2880-pinmux pinctrl: request pin 16 (io16) for 10000c00.uartlite [ 0.792836] console [ttyS0] disabled [ 0.796279] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103 [ 0.805956] console [ttyS0] enabled [ 0.812990] bootconsole [early0] disabled [ 0.822786] pinctrl core: add 1 pinctrl maps [ 0.822837] rt2880-pinmux pinctrl: found group selector 2 for spi [ 0.822866] rt2880-pinmux pinctrl: request pin 3 (io3) for 10000b00.spi [ 0.822887] rt2880-pinmux pinctrl: request pin 4 (io4) for 10000b00.spi [ 0.822907] rt2880-pinmux pinctrl: request pin 5 (io5) for 10000b00.spi [ 0.822927] rt2880-pinmux pinctrl: request pin 6 (io6) for 10000b00.spi [ 0.827927] spi spi0.0: force spi mode3 [ 0.832443] m25p80 spi0.0: w25q128 (16384 Kbytes) [ 0.837286] 5 ofpart partitions found on MTD device spi0.0 [ 0.842930] Creating 5 MTD partitions on "spi0.0": [ 0.847824] 0x000000000000-0x000000030000 : "u-boot" [ 0.854717] 0x000000030000-0x000000040000 : "u-boot-env" [ 0.862038] 0x000000040000-0x000000050000 : "factory" [ 0.868980] 0x000000050000-0x000000fd0000 : "firmware" [ 0.958403] 2 uimage-fw partitions found on MTD device firmware [ 0.964486] 0x000000050000-0x000000193e3b : "kernel" [ 0.971230] 0x000000193e3b-0x000000fd0000 : "rootfs" [ 0.978068] mtd: device 5 (rootfs) set to be root filesystem [ 0.984058] 1 squashfs-split partitions found on MTD device rootfs [ 0.990388] 0x000000390000-0x000000fd0000 : "rootfs_data" [ 0.997742] 0x000000ff0000-0x000001000000 : "art" [ 1.005474] pinctrl core: add 1 pinctrl maps [ 1.005536] rt2880-pinmux pinctrl: found group selector 12 for ephy [ 1.005563] rt2880-pinmux pinctrl: request pin 40 (io40) for 10100000.ethernet [ 1.005586] rt2880-pinmux pinctrl: pin io40 already requested by pinctrl; cannot claim for 10100000.ethernet [ 1.015690] rt2880-pinmux pinctrl: pin-40 (10100000.ethernet) status -22 [ 1.022542] rt2880-pinmux pinctrl: could not request pin 40 (io40) from group ephy on device rt2880-pinmux [ 1.032490] mtk_soc_eth 10100000.ethernet: Error applying setting, reverse things back [ 1.043240] gsw: setting port4 to ephy mode [ 1.047557] mtk_soc_eth 10100000.ethernet eth0 (uninitialized): port 1 link up (100Mbps/Full duplex) [ 1.057099] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver [ 1.063982] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5 [ 1.073045] rt2880_wdt 10000120.watchdog: Initialized [ 1.079756] NET: Registered protocol family 10 [ 1.088033] NET: Registered protocol family 17 [ 1.092749] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this. [ 1.105709] Bridge firewalling registered [ 1.109817] 8021q: 802.1Q VLAN Support v1.8 [ 1.131894] VFS: Mounted root (squashfs filesystem) readonly on device 31:5. [ 1.139905] Freeing unused kernel memory: 148K (803cb000 - 803f0000) [ 3.540194] init: Console is alive [ 3.543961] init: - watchdog - [ 5.260361] usbcore: registered new interface driver usbfs [ 5.266069] usbcore: registered new interface driver hub [ 5.271651] usbcore: registered new device driver usb [ 5.279560] rt2880-pinmux pinctrl: request pin 13 (io13) for pio:13 [ 5.279603] rt2880-pinmux pinctrl: request pin 1 (io1) for pio:1 [ 5.279630] rt2880-pinmux pinctrl: request pin 2 (io2) for pio:2 [ 5.282719] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.291128] ehci-platform: EHCI generic platform driver [ 5.306824] phy phy-usbphy.0: remote usb device wakeup disabled [ 5.312889] phy phy-usbphy.0: UTMI 16bit 30MHz [ 5.317456] ehci-platform 101c0000.ehci: EHCI Host Controller [ 5.323367] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 [ 5.331581] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000 [ 5.342302] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00 [ 5.349312] usb usb1: no of_node; not parsing pinctrl DT [ 5.349764] hub 1-0:1.0: no of_node; not parsing pinctrl DT [ 5.349817] hub 1-0:1.0: USB hub found [ 5.354114] hub 1-0:1.0: 1 port detected [ 5.361181] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 5.369038] ohci-platform: OHCI generic platform driver [ 5.374726] ohci-platform 101c1000.ohci: Generic Platform OHCI controller [ 5.381709] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2 [ 5.389905] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000 [ 5.420005] usb usb2: no of_node; not parsing pinctrl DT [ 5.420504] hub 2-0:1.0: no of_node; not parsing pinctrl DT [ 5.420557] hub 2-0:1.0: USB hub found [ 5.424735] hub 2-0:1.0: 1 port detected [ 5.430714] rt2880-pinmux pinctrl: request pin 40 (io40) for pio:40 [ 5.430907] rt2880-pinmux pinctrl: request pin 41 (io41) for pio:41 [ 5.431048] rt2880-pinmux pinctrl: request pin 72 (io72) for pio:72 [ 5.431203] rt2880-pinmux pinctrl: request pin 7 (io7) for pio:7 [ 5.436089] init: - preinit - [ 6.383796] 8021q: adding VLAN 0 to HW filter on device eth0 [ 7.610719] mount_root: jffs2 not ready yet, using temporary tmpfs overlay [ 7.645179] procd: - early - [ 7.648236] procd: - watchdog - [ 8.083284] procd: - ubus - [ 8.108820] random: ubusd urandom read with 17 bits of entropy available [ 8.117528] procd: - init - [ 8.790983] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 8.810474] Loading modules backported from Linux version v4.4-rc5-1913-gc8fdf68 [ 8.818107] Backport generated by backports.git backports-20151218-0-g2f58d9d [ 8.884267] ip_tables: (C) 2000-2006 Netfilter Core Team [ 8.902160] nf_conntrack version 0.5.0 (1965 buckets, 7860 max) [ 8.959429] xt_time: kernel timezone is -0000 [ 8.977631] PPP generic driver version 2.4.2 [ 8.985050] NET: Registered protocol family 24 [ 9.008322] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5390, rev 0500 detected [ 9.016252] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 7620 detected [ 9.024023] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 14.827728] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0 [ 14.934062] jffs2_build_filesystem(): unlocking the mtd device... done. [ 14.940872] jffs2_build_filesystem(): erasing all blocks after the end marker... [ 19.305639] 8021q: adding VLAN 0 to HW filter on device eth0 [ 19.324321] device eth0.1 entered promiscuous mode [ 19.329455] device eth0 entered promiscuous mode [ 19.388876] br-lan: port 1(eth0.1) entered forwarding state [ 19.394681] br-lan: port 1(eth0.1) entered forwarding state [ 21.394441] br-lan: port 1(eth0.1) entered forwarding state [ 74.994497] random: nonblocking pool is initialized [ 107.025043] done. [ 107.027067] jffs2: notice: (912) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
Notes
Space for additional notes, links to forum threads or other resources.
- ...