Add support for D-Link DIR-2055 A1 based on similarities to DIR-1960 A1,
as well as various DIR-8xx A1 models. Existing DIR-1960 A1 openwrt
"factory" firmware installs without modifications via the D-Link Recovery
GUI and has no known incompatibilities with the DIR-2055 A1.
Changes to be committed:
new file: target/linux/ramips/dts/mt7621_dlink_dir-2055-a1.dts
modified: target/linux/ramips/image/mt7621.mk
modified: target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
modified: target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
Specifications:
Board: Not known
SoC: MediaTek MT7621 Family (MT7621AT)
RAM: 256 MB (Micron 9OK17 D9PTK, should be DDR3 MT41K128M16JT-125)
Flash: 128 MB (Winbond W29N01HVSINA)
WiFi: MediaTek MT7615 Family (MT7615N x2)
Switch: 1 WAN, 4 LAN (Gigabit)
Ports: 1 USB 3.0 (front)
Buttons: Reset, WiFi Toggle, WPS
LEDs: Power (white/orange), Internet (white/orange),
WiFi 2.4G (white), WiFi 5G (white)
Notes:
Only known difference vs. the DIR-1960 A1 is that the DIR-2055 A1
doesn't have a USB activity LED
Serial port:
Tested to be identical to various DIR-8xx A1 models with a similar
enclosure/pcb design:
Parameters: 57600, 8N1, 3.3V TTL no flow control
Location: J1 header (close to the Reset, WiFi and WPS buttons)
Pinout: 1 - VCC 2 - RXD 3 - TXD 4 - GND
Did not connect VCC when using
Installation:
D-Link Recovery GUI: power down the router, press and hold the reset
button, then re-plug it. Keep the reset button pressed until the power
LED starts flashing orange, manually assign a static IP address under
the 192.168.0.xxx subnet (e.g. 192.168.0.2) and go to
http://192.168.0.1
Some modern browsers may have problems flashing via the Recovery GUI,
if that occurs consider uploading the firmware through cURL:
curl -v -i -F "firmware=@file.bin" 192.168.0.1
Signed-off-by: Keith Harrison <keithh@protonmail.com>
Use a simple Shell script like on filogic target to get rid of downstream
patch for the Ethernet driver which was rejected upstream long ago.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Fix compile error:
drivers/dma/ralink-gdma.c: In function 'gdma_dma_config':
drivers/dma/ralink-gdma.c:197:40: error: 'struct dma_slave_config' has no member named 'slave_id'
197 | chan->slave_id = config->slave_id;
| ^~
drivers/dma/ralink-gdma.c:206:40: error: 'struct dma_slave_config' has no member named 'slave_id'
206 | chan->slave_id = config->slave_id;
| ^~
make[8]: *** [scripts/Makefile.build:243: drivers/dma/ralink-gdma.o] Error 1
ref: https://lore.kernel.org/all/20211122222203.4103644-1-arnd@kernel.org/
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
The gdma driver has been removed from the upstream. Let's move it
to the local files. This patch also removed unsupported compatible
string and sub-target.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
ELECOM WRC-X1800GS is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on
MT7621A.
Specification:
- SoC : MediaTek MT7621A
- RAM : DDR3 256 MiB
- Flash : RAW-NAND 128 MiB (Macronix MX30LF1G28AD-TI)
- WLAN : 2.4/5 GHz 2T2R (MediaTek MT7915D)
- Ethernet : 5x 10/100/1000 Mbps
- switch : MediaTek MT7530 (SoC)
- LEDs/Keys (GPIO) : 7x/4x
- UART : pin-header on PCB ("J5")
- arrangement : 3.3V, TX, RX, NC, GND from tri-angle marking
- settings : 115200n8
- Power : 12 VDC, 1 A
Flash instruction using initramfs-factory image:
1. Boot WRC-X1800GS normally with "Router" mode
2. Access to "http://192.168.2.1/" and open firmware update page
("ファームウェア更新")
3. Select the OpenWrt initramfs-factory image and click apply ("適用")
button
4. After flashing initramfs-factory image and reboot, upload the
sysupgrade image and perform sysupgrade with it
5. Wait ~120 seconds to complete flashing
Notes:
- WRC-X1800GS has 2x os images. Those are switched on every firmware
updating on stock firmware, but dual-boot feature on this device
cannot be handled on OpenWrt. So the 1st image is always used on
OpenWrt.
This is controlled by "bootnum" variable embedded in "persist"
partition (addr: 0x4).
- WRC-X1800GS has 2x HW revisions. There are some small changes, but the
same DeviceTree in stock firmware is used for both revisions.
On this support of WRC-X1800GS, 2x green:wlan-2g-N LEDs are defined
for each revision and the same default triggers are set.
MAC addresses:
LAN : 38:97:A4:xx:xx:38 (Factory, 0x1fdfa (hex) / Ubootenv, ethaddr (text))
WAN : 38:97:A4:xx:xx:3B (Factory, 0x1fdf4 (hex))
2.4 GHz: 38:97:A4:xx:xx:39
5 GHz : 38:97:A4:xx:xx:3A
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Specifications:
CPU: MT7628AN 580MHz
RAM: 64MB DDR2
FLASH: 8MB EN25QH64 NOR SPI
WIFI: 2.4GHz 2x2 MT7628 b/g/n internal
WIFI: 5GHz 1x1 MT7610E ac/n PCI
LTE: Qualcomm MDM9207
ETH: 4xLAN 100base-T integrated
SWITCH: RT3050-ESW Port 0,1,2,3: LAN, Port 6: CPU
LEDS: LAN, WAN, Power, 3x signal strength, WiFi
BTNS: Reset, WiFi toggle
UART: Near ETH ports, Vcc-GND-RX-TX, 115200, 8N1
Installation:
1. Update using recovery mode
- set your IP to 192.168.0.225, subnet mask: 255.255.255.0
- start tftp server, rename tftp-recovery.bin to
tp_recovery.bin and place it into the server's directory
- while holdig the "reset" button, power on the device
- keep holding "reset" until the file is being transferred
Notes:
This board has only one MAC address programmed
in the "romfile" partition:
- MAC for phy0 (2.4GHz) at romfile 0xf100 (0)
- MAC for phy1 (5GHz) at romfile 0xf100 (-1)
- stock firmware re-uses phy0 MAC for ethernet
- stock firmware uses romfile 0xf100 (1) for WWAN;
not used since QMI interface is raw IP
Signed-off-by: Lea Teuberth <lea.teuberth@outlook.com>
This code assumed that the mt7628an_tplink_8m.dtsi file defines
mediatek,mtd-eeprom for the wmac and sets status to okay.
The mediatek,mtd-eeprom definition was removed in commit e93f41adee
("ramips: convert MT7628 EEPROM to NVMEM format") but the dts for these
two devices was not adapted to include the eeprom position on its own.
The status = "okay" property was removed in 0a1d15642f ("ramips:
mt7628: use nvmem-layout"), but the property was not added to these dts
files.
Without this change wifi does not work for these devices.
Fixes: e93f41adee ("ramips: convert MT7628 EEPROM to NVMEM format")
Fixes: 0a1d15642f ("ramips: mt7628: use nvmem-layout")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
- Soc: MediaTek MT7621AT
- RAM: 512 MB (DDR3)
- Flash: 16 MB (SPI NOR)
- WiFi: MediaTek MT7905DAN, MediaTek MT7975DN
- Ethernet: 1 WAN, 3 LAN (Gigabit)
- Buttons: Reset, Joylink
- LEDs: (red, blue, green), routed to one indicator in the top of the
device
- Power: DC 12V 1A tip positive
- 1 TF Card Slot
The pins for the serial console are already labeled on the board
J4(V, R, T, G). Serial settings: 3.3V, 115200
MAC addresses:
| | MAC | Algorithm |
| ------- | ----------------- | --------- |
| label | dc:d8:xx:xx:xx:01 | label |
| LAN | dc:d8:xx:xx:xx:01 | label |
| WAN | dc:d8:xx:xx:xx:02 | label+1 |
| WLAN 2g | dc:d8:xx:xx:xx:03 | label+2 |
| WLAN 5g | de:d8:xx:xx:xx:04 | label+3 |
1. rename the
openwrt-ramips-mt7621-jdcloud_re-cp-02-squashfs-sysupgrade.bin
to JDCOS.bin
2. start a TFTP server from IP address 192.168.68.10 and serve the
image named JDCOS.bin
3. connect your device to the LAN port
4. power up the router and press any key on the console to interrupt
the boot process.
5. enter the following commands on the router console
1. setenv bootcount 6
2. saveenv
3. reset
> NOTE: wait for the restart, it will automatically fetch the
> image named JDCOS.bin from the TFTP server and write it into
> the flash. After the writing is completed, the router will be
> automatically restarted.
Unable to recognize large-capacity TF card, see #14042. But the patch
https://github.com/openwrt/openwrt/issues/14042#issuecomment-1910769942
works
Co-Authored-By: Jianti Chen <clbcjt@outlook.com>
Signed-off-by: Sheng Huang <shenghuang147@gmail.com>
This device is similiar to the Wavlink WL-WN531A3.
Hardware
--------
SoC: Mediatek MT7620A
RAM: 64MB
FLASH: 8MB NOR (GigaDevice GD25Q64CS)
ETH:
- 2x 10/100/1000 Mbps Ethernet (RTL8211F)
- 3x 10/100 Mbps Ethernet (integrated in SOC)
WIFI:
- 2.4GHz: 1x (integrated in SOC) (2x2:2)
- 5GHz: 1x MT7612E (2x2:2)
- 4 external antennas
BTN:
- 1x Reset button
- 1x Touchlink button
- 1x Turbo button
- 1x Wps button
- 1x ON/OFF switch
LEDS:
- 1x Red led (system status)
- 1x Blue led (system status)
- 5x Blue leds (ethernet ports)
- 1x Power led
- 1x Wifi led
UART:
- 57600-8-N-1
Everything works correctly.
Installation
------------
Flash the initramfs image in the OEM firmware interface
When Openwrt boots, flash the sysupgrade image otherwise you won't be
able to keep configuration between reboots.
In my case the whole device was locked and there was no way
to flash the image, except for flashing directly to the flash
via an spi-flasher. You need to put the sysupgrade image file at
the beginning of 0x60000.
Notes
-----
1) Router mac addresses:
LAN XX:XX:XX:XX:XX:F0 (factory @ 0x28)
WAN XX:XX:XX:XX:XX:F1 (factory @ 0x2e)
WIFI 2G XX:XX:XX:XX:XX:F2 (factory @ 0x04)
WIFI 5G XX:XX:XX:XX:XX:F3 (factory @ 0x8004)
LABEL XX:XX:XX:XX:XX:F2
Signed-off-by: Eros Brigmann <erosbrigmann@gmail.com>
Hardware Specification:
SoC: Mediatek MT7621DAT (MIPS1004Kc 880 MHz, dual core)
RAM: 128 MB
Storage: 128 MB NAND flash
Ethernet: 5x 10/100/1000 Mbps LAN1,LAN2,LAN3,LAN4 & WAN
Wireless: 2.4GHz: Mediatek MT7603EN up to 300Mbps (802.11b/g/n MIMO 2x2)
Wireless: 5GHz: Mediatek MT7615N up to 1733Mbps (802.11n/ac MU-MIMO 4x4)
LEDs: Power (white & amber), Internet (white & amber)
LEDs: 2.4G (White), 5Ghz (White)
Buttons: WPS, Reset
MAC Table
Label xx:xx:xx:xx:xx:EB
LAN xx:xx:xx:xx:xx:EB
2.4Ghz xx:xx:xx:xx:xx:EC
5Ghz xx:xx:xx:xx:xx:ED
WAN xx:xx:xx:xx:xx:EE
Flash instructions:
D-Link normal OEM firmware update page
1. upload OpenWRT factory.bin like any D-Link upgrade image
D-Link Recovery GUI:
1. Push and hold reset button (on the bottom of the device) until power led starts flashing (about 10 secs or so) while plugging in the power cable.
2. Give it ~30 seconds, to boot the recovery mode GUI
3. Connect your client computer to LAN1 of the device
4. Set your client IP address manually to 192.168.0.2 / 255.255.255.0
5. Call the recovery page for the device at http://192.168.0.1/
6. Use the provided emergency web GUI to upload the recovery.bin to the device
Firefox on Windows in a Private Window (incognito) works me
Internet Explorer mode in Microsoft Edge works for others
seems to not work in Linux or virtual machine on Linux for most
some see success using 'curl -v -i -F "firmware=@file.bin" 192.168.0.1'
Thanks to @frkca and @rodneyrod for testing and pushing for its creation
Signed-off-by: Alan Luck <luckyhome2008@gmail.com>
Setting the LED name and abandoning the label and using the
function/color syntax for some TP-Link Archer series routers:
Archer C2 v1, Archer C20 v1, Archer C20i and Archer C50 v1
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Abandoning the label and using the function/color syntax for some dlink
dir series routers: dir-1960-a1, dir-2660-a1, dir-2640-a1, dir-3040-a1
and dir-3060-a1
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Rename from mt7621_dlink_dir-xx60-a1.dtsi to mt7621_dlink_dir_nand_128m.dtsi
and associated group name when creating the mt7621.mk image
Co-authored-by: Alan Luck <luckyhome2008@gmail.com>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Remove unnecessary 'if' macros for previous kernel versions.
After removing kernel 6.1 the kernel is always >= 6.6 so the conditions
are unnecessary.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
[removed some more and also no longer include version.h]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Currently, the MT7530 DSA subdriver configures the MT7530 switch to provide
direct access to switch PHYs, meaning, the switch PHYs listen on the MDIO
bus the switch listens on. The PHY muxing feature makes use of this.
This is problematic as the PHY may be attached before the switch is
initialised, in which case, the PHY will fail to be attached.
Since commit 91374ba537bd ("net: dsa: mt7530: support OF-based registration
of switch MDIO bus") on mainline Linux, we can describe the switch PHYs on
the MDIO bus of the switch on the device tree.
When the PHY is described this way, the switch will be initialised first,
then the switch MDIO bus will be registered. Only after these steps, the
PHY will be attached.
Describe the switch PHYs on mt7621.dtsi and remove defining the switch PHY
on the SoC's mdio bus node. When the PHY muxing is in use, the interrupts
for the muxed PHY won't work, therefore delete the "interrupts" property on
the devices where the PHY muxing feature is in use.
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
The ethernet-phy@4 node doesn't exist for WAVLINK WL-WN573HX1. Remove it
and the duplicate gmac0 node.
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Currently, the pinctrl-0 property on the ethernet node is modified to
exclude the rgmii1 and rgmii2 pin groups to be claimed with rgmii1 and
rgmii2 functions, respectively. Remove the modification of this property as
we need these pin groups to be claimed with the said functions for this
device.
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
1. Enable this feature only for 32-bit CPUs as MIPS64 can not
access the full range unmapped uncached memory.
2. Backport this fix to the 6.1 old LTS kernel.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
This adds support for the A1 hardware revision of the DIR-3040.
It is an exact copy of the DIR-3060 save for some cosmetic changes to the housing.
Even going so far as having the same FCC ID.
Hardware specification:
SoC: MediaTek MT7621AT
Flash: Winbond W29N01HVSINA 128MB
RAM: Micron MT41K128M16JT-125 256MB
Ethernet: 5x 10/100/1000 Mbps
WiFi1: MT7615DN 2.4GHz N 2x2:2
WiFi2: MT7615DN 5GHz AC 2x2:2
WiFi3: MT7615N 5GHz AC 4x4:4
Button: WPS, Reset
Flash instructions:
OpenWrt can be installed via D-Link Recovery GUI:
NOTE: Seems to only work in Firefox on Windows.
Tried with Chrome on Windows, Firefox in Linux, and Chromium in Linux.
None of these other browsers worked.
1. Push and hold reset button (on the bottom of the device) until power led
starts flashing (about 10 secs or so) while plugging in the power cable.
2. Give it ~30 seconds, to boot the recovery mode GUI
3. Connect your client computer to LAN1 of the device
4. Set your client IP address manually to 192.168.0.2 / 255.255.255.0.
5. Call the recovery page for the device at http://192.168.0.1/
6. Use the provided emergency web GUI to upload and flash a new firmware to the device
Thanks to @Lucky1openwrt and @iivailo for creating the DIR-3060 DTS file and related changes,
so it was possible for me to adapt them to the DIR-3040, build images,
test and fix minor issues.
MAC Addresses:
| use | address | example |
| --- | --- | --- |
| LAN | label | f4:*:61 |
| WAN | label + 4 | f4:*:65 |
| WI1/2g | label + 2 | f4:*:63 |
| WI1/5g | label + 1 | f4:*:62 |
| WI2/5g | label + 3 | f4:*:64 |
The label MAC address was found in Factory, 0xe000
Checklist:
✓ nand
✓ ethernet
✓ button
✓ wifi2g
✓ wifi5g
✓ wifi5g
✓ mac
✓ led
Signed-off-by: Vince McKinsey <vincemckinsey@gmail.com>
TP-Link EC220-G5 v2 is a dual band router with 4 GbE ports
Advertised as AC1200 for its 867Mbps (2x2) 5GHz band
and 300 Mbps (2x2) 2.4GHz band.
Specs:
- SoC: MediaTek MT7620A
- Ethernet: 4x GbE ports (Realtek RTL8367S)
- Wireless 2.4GHz: MediaTek MT7620A
- Wireless 5GHz: MediaTek MT7612E
- RAM: 64MiB
- ROM: 8MiB (W25Q64BV)
- 2 Buttons (WPS and reset)
- 7 LEDs
Flash instructions via serial console:
1. Rename the factory.bin to to test.bin
2. start a TFTP server from IP address 192.168.0.225 and serve the image named test.bin
3. connect your device to the LAN port
4. power up the router and press 4 on the console to stop the boot process.
5. enter the following commands on the router console
tftp 0x80060000 test.bin
erase tplink 0x20000 0x7a0000
cp.b 0x80060000 0x20000 0x7a0000
reset
Flash instructions via TFTP:
1. Update orginal firmware of the router to the latest one.
2. Rename openwrt-ramips-mt7620-tplink_ec220-g5-v2-squashfs-tftp-recovery.bin to tp_recovery.bin
3. Change computer IP to 192.168.0.66
4. Run TFTP serwer
5. Start the router with the reset button pressed, the file will be automatically downloaded and after a while the router will restart.
6. After updating, set your computer's IP to DHCP
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Change the name mt7620a_tplink_archer.dtsi to mt7620a_tplink_8m.dtsi because it will also be a base for TP-Link non-Archer routers.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Compatiblity with kernel 6.6 for Awinic AW9523B i2c pin controller driver.
It follows the kernel patch: i2c: Drop legacy callback .probe_new() (5eb1e6e459)
and kernel patch: gpiolib: Get rid of not used of_node member (70d0fc4288)
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Fix error: 'struct snd_soc_dai_driver' has no member named 'remove'
It follows the kernel patch: ASoC: soc-dai.h: remove unused call back functions (446b31e894)
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
This is an automatically generated commit which aids following Kernel patch history,
as git will see the move and copy as a rename thus defeating the purpose.
See: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
for the original discussion.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
This is an automatically generated commit.
During a `git bisect` session, `git bisect --skip` is recommended.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
This is an automatically generated commit which aids following Kernel patch history,
as git will see the move and copy as a rename thus defeating the purpose.
See: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
for the original discussion.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
This is an automatically generated commit.
During a `git bisect` session, `git bisect --skip` is recommended.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
TP-Link RE205 v3 is a wireless range extender with Ethernet and 2.4G and 5G
WiFi with external antennas.
It's based on MediaTek MT7628AN+MT7610EN like the RE200 v3/v4 but with
external antennas.
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
- 5x LED (GPIO-controlled), 2x button
- UART connection holes on PCB (57600 8n1)
There are 2.4G and 5G LEDs in blue which are controlled separately.
Installation
------------
Installation is identical to RE200 v3 devices as described at
https://openwrt.org/toh/tp-link/re200#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.
Recovery
--------
U-Boot seems to be locked on newer versions, if not it can be accessed over
the UART as described in the link above.
Signed-off-by: Steffen Loley <slo-src@web.de>
With kernel 6.1 image size is too large for Edgerouter X current size
limit and is causing the buildbots to fail building so images for other
devices are not updated as well.
So, disable building Edgerouter X images until a workaround is found.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Remove the remaining configuration entries that were omitted in the
previous commit.
Fixes: 1576474f55 ("ramips: switch to 6.1 kernel")
Signed-off-by: Nick Hainke <vincent@systemli.org>
This commit adds support for Z-ROUTER ZR-2660 (also known as Routerich
AX1800) wireless WiFi 6 router.
Specification
-------------
- SoC : MediaTek MT7621AT, MIPS, 880 MHz
- RAM : 256 MiB
- Flash : NAND 128 MiB (AMD/Spansion S34ML01G2)
- WLAN :
- 2.4 GHz : MediaTek MT7905D/MT7975 (14c3:7916), b/g/n/ax, MIMO 2x2
- 5 GHz : MediaTek MT7915E (14c3:7915), a/n/ac/ax, MIMO 2x2
- Ethernet : 10/100/1000 Mbps x4 (1x WAN, 3x LAN)
- USB : 1x 2.0
- UART : 3.3V, 115200n8, pins are silkscreened on the pcb
- Buttons : 1x Reset
- LEDs : 1x WiFi 2.4 GHz (green)
1x WiFi 5 GHz (green)
1x LAN (green)
1x WAN (green)
1x WAN no-internet (red)
- Power : 12 VDC, 1 A
Installation
------------
1. Run tftp server on your PC (IP: 192.168.2.2) and put OpenWrt initramfs
image (initramfs.bin) to the tftp root dir
2. Open the following link in the browser to enable telnet:
http://192.168.2.1/cgi-bin/telnet_ssh
3. Connect to the router (default IP: 192.168.2.1) using telnet shell
(credentials - user:admin)
4. Run the following commands in the telnet shell (this will install
OpenWrt initramfs image on nand flash):
cd /tmp
tftp -g -r initramfs.bin 192.168.2.2
mtd write initramfs.bin firmware
mtd erase firmware_backup
reboot
5. Copy OpenWrt sysupgrade image (sysupgrade.bin) to the /tmp dir of the
router
6. Connect to the router (IP: 192.168.1.1) using ssh shell and run
sysupgrade command:
sysupgrade -n /tmp/sysupgrade.bin
Return to stock
---------------
1. Copy stock firmware (stock.bin) to the /tmp dir of the router using scp
2. Run following command in the router shell:
cd /tmp
mtd write stock.bin firmware
reboot
Recovery
--------
Connect uart (pins are silkscreened on the pcb), interrupt boot process by
pressing any key, use u-boot menu to flash stock firmware image or OpenWrt
initramfs image.
MAC addresses
-------------
+---------+-------------------+-----------+
| | MAC | Algorithm |
+---------+-------------------+-----------+
| LAN | 24:0f:5e:xx:xx:4c | label |
| WAN | 24:0f:5e:xx:xx:4d | label+1 |
| WLAN 2g | 24:0f:5e:xx:xx:4e | label+2 |
| WLAN 5g | 24:0f:5e:xx:xx:4f | label+3 |
+---------+-------------------+-----------+
The WLAN 2.4 MAC was found in 'factory', 0x4
The LAN MAC was found in 'factory', 0xfff4
The WAN MAC was found in 'factory', 0xfffa
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
The YunCore G720 is a dual band 802.11ax router with 5 GbE ports.
Specs:
- SoC: MediaTek MT7621
- Ethernet: 5x GbE ports (built-in MT7530)
- Wireless 2.4GHz / 5GHz: MediaTek MT7915E
- RAM: 256MiB
- ROM: 16MiB (W25Q128)
- 1 Button (reset)
- 8 LEDs (1x system, 2x wifi, 5x switch ports)
Flash instructions:
The vendor firmware is based on OpenWrt, the sysupgrade image can be
flashed using the '-F' (force) option on the CLI.
Make sure not to keep settings when doing so.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
We have had the testing kernel for several weeks now. Let's switch to 6.1
to have more testers. Additionally, 6.6 is already in the pipeline.
Signed-off-by: Nick Hainke <vincent@systemli.org>
* Increase flash SPI frequency to 50MHz
The maximum SPI frequency of MX25L6406EM2I is 86 MHz,
but in this patch 50 MHz was chosen as a safe value.
* Update Ethernet MAC addresses
Till now LAN/WAN MAC addresses were flipped
compared to stock firmware.
* Fix Wi-Fi LEDs by adding mt76 led nodes
* Fix LAN port order
LAN ports are in reverse order of switch ports.
* Fix the well-known "LZMA ERROR 1" error by using lzma-loader
* Set uImage name, which enables installation via stock web interface:
1. Upload **initramfs** image file to the web page.
2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Unlike the recovery image, this initramfs-factory image can be flashed
using the stock firmware web interface (from any active boot partition),
as well as the bootloader recovery web page. Drop the recovery image in
favor of the factory image.
Installation via stock/recovery web interface:
1. Flash **initramfs-factory** image through the web page.
2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
The "0x80001000" address logically comes from "loadaddr-y" variable for
mt7621 subtarget. Let's replace the hardcoded value with the predefined
variable. This change is purely cosmetic.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Contrary to common ipTIME NOR devices, the "Config" partition of T5004
and AX2004M contain normal U-Boot environment variables. Renaming the
partition into "u-boot-env" serves for better description, and it also
conforms to common naming practice in OpenWrt.
This patch might also be extended to A3004T, but its u-boot-env
partition layout has not been confirmed yet.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
AX2004M uses NMBM on its NAND flash, but it was not enabled in DTS as the
device support [1] had been added before NMBM feature in mtk_bmt driver [2].
Let's enable it now.
With this change, there is a low possibility of boot failure after
sysupgrade from older versions. As AX2004M already has gone through
two stable releases in the meantime, it would be safe to warn users
by bumping DEVICE_COMPAT_VERSION.
[1] 37753f34ac ("ramips: add support for ipTIME AX2004M")
[2] 06382d1af7 ("kernel: add support for mediatek NMBM flash mapping support")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
The original commit had an invalid setting of the
led status for this device.
There is no gpio pin connected to that led so lets
remove these from the u7621-01 dtsi file.
Signed-off-by: David Bentham <db260179@gmail.com>
TP-Link Archer C5 v4 is a dual band router with 5 GbE ports
Advertised as AC1200 for its 867Mbps (2x2) 5GHz band
and 300 Mbps (2x2) 2.4GHz band.
Specs:
- SoC: MediaTek MT7620A
- Ethernet: 5x GbE ports (Realtek RTL8367S)
- Wireless 2.4GHz: MediaTek MT7620A
- Wireless 5GHz: MediaTek MT7612E
- RAM: 64MiB
- ROM: 8MiB (GD25Q64CSIG)
- 1 USB 2.0 port
- 2 Buttons (WPS and reset)
- 8 LEDs
Flash instructions:
Currently one has to install OpenWrt only via the serial console
1. Rename the factory.bin to to test.bin
2. start a TFTP server from IP address 192.168.0.225 and serve the image named test.bin
3. connect your device to the LAN port
4. power up the router and press 4 on the console to stop the boot process.
5. enter the following commands on the router console
tftp 0x80060000 test.bin
erase tplink 0x20000 0x7a0000
cp.b 0x80060000 0x20000 0x7a0000
reset
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
[Update leds, add fast-read]
Signed-off-by: Gaspare Bruno <gaspare@anlix.io>
[Rebuilt version based on mt7620 tplink_archer.dtsi, support for external LNA, remove bad cell count info]
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
add back WIFI eprom addresses pointer in mt7621_dlink_dir-xx60-a1.dtsi
Change MAC address pointer from factory_e006 to factory_e000 + 3
same as used in D-link firmware 1.11 DIR-1960-A1
DIR-1960-A1,DIR-2640-A1,DIR-2660-A1,DIR-3060-A1
Clean-up MAC addresses in D-Link NOR devices DTS's
Change WIFI MAC Addressees to the same as NAND cousins macaddr_factory_e000 + ?
as later devices don't have the MAC address in factory configuration
same as used in D-Link firmware 1.30 DIR-878-A1
DIR-867-A1,DIR-878-A1,DIR-878-R1,DIR-882-A1,DIR-882-R1,DIR-1935-A1
* D-link software differs between source of wan address
Signed-off-by: Alan Luck <luckyhome2008@gmail.com>
The U-Boot binary for the RAVPower RP-WD009 has been renamed.
In order to be uniform with all other U-Boot binaries generated the SoC type has been prepended.
Set that new name also in the image build recipe for that device in order to fix build.
Fixes: 927334a8f7 ("uboot-mediatek: add basic build for ZBT-WG3526 (MT7621, 16M SPI-NOR)")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Replace previous patch adding paths and SerDes modes with patch series
pending upstream adding dedicated drivers for XFI T-PHY and USXGMII PCS,
extends LynxI PCS to be a standalone platform driver and as a consequence
makes much less changes to the actual Ethernet driver mtk_eth_soc.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Let's pick a bunch of useful phylink changes which allow us to keep
drivers in sync with mainline Linux.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This Qualcomm Gigabit phy driver was mistakenly added because
MT76x8 does not support external phy, and it only supports max
100M full duplex speed.
Fixes: cadf517107 ("ralink: add support for mt7628")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Backport QCA807x PHY patches merged upstream that introduce the new
concept of PHY package.
Also add in generic config the new Kconfig CONFIG_QCA807X_PHY.
All affected patch automatically refreshed with make
target/linux/refresh.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
u64_stats_init() has been unable to handle NULL pointer since
6.1 kernel. This patch fixes kernel oops on mt76x8 and rt305x
sub-target.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
In the 5.15 kernel, we use the staging driver version instead of the
downstream file.
Fixes: 88d982e3bd ("ramips: 6.1: mt7621-dma: add hsdma driver to files")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Fixes errors in the form of:
make[9]: Entering directory '/home/nick/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7620/linux-6.1.77'
CC drivers/net/ethernet/ralink/mtk_eth_soc.o
drivers/net/ethernet/ralink/mtk_eth_soc.c: In function 'fe_init':
drivers/net/ethernet/ralink/mtk_eth_soc.c:1368:51: warning: passing argument 2 of 'of_get_mac_address' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
1368 | of_get_mac_address(priv->dev->of_node, dev->dev_addr);
| ~~~^~~~~~~~~~
In file included from drivers/net/ethernet/ralink/mtk_eth_soc.c:26:
./include/linux/of_net.h:16:59: note: expected 'u8 *' {aka 'unsigned char *'} but argument is of type 'const unsigned char *'
16 | extern int of_get_mac_address(struct device_node *np, u8 *mac);
| ~~~~^~~
drivers/net/ethernet/ralink/mtk_eth_soc.c: In function 'fe_probe':
drivers/net/ethernet/ralink/mtk_eth_soc.c:1641:9: error: too many arguments to function 'netif_napi_add'
1641 | netif_napi_add(netdev, &priv->rx_napi, fe_poll, napi_weight);
| ^~~~~~~~~~~~~~
In file included from ./include/linux/etherdevice.h:21,
from drivers/net/ethernet/ralink/mtk_eth_soc.c:21:
./include/linux/netdevice.h:2611:1: note: declared here
2611 | netif_napi_add(struct net_device *dev, struct napi_struct *napi,
| ^~~~~~~~~~~~~~
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
[split commit and rewrite commit message]
Signed-off-by: Nick Hainke <vincent@systemli.org>
Upstream commit f48dc6b96649 ("spi: Retire legacy GPIO handling") [0]
removed support using GPIOs as chip select. Fix it by replacing cs_gpio
with cs_gpiod.
[0] - f48dc6b966
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
[split commit and rewrite commit message]
Signed-off-by: Nick Hainke <vincent@systemli.org>
Change fe_hw_set_macaddr and the set_mac parameter to const to fix
errors in the form of:
drivers/net/ethernet/ralink/mtk_eth_soc.c: In function 'fe_set_mac_address':
drivers/net/ethernet/ralink/mtk_eth_soc.c:174:53: error: passing argument 2 of 'priv->soc->set_mac' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
174 | priv->soc->set_mac(priv, dev->dev_addr);
| ~~~^~~~~~~~~~
drivers/net/ethernet/ralink/mtk_eth_soc.c:174:53: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
drivers/net/ethernet/ralink/mtk_eth_soc.c: In function 'fe_hw_init':
drivers/net/ethernet/ralink/mtk_eth_soc.c:1220:45: error: passing argument 2 of 'priv->soc->set_mac' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
1220 | priv->soc->set_mac(priv, dev->dev_addr);
| ~~~^~~~~~~~~~
drivers/net/ethernet/ralink/mtk_eth_soc.c:1220:45: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
drivers/net/ethernet/ralink/mtk_eth_soc.c:1222:44: error: passing argument 2 of 'fe_hw_set_macaddr' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
1222 | fe_hw_set_macaddr(priv, dev->dev_addr);
| ~~~^~~~~~~~~~
drivers/net/ethernet/ralink/mtk_eth_soc.c:155:75: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
155 | static inline void fe_hw_set_macaddr(struct fe_priv *priv, unsigned char *mac)
| ~~~~~~~~~~~~~~~^~~
cc1: all warnings being treated as errors
Signed-off-by: Nick Hainke <vincent@systemli.org>
Upstream dropped support for legacy driver [0]. Rewrite the driver like
the renesas pwm driver [1].
Fixes erros in the form of:
make: *** [/__w/openwrt/openwrt/openwrt/include/toplevel.mk:232: target/compile] Error 1
====== Make errors from logs/target/linux/compile.txt ======
| ^~~~~~~~~~~~~~
drivers/pwm/pwm-mediatek-ramips.c:107:19: note: (near initialization for 'mtk_pwm_ops.free')
drivers/pwm/pwm-mediatek-ramips.c:108:10: error: 'const struct pwm_ops' has no member named 'disable'
108 | .disable = mtk_pwm_disable,
| ^~~~~~~
drivers/pwm/pwm-mediatek-ramips.c:108:20: error: initialization of 'int (*)(struct pwm_chip *, struct pwm_device *, struct pwm_capture *, long unsigned int)' from incompatible pointer type 'void (*)(struct pwm_chip *, struct pwm_device *)' [-Werror=incompatible-pointer-types]
108 | .disable = mtk_pwm_disable,
| ^~~~~~~~~~~~~~~
drivers/pwm/pwm-mediatek-ramips.c:108:20: note: (near initialization for 'mtk_pwm_ops.capture')
cc1: all warnings being treated as errors
[0] - 0829c35dc5
[1] - ec00cd5e63
Signed-off-by: Nick Hainke <vincent@systemli.org>
Upstream dropped slave_id in dai_dma [0]. So drop it also in the mt7620
support patch.
Fixes errors in the form of:
sound/soc/ralink/ralink-i2s.c: In function 'ralink_i2s_init_dma_data':
sound/soc/ralink/ralink-i2s.c:452:17: error: 'struct snd_dmaengine_dai_dma_data' has no member named 'slave_id'
452 | dma_data->slave_id = i2s->txdma_req;
| ^~
sound/soc/ralink/ralink-i2s.c:462:17: error: 'struct snd_dmaengine_dai_dma_data' has no member named 'slave_id'
462 | dma_data->slave_id = i2s->rxdma_req;
| ^~
[0] - https://lore.kernel.org/r/20211122222203.4103644-3-arnd@kernel.org
Signed-off-by: Nick Hainke <vincent@systemli.org>
Upstream changed in ed5c2f5fd10d ("i2c: Make remove callback return void")
the i2c driver's remove function to return no value. Adapt the driver code
to compile with 5.15 and 6.1 like it is done in other projects [0].
Fixes errors in the form of:
make[8]: Leaving directory '/home/nick/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/linux-6.1.29'
CC drivers/pinctrl/pinctrl-aw9523.o
drivers/pinctrl/pinctrl-aw9523.c:1117:19: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
1117 | .remove = aw9523_remove,
| ^~~~~~~~~~~~~
drivers/pinctrl/pinctrl-aw9523.c:1117:19: note: (near initialization for 'aw9523_driver.remove')
cc1: all warnings being treated as errors
[0] - https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/merge_requests/10/diffs
Signed-off-by: Nick Hainke <vincent@systemli.org>
Apply the "109-drivers-mt7621-dma-handle-error-from-device_reset.patch"
directly on the downstream maintained dma driver.
Signed-off-by: Nick Hainke <vincent@systemli.org>
Commit 87dd67f496f7 ("staging: mt7621-dma: remove driver from tree")
removed the mt7621-dma driver. Maintain the driver downstream in the
folder of the other mediatek drivers.
Signed-off-by: Nick Hainke <vincent@systemli.org>
Fix DTS error in LED color/function conversion due to a bug in the
conversion script.
Fixes: 19c45b95db ("ramips: convert to new LED color/function format where possible")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Initial conversion to new LED color/function format
and drop label format where possible. The same label
is composed at runtime.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Drop redundant label with new LED color/function format declared.
This was needed previously when the new format wasn't supported by
leds.sh functions script. Now that is supported this property
can be removed in favor of the new format.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Some of devices in this target have only 8 MiB space and are closing to
borders of usable space. Particularly, TP-Link RE305 v1 already suffers
from this issue[1], where with current partition layout, on release
images, there's not enough space for overlay. So activate small_flash
feature, which will remove some userspace hardening but will gain almost
1 MiB additional flash memory space. Here is small size comparison of
similar device (RE365 v1) with default config + LuCI:
kernel rootfs sysupgrade
current: 2305728 3635044 5964584
small_flash: 1713571 3320132 5047080
1. https://github.com/openwrt/openwrt/issues/14215
Suggested-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
-+-------------------------+-
| Model | NIC |
-+-------------------------+-
| All | MT7603 + MT7615 |
-+-------------------------+-
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Some MT7915 calibration data consists of two parts. The first part
"eeprom" size is 0xe00. The second part "precal" size is 0x19c10.
Though some devices may not have precal data, it's better to assume
that precal data exists as no users/developers confirm it. On the
other hand, some devices definitely do not contain precal data
because the EEPROM partition size is smaller than the precal NVMEM
cell size.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
TP-Link RE365 is a wireless range extender, hardware-wise resembles
RE305 with slight changes regarding buttons and LEDs.
Specification
SoC: MediaTek MT7628AN
RAM: 64 MiB DDR2
Flash: 8 MiB SPI NOR
WiFi: 2.4 GHz 2T2R integrated
5 GHz 2T2R MediaTek MT7612EN conncted to PCIe lanes
Ethernet: 1x 10/100 Mbps integrated
LEDs: 6x GPIO controlled
Buttons: 4x GPIO controlled
UART: row of 4 holes marked on PCB as J1, starting count from white
triangle
1. VCC (3.3V), 2. GND, 3. RX, 4. TX
baud: 57600, parity: none, flow control: none
Installation
1. Open web management interface.
2. Go to Settings > System Tools > Firmware upgrade.
3. Select "Browse" and select the OpenWrt image with factory.bin suffix.
4. After selecting "Upgrade" firmware writing process will start.
5. Wait till device reboots, power LED should stay solid when it's fully
booted, then it's ready for configuration through LAN port.
Additional information
With how device manufacturer patrtitioned the flash memory, it's possible
that with default packages set, initial factory.bin image won't be
created. In such case, try to reduce packages amount or use older release
for initial conversion to OpenWrt. Later You can use sysupgrade.bin
image with full set of packages because OpenWrt uses unpartitioned flash
memory space unused by vendor firmware.
Reverting to vendor firmware involves converting firmware using
tplink-safeloader with -z option (can be found in ImageBuilder or SDK)
and forcibly applying converted firmware as sysupgrade.
Known issues
WARNING: after removing casing of the device one is exposed to high
voltage and is in a risk of being electrocuted.
Caution when interfacing whith bootloader, saving its environment either
by issuing "saveenv" or selecting option "1: Load system code to SDRAM
via TFTP." in boot menu, any of those will lead to overwriting part of
kernel. This will lead to need of firmware recovery. The cause of this
issue is bootloader having environment offset on flash at 0x40000,
while kernel starts from 0x20000.
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
[Wrap long line in DTS]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
This commit:
1. Removes deprecated "label" property from the dts leds subnnodes;
2. Updates buttons and leds dts description according to kernel docs
examples.
Scope: devices well known to me.
Run-tested: TP-Link ec330-g5u, WiFire S1500.nbn
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
MT7688 devices use the "mt7628an.dtsi" as the template. And RT3052
devices use the "rt3050.dtsi" as template. Therefore, we need to add
the corresponding system controller compatible strings to make them
work properly.
Fixes: 1f818b09f8 ("ramips: add proper system clock and reset driver support for legacy SoCs")
Fixes: #14305
Signed-off-by: Shiji Yang <yangshiji66@qq.com>