TP-Link RE200 v2 is a wireless range extender with Ethernet and 2.4G and 5G
WiFi with internal antennas. It's based on MediaTek MT7628AN+MT7610EN.
Specifications
--------------
- MediaTek MT7628AN (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 1x 10/100 Mbps Ethernet
- UART header on PCB (57600 8n1)
- 8x LED (GPIO-controlled), 2x button
There are 2.4G and 5G LEDs in red and green which are controlled
separately.
MAC addresses
-------------
The MAC address assignment matches stock firmware, i.e.:
LAN : *:0D
2.4G: *:0E
5G : *:0F
Installation
------------
Web Interface
-------------
It is possible to upgrade to OpenWrt via the web interface. Simply flash
the -factory.bin from OEM. In contrast to a stock firmware, this will not
overwrite U-Boot.
Serial console
--------------
Opening the case is quite hard, since it is welded together. Rename the
OpenWrt factory image to "test.bin", then plug in the device and quickly
press "2" to enter flash mode (no line feed). Follow the prompts until
OpenWrt is installed.
Unfortunately, this devices does not offer a recovery mode or a tftp
installation method. If the web interface upgrade fails, you have to open
your device and attach serial console.
Additonal notes
---------------
It is possible to flash back to stock by using tplink-safeloader to create
a sysupgrade image based on a stock update. After the first boot, it is
necessary upgrade to another stock image, otherwise subsequent boots
fail with LZMA ERROR 1 and you have to attach serial to recover the device.
Signed-off-by: Andreas Böhler <dev@aboehler.at>
[remove DEVICE_VARS change]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This moves the various variants of common device definitions for
TP-Link devices to a common Makefile common-tp-link.mk. This
provides the opportunity to reorganize and move parameters between
individual device definitions and the common ones.
While at it, also use the common definitions for previously
independent definitions where appropriate.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The GL.iNet microuter-N300 (internally referred as MT300N-v4) is a
pocket-size travel router. It is essentially identical to the VIXMINI
(internally referred as MT300N-v3) but with double the RAM and
SPI-flash.
Additionally, set the label-mac for both the VIXMINI as well as the
microuter-N300.
Hardware
--------
SoC: MediaTek MT7628NN
RAM: 128M DDR2
FLASH: 16M
LED: Power - WLAN
BTN: Reset
UART: 115200 8N1
TX and RX are labled on the board as pads next to the SoC
Installation via web-interface
------------------------------
1. Visit the web-interface at 192.168.8.1
Note: The ethernet port is by default WAN. So you need to connect to
the router via WiFi
2. Navigate to the Update tab on the left side.
3. Select "Local Update"
4. Upload the OpenWrt sysupgrade image.
Note: Make sure you select not to preserve the configuration.
Installation via U-Boot
-----------------------
1. Hold down the reset button while powering on the device.
Wait for the LED to flash 5 times.
2. Assign yourself a static IPv4 in 192.168.1.0/24
3. Upload the OpenWrt sysupgrade image at 192.168.1.1.
Signed-off-by: David Bauer <mail@david-bauer.net>
In ramips, all devices in mt7621, mt76x8 and rt288x subtarget have
the same value set to the SOC variable for each device individually.
This patch introduces a non-device-dependent variable DEFAULT_SOC,
which is used if no specific SOC is set for a device, and thus reduces
the number of redundant definitions drastically.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Specification:
SoC: MediaTek MT7628AN
RAM: 64MiB
Flash: 8MiB
Wifi:
- 2.4GHz: MT7628AN
- 5GHz: MT7612EN
LAN: 1x 10/100 Mbps
Flash instructions:
Flash factory image through stock firmware WEB UI.
Back to stock is possible by using TFTP and stripping down the Firmware
provided by TP-Link to a initramfs.
The flash space between 0x650000 and 0x7f0000
is blank in the stock firmware so I left it out as well.
Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
TP-Link Archer C20 v5 is a router with 5-port FE switch and
non-detachable antennas. It's based on MediaTek MT7628N+MT7610EN.
Specification:
- MediaTek MT7628N/N (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 5x 10/100 Mbps Ethernet
- 3x external, non-detachable antennas
- UART (J1) header on PCB (115200 8n1)
- 7x LED (GPIO-controlled*), 2x button, power input switch
* WAN LED in this devices is a dual-color, dual-leads type which isn't
(fully) supported by gpio-leds driver. This type of LED requires both
GPIOs state change at the same time to select color or turn it off.
For now, we support/use only the green part of the LED.
Create Factory image
--------------------
As all installation methods require a U-Boot to be integrated into the
Image (and we do not ship one with the image) we are not able to create
an image in the OpenWRT build-process.
Download a TP-Link image from their Website and a OpenWRT sysupgrade
image for the device and build yourself a factory image like following:
TP-Link image: tpl.bin
OpenWRT sysupgrade image: owrt.bin
> dd if=tpl.bin of=boot.bin bs=131584 count=1
> cat owrt.bin >> boot.bin
Installing via Web-UI
---------------------
Upload the boot.bin via TP-Links firmware upgrade tool in the
web-interface.
Installing via Recovery
-----------------------
Activate Web-Recovery by beginning the upgrade Process with a
Firmware-Image from TP-Link. After starting the Firmware Upgrade,
wait ~3 seconds (When update status is switching to 0%), then
disconnect the power supply from the device. Upgrade flag (which
activates Web-Recovery) is written before the OS-image is touched and
removed after write is succesfull, so this procedure should be safe.
Plug the power back in. It will come up in Recovery-Mode on 192.168.0.1.
When active, all LEDs but the WPS LED are off.
Remeber to assign yourself a static IP-address as DHCP is not active in
this mode.
The boot.bin can now be uploaded and flashed using the web-recovery.
Installing via TFTP
-------------------
Prepare an image like following (Filenames from factory image steps
apply here)
> dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1
> dd if=tpl.bin of=tmp.bin bs=131584 count=1
> dd if=tmp.bin of=boot.bin bs=512 skip=1
> cat boot.bin >> tp_recovery.bin
> cat owrt.bin >> tp_recovery.bin
Place tp_recovery.bin in root directory of TFTP server and listen on
192.168.0.66/24.
Connect router LAN ports with your computer and power up the router
while pressing the reset button. The router will download the image via
tftp and after ~1 Minute reboot into OpenWRT.
U-Boot CLI
----------
U-Boot CLI can be activated by holding down '4' on bootup.
Dual U-Boot
-----------
This is TP-Link MediaTek device with a split-uboot feature design like
a TP-Link Archer C50 v4. The first (factory-uboot) provides recovery via
TFTP and HTTP, jumping straight into the second (firmware-uboot) if no
recovery needs to be performed. The firmware-uboot unpacks and executed
the kernel.
Web-Recovery
------------
TP-Link integrated a new Web-Recovery like the one on the Archer C7v4 /
TL-WR1043v5 / Archer C50v4. Stock-firmware sets a flag in the "romfile"
partition before beginning to write and removes it afterwards. If the
router boots with this flag set, bootloader will automatically start
Web-recovery and listens on 192.168.0.1. This way, the vendor-firmware
or an OpenWRT factory image can be written.
By doing the same while performing sysupgrade, we can take advantage of
the Web-recovery in OpenWRT.
It is important to note that Web-Recovery is only based on this flag. It
can't detect e.g. a crashing kernel or other means. Once activated it
won't boot the OS before a recovery action (either via TFTP or HTTP) is
performed. This recovery-mode is indicated by an illuminated WPS-LED on
boot.
Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
[adjust some node names for LEDs in DTS]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This harmonizes the line wrapping in image Makefile device
definitions, as those are frequently copy-pasted and are a common
subject of review comments. Having the treatment unifying should
reduce the cases where adjustment is necessary afterwards.
Harmonization is achieved by consistently (read "strictly")
applying certain rules:
- Never put more than 80 characters into one line
- Fill lines up (do not break after 40 chars because of ...)
- Use one tab for indent after wrapping by "\"
- Only break after pipe "|" for IMAGE variables
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This allows JCG_MAXSIZE to be specified in kilobytes. This makes
this value more consistent and easier comparable with other size
variables.
This also changes the only occurence of the variable, for Cudy WR1000.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Device node names were updated, but updating TARGET_DEVICES
was overlooked.
Fixes: 4408723d42 ("ramips: remove RAM size from device name
for UniElec devices")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
UniElec devices are the last ones in ramips target still having
the RAM size in device name although RAM size is auto-detected.
Remove this from device name, compatible, etc., as it's not
required and might be misleading to users and developers adding
device support copying those devices.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Spelling of Zbtlink varies across image definitions and DTS files.
This patch uses Zbtlink consistently and also updates the model
in DTS files to contain the vendor in all cases.
This patch is cosmetical, as there should be no dependencies on
device model name in ramips anymore.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
ipTIME A3 is a 2.4/5GHz band AC1200 router, based on MediaTek
MT7628AN.
Specifications:
- SoC: MT7628AN
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB
- WiFi:
- 2.4GHz: SoC internal
- 5GHz: MT7612EN
- Ethernet: 3x 10/100Mbps
- Switch: SoC internal
- UART:
- J1: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1
Installation via web interface:
1. Flash **initramfs** image through the stock web interface.
2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.
Revert to stock firmware:
1. Perform sysupgrade with stock image.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
The Linkit Smart 7688 has a SD-Card reader that does not work with the official build of openwrt. Adding kmod-sdhci-mt7620 makes it working.
Signed-off-by: Ivan Hörler <i.hoerler@me.com>
This patch does the following things:
1. mark u-boot-env writable
2. add bootcount support
Currently, u-boot has a flag_boot_success env variable to reset.
Also reset it in our firmware to follow the behavior in vendor's
firmware.
3. disable usb support
This router doesn't have usb port at all.
4. increase spi clock to 40MHz
5. fix pinmux groups
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
ipTIME A604M is a 2.4/5GHz band AC1200 router, based on MediaTek
MT7628AN.
Specifications:
- SoC: MT7628AN
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB
- WiFi:
- 2.4GHz: SoC internal
- 5GHz: MT7612EN
- Ethernet: 5x 10/100Mbps
- Switch: SoC internal
- UART:
- J1: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1
Installation via web interface:
1. Flash **initramfs** image through the stock web interface.
2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.
Revert to stock firmware:
1. Perform sysupgrade with stock image.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
HiWiFi HC5761A is an "MT7628AN variant" of HC5761
Specifications:
- MediaTek MT7628AN 580MHz
- 128 MB DDR2 RAM
- 16 MB SPI Flash
- 2.4G MT7628AN 802.11bgn 2T2R 300Mbps
- 5G MT7610EN 802.11ac 433Mbps
- 3x 10/100 Mbps Ethernet
Flash instruction:
1. Get SSH access to the router
2. SSH to router with `ssh -p 1022 root@192.168.199.1`, The SSH password is the same as the webconfig one
3. Upload OpenWrt sysupgrade firmware into the router's `/tmp` folder with SCP
4. Run `mtd write /tmp/<filename> firmware`
5. reboot
Known bug:
- SD slot does not work (See PR 1500)
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
There are frequent examples of the ralink_default_fw_size_xxx
variables being used to "roughly" set flash size without caring
about the actual size of the firmware partition.
To discourage this behavior, this patch removes the variables and
just sets IMAGE_SIZE by its numeric value for each target.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Currently, ramips target defines 0x7b0000 as default IMAGE_SIZE
for all devices in ramips target, i.e. this will be set if a
device does not specify IMAGE_SIZE itself.
From 92 devices using that default due to a "missing" IMAGE_SIZE,
14 were incorrect by a small amount (i.e. still "8M" flash) and
12 were completely off ("16M", "4M", ...).
This patch thus removes the _default_ IMAGE_SIZE and defines
IMAGE_SIZE for each device individually. This should indicate to
people supporting new devices that this parameter has to be cared
about.
For the present code, this patch is cosmetical.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
In ramips, there are the following predefined values for IMAGE_SIZE
ralink_default_fw_size_4M 3866624 3776k 0x3B0000
ralink_default_fw_size_8M 8060928 7872k 0x7B0000
ralink_default_fw_size_16M 16121856 15744k 0xF60000
ralink_default_fw_size_32M 33226752 32448k 0x1FB0000
Out of those, the "16M" value is obviously odd, as it provides more
room for the remaining partitions than the tree others.
Of the devices in all subtargets, there are actually > 50 that have
a firmware partition with 0xFB0000 size, while only 5 (!) have
0xF60000. From the former, many are set to
ralink_default_fw_size_16M anyway, although it is wrong at the
present point.
Consequently, it makes sense to change ralink_default_fw_size_16M
to 0xFB0000, and to update IMAGE_SIZE for the 5 devices with
0xF60000.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch applies sorting to the definitions as whole blocks.
Sorting has been performed fully automatic, line count differences
originate from double empty lines removed.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Include "Archer" in compatible as it is part of the device name.
Update Makefile device names where necessary to match compatible.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
TP-Link TL-WR841n v14 is a router based on MediaTek MT7628N.
- MediaTek MT7628NN
- 32 MB of RAM
- 4 MB of FLASH
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
Installation:
- copy the
'openwrt-ramips-mt76x8-tl-wr841n-v14-squashfs-tftp-recovery.bin'
file to your tftp server root and rename it to 'tp_recovery.bin'.
- configure your PC running the TFTP server with the static IP address
192.168.0.66/24
- push the reset button and plug in the power connector. Wait until
the orange led starts blinking (~6sec)
Signed-off-by: Alexander Müller <donothingloop@gmail.com>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu> [small modifications gpio-hog]
Specifications:
- SoC: MT7628DAN (MT7628AN with 64MB built-in RAM)
- Flash: 8M SPI NOR
- Ethernet: 5x 10/100Mbps
- WiFi: 2.4G: MT7628 built-in
5G: MT7612E
- 1x miniPCIe slot for LTE modem (only USB pins connected)
- 1x SIM slot
Flash instruction:
U-boot has a builtin web recovery page:
1. Hold the reset button while powering it up
2. Connect to the ethernet and set an IP in 192.168.1.0/24 range
3. Open your browser and upload firmware through http://192.168.1.1
Note about the LTE modem:
If your router comes with an EC25 module and it doesn't show up
as a QMI device, you should do the following to switch it to QMI
mode:
1. Install kmod-usb-serial-option and a terminal software
(e.g. minicom or screen). All 4 serial ports of the modem
should be available now.
2. Open /dev/ttyUSB3 with the terminal software and type this
AT command: AT+QCFG="usbnet",0
3. Power-cycle the router. You should now get a QMI device
recognized.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
- SoC: MediaTek MT7628AN
- Flash: 16MB (Winbond W25Q128JV)
- RAM: 64MB
- Serial: As marked on PCB, 3V3 logic, baudrate is 115200
- Ethernet: 3x 10/100 Mbps (switched, 2x LAN + WAN)
- WIFI0: MT7628AN 2.4GHz 802.11b/g/n
- WIFI1: MT7612EN 5GHz 802.11ac
- Antennas: 4x external (2 per radio), non-detachable
- LEDs: Programmable power-LED (two-colored, yellow/blue)
Non-programmable internet-LED (shows WAN-activity)
- Buttons: Reset
INSTALLATION:
1. Connect to the serial port of the router and power it up.
If you get a prompt asking for boot-mode, go to step 3.
2. Unplug the router after
> Erasing SPI Flash...
> raspi_erase: offs:20000 len:10000
occurs on the serial port. Plug the router back in.
3. At the prompt select option 2 (Load system code then
write to Flash via TFTP.)
4. Enter 192.168.1.1 as the device IP and 192.168.1.2 as the
Server-IP.
5. Connect your computer to LAN1 and assign it as 192.168.1.2/24.
6. Rename the sysupgrade image to test.bin and serve it via TFTP.
7. Enter test.bin on the serial console and press enter.
Signed-off-by: Markus Scheck <markus@mscheck.de>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[added mt76 compatible]
Cudy WR1200 is an AC1200 AP with 3-port FE and 2 non-detachable antennas
Specifications:
MT7628 (580 MHz)
64 MB of RAM (DDR2)
8 MB of FLASH
2T2R 2.4 GHz (MT7628)
2T2R 5 GHz (MT7612E)
3x 10/100 Mbps Ethernet (2 LAN + 1 WAN)
2x external, non-detachable antennas (5dbi)
UART header on PCB (57600 8n1)
7x LED, 2x button
Known issues:
The Power LED is always ON, probably because it is connected
directly to power.
Flash instructions
------------------
Load the ...-factory.bin image via the stock web interface.
Openwrt upgrade instructions
----------------------------
Use the ...-sysupgrade.bin image for future upgrades.
Revert to stock FW
------------------
Warning! This tutorial will work only with the following OEM FW:
WR1000_EU_92.122.2.4987.201806261618.bin
WR1000_US_92.122.2.4987.201806261609.bin
If in the future these firmwares will not be available anymore,
you have to find the new XOR key.
1) Download the original FW from the Cudy website.
(For example WR1000_EU_92.122.2.4987.201806261618.bin)
2) Remove the header.
dd if="WR1000_EU_92.122.2.4987.201806261618.bin" of="WR1000_EU_92.122.2.4987.201806261618.bin.mod" skip=8 bs=64
3) XOR the new file with the region key.
FOR EU: 7B76741E67594351555042461D625F4545514B1B03050208000603020803000D
FOR US: 7B76741E675943555D5442461D625F454555431F03050208000603060007010C
You can use OpenWrt's tools/firmware-utils/src/xorimage.c tool for this:
xorimage -i WR1000..bin.mod -o stock-firmware.bin -x -p 7B767..
Or, you can use this tool (CHANGE THE XOR KEY ACCORDINGLY!):
https://gchq.github.io/CyberChef/#recipe=XOR(%7B'option':'Hex','string':''%7D,'',false)
4) Check the resulting decrypted image.
Check if bytes from 0x20 to 0x3f are:
4C 69 6E 75 78 20 4B 65 72 6E 65 6C 20 49 6D 61 67 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Alternatively, you can use u-boot's tool dumpimage tool to check
if the decryption was successful. It should look like:
# dumpimage -l stock-firmware.bin
Image Name: Linux Kernel Image
Created: Tue Jun 26 10:24:54 2018
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 4406635 Bytes = 4303.35 KiB = 4.20 MiB
Load Address: 80000000
Entry Point: 8000c150
5) Flash it via forced firmware upgrade and don't "Keep Settings"
CLI: sysupgrade -F -n stock-firmware.bin
LuCI: make sure to click on the "Keep settings" checkbox
to disable it. You'll need to do this !TWICE! because
on the first try, LuCI will refuse the image and reset
the "Keep settings" to enable. However a new
"Force upgrade" checkbox will appear as well.
Make sure to do this very carefully!
Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[added wifi compatible, spiffed-up the returned to stock instructions]
This uses the existing rules for Sercomm factory images and moves them
to the ramips image Makefile, so they can be used in all subtargets.
The new factory image for WNDR3700v5 can be flashed using nmrpflash.
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Specification:
CPU: MT7628 580 MHz. MIPS 24K
RAM: 128 MB
Flash: 32 MB
WIFI: 802.11n/g/b 20/40 MHz
Ethernet: 5 Port ethernet switch
UART: 2x
Flash instruction:
The U-boot is based on Ralink SDK so we can flash the firmware using UART:
1. Configure PC with a static IP address and setup an TFTP server.
2. Put the firmware into the tftp directory.
3. Connect the UART0 line as described on the PCB.
4. Power up the device and press 2, follow the instruction to
set device and tftp server IP address and input the firmware
file name. U-boot will then load the firmware and write it into
the flash.
5. After firmware is started connect via ethernet at 192.168.1.1
Signed-off-by: Liu Yu <f78fk@live.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [removed dupped subject]
The factory firmware omits the JFFS2 end-marker while flashing via
web-interface. Add a 64k padding after the marker fixes this problem.
When the end-marker is not present, OpenWRT won't save the overlayfs
after initial flash.
Reported-by: Andreas Ziegler <dev@andreas-ziegler.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
It's OEM module with 2*26 pin header, similar to LinkIt Smart 7688 or
Vocore2.
Specification:
CPU: MT7628 580 MHz. MIPS 24K
RAM: 64 MB
Flash: 8 MB
WIFI: 802.11n/g/b 20/40 MHz
USB: 1x Port USB 2.0
Ethernet: 5 Port ethernet switch
UART: 2x
Installation: Use the installed uboot Bootloader. Connect a serial cable
to serialport 0. Turn power on. Choose the option: "Load system code
then write to Flash via TFTP". Choose the local device IP and the TFTP
server IP and the file name of the system image. After if the
Bootloader will copy the image to the local flash.
Notes: The I2C Kernel module work not correctly. You can send and
receive data. But the command i2cdetect doesn’t work. FS#845
Signed-off-by: Eike Feldmann <eike.feldmann@outlook.com>
[commit subject and message touches, DTS whitespace fixes, wifi LED
rename, pinctrl fixes, network settings fixes, lan/wmac mac addresses,
removed i2c kernel modules]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Hardware
--------
SoC: MediaTek MT7628NN
RAM: 64M DDR2 (Etron EM68B16CWQD-25H)
FLASH: 8M (Winbond W25Q64JVSIQ)
LED: Power - WLAN
BTN: Reset
UART: 115200 8N1
TX and RX are labled on the board as pads next to the SoC
Installation via web-interface
------------------------------
1. Visit the web-interface at 192.168.8.1
Note: The ethernet port is by default WAN. So you need to connect to
the router via WiFi
2. Navigate to the Update tab on the left side.
3. Select "Local Update"
4. Upload the OpenWrt sysupgrade image.
Note: Make sure you select not to preserve the configuration.
Installation via U-Boot
-----------------------
1. Hold down the reset button while powering on the device.
Wait for the LED to flash 5 times.
2. Assign yourself a static IPv4 in 192.168.1.0/24
3. Upload the OpenWrt sysupgrade image at 192.168.1.1.
Signed-off-by: David Bauer <mail@david-bauer.net>
The WIZnet WizFi630S board is in the miniPCIe form factor.
SoC: Mediatek MT7688AN
RAM: 128MB
Flash: 32Mb
WiFi: 2.4GHz
Ethernet: 3x 100Mbit
USB: 1 (USB 2.0)
serial ports: 2 (1x full, 1xlite)
Flash and recovery instructions: Use the factory installed u-boot boot
loader. It is available on UART2 (115200,8,n,1). Then get the
sysupgrade image from a tftp server.
Signed-off-by: Tobias Welz <tw@wiznet.eu>
[whitespace and device name in makefile fixes]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This patch adds support for the TP-Link TL-WR802N-v4.
https://openwrt.org/toh/tp-link/tl-wr802n
Specification:
- MT7628N (580 MHz)
- 64 MB RAM
- 8 MB FLASH
- 2T2R 2.4 GHz
- 1x 10/100 Mbps Ethernet
- 1x LED
Flash instruction:
The only way to flash the image in TL-WR802N v4 is to use
tftp recovery mode in U-Boot:
1. Configure PC with static IP 192.168.0.225/24 and tftp server.
2. Rename "openwrt-ramips-mt76x8-tplink_tl-wr802n-v4-squashfs-tftp-recovery.bin"
to "tp_recovery.bin" and place it in tftp server directory.
3. Connect PC with the LAN port, press the reset button, power up
the router and keep button pressed for around 10 seconds, until
device starts downloading the file.
4. Router will download file from server, write it to flash and reboot.
Signed-off-by: Marcel Jost <majo@icutech.ch>
This adds support for the TP-Link Archer C50 v4.
It uses the same hardware as the v3 variant, sharing the same FCC-ID.
CPU: MediaTek MT7628 (580MHz)
RAM: 64M DDR2
FLASH: 8M SPI
WiFi: 2.4GHz 2x2 MT7628 b/g/n integrated
WiFI: 5GHz 2x2 MT7612 a/n/ac
ETH: 1x WAN 4x LAN
LED: Power, WiFi2, WiFi5, LAN, WAN, WPS
BTN: WPS/WiFi, RESET
UART: Near ETH ports, 115200 8n1, TP-Link pinout
Create Factory image
--------------------
As all installation methods require a U-Boot to be integrated into the
Image (and we do not ship one with the image) we are not able to create
an image in the OpenWRT build-process.
Download a TP-Link image from their Wesite and a OpenWRT sysupgrade
image for the device and build yourself a factory image like following:
TP-Link image: tpl.bin
OpenWRT sysupgrade image: owrt.bin
> dd if=tpl.bin of=boot.bin bs=131584 count=1
> cat owrt.bin >> boot.bin
Installing via Web-UI
---------------------
Upload the boot.bin via TP-Links firmware upgrade tool in the
web-interface.
Installing via Recovery
-----------------------
Activate Web-Recovery by beginning the upgrade Process with a
Firmware-Image from TP-Link. After starting the Firmware Upgrade,
wait ~3 seconds (When update status is switching to 0%), then
disconnect the power supply from the device. Upgrade flag (which
activates Web-Recovery) is written before the OS-image is touched and
removed after write is succesfull, so this procedure should be safe.
Plug the power back in. It will come up in Recovery-Mode on 192.168.0.1.
When active, all LEDs but the WPS LED are off.
Remeber to assign yourself a static IP-address as DHCP is not active in
this mode.
The boot.bin can now be uploaded and flashed using the web-recovery.
Installing via TFTP
-------------------
Prepare an image like following (Filenames from factory image steps
apply here)
> dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1
> dd if=tpl.bin of=tmp.bin bs=131584 count=1
> dd if=tmp.bin of=boot.bin bs=512 skip=1
> cat boot.bin >> tp_recovery.bin
> cat owrt.bin >> tp_recovery.bin
Place tp_recovery.bin in root directory of TFTP server and listen on
192.168.0.66/24.
Connect router LAN ports with your computer and power up the router
while pressing the reset button. The router will download the image via
tftp and after ~1 Minute reboot into OpenWRT.
U-Boot CLI
----------
U-Boot CLI can be activated by holding down '4' on bootup.
Dual U-Boot
-----------
This is the first TP-Link MediaTek device to feature a split-uboot
design. The first (factory-uboot) provides recovery via TFTP and HTTP,
jumping straight into the second (firmware-uboot) if no recovery needs
to be performed. The firmware-uboot unpacks and executed the kernel.
Web-Recovery
------------
TP-Link integrated a new Web-Recovery like the one on the Archer C7v4 /
TL-WR1043v5. Stock-firmware sets a flag in the "romfile" partition
before beginning to write and removes it afterwards. If the router boots
with this flag set, bootloader will automatically start Web-recovery and
listens on 192.168.0.1. This way, the vendor-firmware or an OpenWRT
factory image can be written.
By doing the same while performing sysupgrade, we can take advantage of
the Web-recovery in OpenWRT.
It is important to note that Web-Recovery is only based on this flag. It
can't detect e.g. a crashing kernel or other means. Once activated it
won't boot the OS before a recovery action (either via TFTP or HTTP) is
performed. This recovery-mode is indicated by an illuminated WPS-LED on
boot.
Signed-off-by: David Bauer <mail@david-bauer.net>
Move the zip compression into a build recipe. Pad the image using the
existing build recipes as well to remove duplicate functionality
Change the code to append header and footer in two steps. Allow to use a
fixed filename as the netgear update image does.
Use a fixed timestamp within the zip archive to make the images
reproducible.
Due to the changes we are now compatible to the gnu89 c standard used by
default on the buildbots and we don't need to force a more recent
standard anymore.
Beside all changes, the footer still looks wrong in compare to the
netgear update image.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Select the matching mt76 driver for the PCI wireless of the following
devices:
- HiWiFi HC5861B
- Mercury MAC1200R v2.0
- Netgear AC1200 R6120
- Buffalo WCR-1166DS
- ZyXEL Keenetic Extra II
- Wavlink WL-WN575A3
Because every device has selected the corresponding mt76 driver, we can
include kmod-mt7603 instead of the mt76 metapackage, which used for the
wireless of the mt7628 and mt7688 WiSoC.
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
[select kmod-mt7603 as target default package, add wireless driver for
WL-WN575A3]
Signed-off-by: Mathias Kresin <dev@kresin.me>
Currently OpenWrt doesn't support switching MT7628 into AP mode
(which is done by writing some undocumented registers in MTK SDK)
Without doing so, enabling SD breaks 4 FE ports and the SD controller
doesn't work since SD pins aren't configured correctly.
Disable SDHC on HC5661A to recover the 4 FE ports.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
[drop the sdhci node completely]
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use .bin as file extension where possible. The user doesn't need to that
sysupgrade images for NAND boards are tarballs.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use the generic board detection instead of the target specific one as
all recent additions are doing.
Add the wireless led according the gpio number from the datasheet.
Rename the board part of the leds to match the name used for the
compatible string. Finally, do not hijack the wps led for boot status
indication longer than necessary.
Merge userspace config into existing cases.
Include the manufacture Name in the dts model string.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Specifically, SKW92A_E16, described here:
http://www.skylabmodule.com/wp-content/uploads/SkyLab_SKW92A_V1.04_datasheet.pdf
Specification:
- MediaTek MT7628N/N (580 Mhz)
- 64 MB of RAM
- 16 MB of FLASH
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
- 2x u.FL
- Power by micro-USB connector at USB1 on EVB
- UART via micro-USB connector at USB3 on EVB (57600 8n1)
- 5x Ethernet LEDs
- 1x WLAN LEDs
- 1x WPS LED connected by jumper wire from I2S_CK on J20 to WPS_LED pin hole next
to daughter board on EVB
- WPS/Reset button (S2 on EVB)
- RESET button (S1 on EVB) is *not* connected to RST hole next to daughter board
Flash instruction:
>From Skylab firmware:
1. Associate with SKYLAP_AP
2. In a browser, load: http://10.10.10.254/
3. Username/password: admin/admin
4. In web admin interface: Administration / Upload Firmware, browse to
sysupgrade image, apply, flash will fail with a message:
Not a valid firmware. *** Warning: "/var/tmpFW" has corrupted data!
5. Telnet to 10.10.10.254, drops you into a root shell with no credentials
6. # cd /var
7. # mtd_write -r write tmpFW mtd4
Unlocking mtd4 ...
Writing from tmpFW to mtd4 ... [e]
8. When flash has completed, you will have booted into your firmware.
>From U-boot via TFTP and initramfs:
1. Place openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin on a TFTP server
2. Connect to serial console at USB3 on EVB
3. Connect ethernet between port 1 (not WAN) and your TFTP server (e.g.
192.168.11.20)
4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC
5. Apply power to EVB
6. Interrupt u-boot with keypress of "1"
7. At u-boot prompts:
Input device IP (10.10.10.123) ==:192.168.11.21
Input server IP (10.10.10.3) ==:192.168.11.20
Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin
8. Move ethernet to port 0 (WAN) on EVB
9. At new OpenWrt console shell, fetch squashfs-sysupgrade image and flash
with sysupgrade.
>From U-boot via TFTP direct flash:
1. Place openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin on a TFTP server
2. Connect to serial console at USB3 on EVB (57600 8N1)
3. Connect ethernet between port 1 (not WAN) an your TFTP server (e.g.
192.168.11.20)
4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC
5. Apply power to EVB
6. Interrupt u-boot with keypress of "2"
7. At u-boot prompts:
Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Y
Input device IP (10.10.10.123) ==:192.168.11.21
Input server IP (10.10.10.3) ==:192.168.11.20
Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin
8. When transfer is complete or as OpenWrt begins booting, move ethernet to
port 0 (WAN).
Signed-off-by: Russell Senior <russell@personaltelco.net>
Both devices come with a MediaTek MT7610E 5GHz 802.11ac 1T1R radio
which wasn't supported at the time the devices were added to OpenWrt.
Now that we got it, include kmod-mt76x0e in images for those devices.
Reported-by: Arian Sanusi <openwrt@semioptimal.net>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
as indicated in commit c5bf408ed6 "(ramips: fix image generation for mt76x8")
more rework was needed to fix the other issues.
Building on another machine, but using the same arch, showed
the application failing again for different reasons.
Fix this by completely rewriting the application, fixing following found issues:
- buffer overflows, resulting in stack corruption
- flaws in memory requirement calculations (too small, too large)
- memory leaks
- missing bounds checking on string handling
- non-reproducable images, by using unitilized memory in checksum calculation
- missing error handling, resulting in succes on specific image errors
- endianness errors when building on BE machines
- various minor build warnings
- documentation did not match the code actions (header item locations)
- allowing input to be decimal, hex or octal now
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>