MAC addresses are stored in factory partition at:
0x0004: WiFi 2.4GHz (label_mac +1)
0x0028: LAN, WAN (label_mac)
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This patch does the following:
- prepend vendor name to model
- set status LEDs to follow the behavior in stock FW
- simplify state_default node definition
- use generic name for flash node
Stock FW status indicators:
https://files.xiaomi-mi.com/files/Mi_Router_Wi-Fi_Nano/Mi_router-NANO_EN.pdf
> Yellow: power on / off
> Blue: during normal operation
> Red: in case of problems with the operation of the device
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This fixes the state_default node by setting the correct groups and
inheriting &state_default from parent DTSI directly.
The compatible for the wifi nodes is changed to the more generic
mediatek,mt76.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
So far, lan/wan MAC address for Edimax RG21S are only read using
mtd_get_mac_ascii, so eth0.1 and eth0.2 addresses are set, but
eth0 address is random. Since the device's LAN address is the same
as for 2.4 GHz, though, this patch set's the eth0 address based
on the 2.4 GHz one, which can be extracted by mtd-mac-address.
This will also allow to move the label MAC address setup to DT.
The setup of lan_mac and wan_mac are kept in 02_network, so those
locations are still in use, too.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Device support for Belkin F9K1109v1 was added using set_usb_led()
although this was removed in 772b27c207 ("ramips: set F5D8235 v1
usb led trigger via devicetree").
Use ucidef_set_led_usbport() instead.
Fixes: f2c83532f9 ("ramips: add support for Belkin F9K1109v1")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rephrase commit title and message]
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 adds the option to determine switchdev by board when setting
preinit iface for failsafe. The patch reorganizes the code to use
functions for setting correct switchdev based on SOC and board,
which is supposed to improve readability and maintainability.
In this patch, the ramips_switchdev_from_board function is added
without specifying an actual device using it. This is meant to
make the life of device supporters waiting for merge easier, as
there is less to rebase and keep track of.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
ipTIME A104ns is a 2.4/5GHz band AC750 router, based on MediaTek MT7620A.
Specifications:
- SoC: MT7620A
- RAM: DDR2 64MB
- Flash: SPI NOR 8MB
- WiFi:
- 2.4GHz: SoC internal
- 5GHz: MT7610EN
- Ethernet: 5x 10/100Mbps
- Switch: SoC internal
- USB: 1x 2.0
- UART:
- J2: 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.
In contrast to to-be-supported A1004ns, the A104ns has no usable
value in 0x1fc40 (uboot), so wan_mac needs to be calculated.
Also note that GPIOs for the LEDs really are inverted compared to
the A1004ns.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[moved state_default to device DTS, reordered properties in wmac,
added comment about wan_mac and LED GPIOs]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The Edimax RG21S has a label which bears two MAC addresses:
2.4 GHz (n) and 5 GHz (n+1)
The complete MAC address setup is as follows:
2.4 GHz *:83 factory 0x4, u-boot-env wlanaddr
5 GHz *:84 factory 0x8004
LAN *:83 u-boot-env ethaddr
WAN *:85 u-boot-env wanaddr
Since 2.4 GHz is the first address on the label and the same
as used for ethernet, take this one for label MAC address.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This increases SPI frequency from the relatively low 10 MHz to 40 MHz.
Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
[added commit title/message, split patch]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This sdhci and i2c nodes were copy-pasted, but are not needed as
the device does not provide that functionality. Remove them.
Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
[added commit title/message, split patch]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
JCG JHR-AC876M is an AC2600M router
Hardware specs:
SoC: MT7621AT
2.4GHz: MT7615N 4x4 @ PCIe0
5GHz: MT7615N 4x4 @ PCIe1
Flash: Winbond W25Q128JVSQ 16MiB
RAM: Nanya NT5CB128M16 256MiB
USB 2.0 and 3.0 ports
6 LEDs, 3 of which are connected to SoC GPIO
Reset and WPS buttons
Flash instructions:
Stock to OpenWrt:
Upload factory.bin in stock firmware's upgrade page,
do not preserve settings
OpenWrt to stock:
Push and hold the reset button for 5s while power cycling to
enter recovery mode;
Visit 192.168.1.1 and upload stock firmware
MAC addresses map:
0x0004 *:1c wlan2g/wan/label
0x8004 *:20 wlan5g
0xe000 *:1b lan
0xe006 *:1a not used in stock fw
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
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>
ipTIME A6ns-M is a 2.4/5GHz band AC1900 router, based on MediaTek MT7621A.
Specifications:
- SoC: MT7621AT
- RAM: DDR3 128MB
- Flash: SPI NOR 16MB
- WiFi:
- 2.4GHz: MT7615
- 5GHz: MT7615
- Ethernet: 5x 10/100/1000Mbps
- Switch: SoC internal
- UART:
- J4: 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>
This does several trivial DTS style improvements:
- Move device name compatible to DTS files (and fix compatible in
11acnas.dts)
- Remove xhci node as status is set to okay in mt7621.dtsi already
- 0x0 instead of 0x0000
- Simplify state_default node definition
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
ZIO FREEZIO is a 2.4/5GHz band AC1200 router, based on MediaTek MT7621A.
Specifications:
- SoC: MT7621AT
- RAM: DDR3 128MB
- Flash: SPI NOR 16MB
- WiFi:
- 2.4GHz: MT7603EN
- 5GHz: MT7612EN
- Ethernet: 5x 10/100/1000Mbps
- Switch: SoC internal
- USB: 1x 3.0
- UART:
- J4: 3.3V, RX, TX, GND (3.3V is the square pad) / 57600 8N1
Notes:
- FREEZIO has almost the same board as WeVO W2914NS v2.
- Stock firmware is based on OpenWrt BB.
MAC addresses in factory partition:
0x0004: WiFi 2.4GHz (label_mac-8)
0x002e: WAN (label_mac)
0x8004: WiFi 5GHz (label_mac-4)
0xe000: LAN (label_mac+1)
Installation via web interface:
1. Access web admin page and turn on "OpenWrt UI mode".
2. Flash sysupgrade image through LuCI, with the "Keep settings" option
OFF.
Revert to stock firmware:
1. Perform sysupgrade with stock image.
Make sure to NOT preserve settings.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[rebase, use mt7621_wevo_w2914ns-v2.dtsi]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The device label contains:
E01: B8:69:F4:xx:xx:07
E02: B8:69:F4:xx:xx:09
The first value corresponds to the address set in hard_config 0x10.
That one is taken for the label MAC address.
Thanks to Martin Schiller for retrieving the information.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.
The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.
This removes the wan_mac setup for the following devices as they
do not set up a MAC address for ethernet in the first place:
- asiarf,awapn2403
- belkin,f7c027
- dlink,dir-615-d
- mofinetwork,mofi3500-3gn
- prolink,pwh2004
- ralink,v22rw-2x2
- unbranded,wr512-3gn-4m
- unbranded,wr512-3gn-8m
While at it, make some DT node labels consistent with the label
property.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.
The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.
This removes the wan_mac setup for ralink,v11st-fe as this device
does not set up a MAC address for ethernet in the first place.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.
The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.
While at it, change the partition label for zyxel,keenetic-extra-ii
to factory to be consistent with node label and all the other devices.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.
The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This uses the flash locations instead of eth0 MAC address to
calculate MAC address increments for WAN.
The change will make the MAC address setup of a particular device
more obvious and removes the dependency of 02_network on the eth0
initialization.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The evaluation boards do not set up a MAC address for eth0
in the first place, so it does not make sense to calculate a WAN
address from the random MAC used there.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The TP-Link Archer C20i/C20 v1/C50 v1 seem to be almost the same,
so creating a common DTSI will reduce duplicate code.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The DTS variable has been removed in 402138d12d ("ramips: Derive
DTS name from device name in Makefile"), but the DEVICE_VARS entry
has been overlooked.
Remove it now since we are not using this variable.
This must _not_ be backported to 19.07, where the variable is still
in use.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The switch LAN port numbers are in reversed order with original config.
With this patch they are fixed.
Port order checked on both devices.
Signed-off-by: Gabor Varga <vargagab@gmail.com>
[merged definitions into appropriate block, extended commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Current OpenWrt MAC setup:
eth0 &rom 0xf100 :48
eth0.2 eth0+1 :49
wlan0 (5 GHz) &radio 0x8004 different OUI
wlan1 (2.4 GHz) &radio 0x4 same OUI as wlan0
Label MAC address corresponds to eth0 (ðernet).
No additional addresses found in hexdump of rom/radio.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The "/dts-v1/;" identifier is supposed to be put once at the beginning
of a device tree file. Thus, it makes no sense to provide it a second
time in to-be-included DTSI files.
This removes the identifier from all DTSI files in /target/linux.
Most of the DTS files in OpenWrt do contain the "/dts-v1/;". It is
missing for most of the following targets, though:
mvebu, ipq806x, mpc85xx, ipq40xx
This does not touch ipq806x for now, as the bump to 4.19 is close.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
A small subset of devices uses decimal notation for mediatek,mtd-eeprom
in DTS files. Convert to hexadecimal notation to be consistent with
all the rest.
Also change "0" to "0x0" in the same files for consistency.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The Mikrotik RBM33G has only 2 LAN ports.
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
[moved node in 02_network to maintain alphabetic sorting]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Physical port order watched from the backside of the C20i
(from left to right) is: Internet / 1 / 2 / 3 / 4
Physical Port Switch port
WAN 0
LAN 3 1
LAN 4 2
LAN 1 3
LAN 2 4
(not used) 5
CPU 6
Signed-off-by: Walter Sonius <walterav1984@gmail.com>
[commit message/title improvements]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This re-organizes the device-tree files for the Sercomm-manufactured
NETGEAR routers. They are now split into two different base-boards,
from which the respective model is extended.
This partially reverts commit c7842ceaaa ("ramips: reorganize DTSI
files for Netgear R devices"), which introduced inheritance between two
completely unrelated base-boards.
Signed-off-by: David Bauer <mail@david-bauer.net>
The stock firmware and bootloader only accept uImage with names that
match certain patterns. This patch enables OpenWrt installation from
stock firmware without having to reflash the bootloader or access the
UART console.
Installation via web interface:
1. Flash **initramfs** image through the stock web interface.
2. Boot into OpenWrt and perform sysupgrade with sysupgrade image.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
The ASUS WL-330N(3G) and the Edimax RG21S had the
reset keycode assigned to the WPS button. This patch
changes all three devices to use KEY_WPS_BUTTON in
the hopes that this fixes unwanted restarts/
unexpected behavior from the users point of view.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
ALFA Network Quad-E4G is a universal Wi-Fi/4G platform, which offers
three miniPCIe (PCIe, USB 2.0, SIM) and a single M.2 B-key (dual-SIM,
USB 3.0) slots, RTC and five Gigabit Ethernet ports with PoE support.
Specification:
- MT7621A (880 MHz)
- 256/512 MB of RAM (DDR3)
- 16/32+ MB of FLASH (SPI NOR)
- optional second SPI flash (8-pin WSON/SOIC)
- 1x microSD (SDXC) flash card reader
- 5x 10/100/100 Mbps Ethernet, with passive PoE support (24 V) in LAN1
- optional 802.3at/af PoE module for WAN
- 3x miniPCIe slot (with PCIe and USB 2.0 buses, micro SIM and 5 V)
- 1x M.2/NGFF B-key 3042 (USB 3.0/2.0, mini + micro SIM)
- RTC (TI BQ32002, I2C bus) with backup battery (CR2032)
- external hardware watchdog (EM Microelectronic EM6324)
- 1x USB 2.0 Type-A
- 1x micro USB Type-B for system serial console (Holtek HT42B534)
- 11x LED (5 for Ethernet, 5 driven by GPIO, 1x power indicator)
- 3x button (reset, user1, user2)
- 1x I2C (4-pin, 2.54 mm pitch) header on PCB
- 4x SIM (6-pin, 2.00 mm pitch) headers on PCB
- 2x UART2/3 (4-pin, 2.54 mm pitch) headers on PCB
- 1x mechanical power switch
- 1x DC jack with lock (24 V)
Other:
- U-Boot selects default SIM slot, based on value of 'default_sim' env
variable: '1' or unset -> SIM1 (mini), '2' -> SIM2 (micro). This board
has additional logic circuit for M.2 SIM switching. The 'sim-select'
will work only if both SIM slots are occupied. Otherwise, always slot
with SIM inside is selected, no matter 'sim-select' value.
- U-Boot enables power in all three miniPCIe and M.2 slots before
loading the kernel
- this board supports 'dual image' feature (controlled by 'dual_image'
U-Boot environment variable)
- all three miniPCIe slots have additional 5 V supply on pins 47 and 49
- the board allows to install up to two oversized miniPCIe cards (vendor
has dedicated MediaTek MT7615N/D cards for this board)
- this board has additional logic circuit controlling PERSTn pins inside
miniPCIe slots. By default, PERSTn (GPIO19) is routed to all miniPCIe
slots but setting GPIO22 to high allows PERSTn control per slot, using
GPIO23-25 (value is inverted)
You can use the 'sysupgrade' image directly in vendor firmware which is
based on OpenWrt (make sure to not preserve settings - use 'sysupgrade
-n -F ...' command). Alternatively, use web recovery mode in U-Boot:
1. Power the device with reset button pressed, the modem LED will start
blinking slowly and after ~3 seconds, when it starts blinking faster,
you can release the button.
2. Setup static IP 192.168.1.2/24 on your PC.
3. Go to 192.168.1.1 in browser and upload 'sysupgrade' image.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
ALFA Network R36M-E4G is a dual-SIM, N300 Wi-Fi, compact size platform
based on MediaTek MT7620A WiSoC. This product is designed for operation
with 4G modem (can be bought in bundle with Quectel EC25, EG25 or EP06)
but supports also Wi-Fi modules (miniPCIe slot has USB and PCIe buses).
Specification:
- MT7620A (580 MHz)
- 64/128/256 MB of RAM (DDR2)
- 16/32+ MB of FLASH (SPI NOR)
- 2x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 2T2R 2.4 GHz (MT7620A), with ext. LNA (RFFM4227)
- 1x miniPCIe slot (with PCIe and USB 2.0 buses and optional 5 V)
- 2x SIM slot (mini, micro) with detect and switch driven by GPIO
- 2x u.fl antenna connectors (for Wi-Fi)
- 8x LED (7 driven by GPIO)
- 2x button (reset, wifi)
- 2x UART (4-pin/2.54 mm pitch, 10-pin/1.27 mm pitch) headers on PCB
- 1x I2C (4-pin, 1.27 mm pitch) header on PCB
- 1x LED (8-pin, 1.27 mm pitch) header on PCB
- 1x DC jack with lock (12 V)
Other:
- there is a dedicated, 4-pin connector for optional RTC module (Holtek
HT138x) with 'enable' input, not available at the time of preparing
support for this board
- miniPCIe slot supports additional 5 V supply on pins 47 and 49 but a
jumper resistor (R174) is not installed by default
- U-Boot selects default SIM slot, based on value of 'default_sim' env
variable: '1' or unset -> SIM1 (mini), '2' -> SIM2 (micro). This will
work only if both slots are occupied, otherwise U-Boot will always
select slot with SIM card inside (user can override it later, in
user-space)
- U-Boot resets the modem, using PERSTn signal, before starting kernel
- this board supports 'dual image' feature (controlled by 'dual_image'
U-Boot environment variable)
Flash instruction:
You can use the 'sysupgrade' image directly in vendor firmware which is
based on OpenWrt (make sure to not preserve settings - use 'sysupgrade
-n -F ...' command). Alternatively, use web recovery mode in U-Boot:
1. Power the device with reset button pressed, the modem LED will start
blinking slowly and after ~3 seconds, when it starts blinking faster,
you can release the button.
2. Setup static IP 192.168.1.2/24 on your PC.
3. Go to 192.168.1.1 in browser and upload 'sysupgrade' image.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
New U-Boot version for MediaTek MT76x8/MT762x based ALFA Network boards
includes support for a 'dual image' feature. Users can enable it using
U-Boot environment variable 'dual_image' ('1' -> enabled).
When 'dual image' feature is enabled, U-Boot will modify DTB and divide
the original 'firmware' flash area into two, equal in size and aligned
to 64 KB partitions: 'firmware' and 'backup'. U-Boot will also adjust
size of 'firmware' area to match installed flash chip size.
U-Boot will load kernel from active partition which is marked with env
variable 'bootactive' ('1' -> first partition, '2' -> second partition)
and rename both partitions accordingly ('firmware' <-> 'backup').
There are 3 additional env variables used to control 'dual image' mode:
- bootlimit - maximum number of unsuccessful boot tries (default: '3')
- bootcount - current number of boot tries
- bootchanged - flag which informs that active partition was changed; if
it is set and 'bootcount' reaches 'bootlimit' value,
U-Boot will start web-based recovery which then updates
both partitions with provided image
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
CY-SWR1100 has a USB LED but kmod-usb-ledtrig-usbport is missing
in default images. This commit adds it.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[changed commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch does the following:
- rename "devdata" flash partition and make it read-only
- switch from gpio-keys-polled to gpio-keys
- add missing power LED
- set correct PCI ID to compatible string in wifi node
- remove ralink,5ghz property in wifi node
- provide label MAC address
Rename devdata partition to devconf as indicated in the stock firmware
partition table:
00030000-00040000: "devdata"
00040000-00050000: "devconf"
Power LED can be controlled by SoC GPIO. Add it in the dts leds node.
RT3092L supports only bgn mode, so it is unnecessary to disable 5GHz band.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Ethernet MAC address setup has been broken since c3e420f28c. Restore
original setting.
Fixes: c3e420f28c ("ramips: Add support for D-Link DCH-M225")
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This replaces all uses of $(cat /sys/class/ieee80211/phyX/macaddress)
by retrieval from the proper flash locations. This will make
02_network independent of WiFi setup again.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
As started in 19724e28c8 ("ramips: split base-files into
subtargets"), this moves some smaller left-over files to the
appropriate base-files folder of their subtarget:
- /etc/init.d/bootcount
- /etc/uci-defaults/04_led_migration
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>