openwrt/target/linux
Donghyun Ko ea96f50747 mediatek: add support for ipTIME AX7800M-6E
Specification
-------------
- SoC       : MediaTek MT7986AV quad-core ARM Cortex-A53 2GHz
- RAM       : DDR4 512Mbytes, Nanya Technology NT5AD256M16E4
- Flash     : 128Mbytes NAND Flash, ESMT F50L1G41LB
- WLAN      : MediaTek MT7976DAN, MediaTek MT7916AN, MediaTek MT7976AN
  - 2.4GHz  : b/g/n/ax, Multi User MIMO
  - 5GHz    : a/n/ac/ax, Multi User MIMO
  - 6GHz    : ax, Multi User MIMO
- Ethernet  : 10/100/1000 Mbps x4, LAN (MediaTek MT7531AE)
              10/100/1000/2500 Mbps x1, WAN (MaxLinear GPY211C0VC)
- UART      : 1x4 pin header on PCB
  - [J1] 3.3V, TX, RX, GND (115200, 8N1)
- Buttons   : WPS, Reset
- Switches  : Rfkill Slide Switch
- USB       : 1x USB 3.0 (MediaTek MT7986AV peripheral)
- FAN       : 1x Fan (off - slow - fast)
- LEDs      : 1x Power (Blue)
              1x CPU (Blue)
              1x Wi-Fi 6GHz (Blue)
              1x Wi-Fi 5GHz (Blue)
              1x Wi-Fi 2.4GHz (Blue)
              4x LAN activity (Blue)
              1x WAN activity (Blue)
              1x USB 3.0 (Blue)
- Power     : 12VDC, 3.5A (Center positive polarity)

MAC address
-----------
+-----------+-------------------+------------------------+
| Interface | MAC               | Algorithm              |
+-----------+-------------------+------------------------+
| WLAN 2.4G | 58:86:94:xx:xx:xx | label1                 |
| WLAN 5G   | 5A:86:94:xx:xx:xx | label2 with LA Bit set |
| WLAN 6G   | 5A:86:94:xx:xx:xx | label1 with LA Bit set |
| WAN       | 58:86:94:xx:xx:xx | label1 + 1             |
| LAN       | 58:86:94:xx:xx:xx | label1 + 3             |
+-----------+-------------------+------------------------+
The WLAN 2.4G MAC address (label1) was found in 'Factory' partition, 0xA0004
The WLAN 5G MAC address (label2) was found in 'Factory' partition, 0x4

Installation
------------
1. Download the OEM recovery software (ipTIME Firmware Wizard (11ac))
   from the manufacturer's website
2. Download the *squashfs-factory.bin file from the OpenWrt website
3. Press a reset button, and power up the router (keep pressing the reset button)
4. Wait more than 10 seconds until the CPU LED stop blinking
5. Connect the router (LAN port) to the PC
6. Run the OEM recovery software and follow the instructions
7. Select the *squashfs-factory.bin file during the router recovery process
8. Wait for the router to boot from *squashfs-factory.bin

Note: The router will automatically reboot if no file is uploaded within
55 seconds.

Fan Control
------------
The fan speed is controlled by writing a value from 0 to 2 to the
`fan1_target` file.

```
cd /sys/devices/platform/gpio-fan/hwmon/hwmon2

echo '0' > fan1_target // off
echo '1' > fan1_target // slow
echo '2' > fan1_target // fast
```

Limitation: Enabling Wi-Fi 6E
----------
Wi-Fi 6E (6GHz) does not work out of the box on LuCI.
After installation, you need to configure a few settings in the `radio1`
and `default_radio1` sections of the `/etc/config/wireless`.
Once you have made these changes, you can enable and use Wi-Fi 6E.

In the `radio1` section, you need to add three common options:
- band: must be set to `6g`
- country: a valid country code for the 6GHz band
- channel: a preferrend scanning channel (PSC) for 6GHz

In the `default_radio1` section, you need to add the SSID and key:
- ssid: The public name of your Wi-Fi network
- key: The Wi-Fi password
- encryption: must be set to either `sae` for WPA3 or `owe` for OWE
  (open network)

Example:

```
config wifi-device 'radio1'
        ...
        option band '6g'
        option country 'KR'
        option channel '37'
        ...

config wifi-iface 'default_radio1'
        ...
        option ssid 'my_wifi_6e_name'
        option key 'my_strong_password1234'
        option encryption 'sae'
        ...
```

Note: A list of all the 6GHz PSC channels:

```
5, 21, 37, 53, 69, 85, 101, 117, 133, 149, 165, 181, 197, 213, and 229
```

Limitation: Maximum Transmit Power (Wi-Fi 6E)
----------
The maximum transmit power is currently broken. In the drop-down menu,
you can only choose between "driver default" and "255 dBm (2147493647
mW)". There is currently no workaround for the issue. Please leave the
maximum transmit power set to "driver default".

Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19763
(cherry picked from commit 2503e5bc37)
Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20773
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:17:45 +01:00
..
airoha kernel: mtd: spinand: esmt: add support for F50L1G41LC 2025-11-28 23:59:45 +01:00
apm821xx kernel: bump 6.6 to 6.6.103 2025-09-02 23:09:49 +02:00
archs38 kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
armsr armsr: remove 'console=tty1' from kernel command line 2025-08-31 18:30:08 +02:00
at91 at91bootstrap: put at91bootstrap images into image staging directory 2025-10-22 18:19:42 +02:00
ath79 ath79: add calibration variant for TP-Link Archer C60 v2 2025-10-24 12:05:32 +02:00
bcm27xx kernel: bump 6.6 to 6.6.117 2025-11-27 22:52:26 +01:00
bcm47xx kernel: bump 6.6 to 6.6.78 2025-02-25 23:16:17 +01:00
bcm53xx bcm53xx: modify 180-usb-xhci-add-support-for-performing-fake-doorbell.patch 2025-10-19 16:29:37 +02:00
bcm4908 bcm63xx-cfe: install into image staging dir 2025-10-22 18:17:40 +02:00
bmips bmips: fix leds on f@st3864op 2025-11-06 09:57:37 +01:00
d1 kernel: bump 6.6 to 6.6.93 2025-06-15 13:37:46 +02:00
gemini kernel: bump 6.6 to 6.6.95 2025-07-06 14:51:08 +02:00
generic kernel: mtd: spinand: esmt: add support for F50L1G41LC 2025-11-28 23:59:45 +01:00
imx kernel: bump 6.6 to 6.6.103 2025-09-02 23:09:49 +02:00
ipq40xx kernel: bump 6.6 to 6.6.117 2025-11-27 22:52:26 +01:00
ipq806x ipq806x: migrate wifi configuration device paths for 6.12 kernel 2025-11-12 00:08:15 +01:00
ixp4xx ixp4xx: Break out mv88e6060 DSA switch to package 2025-01-04 19:27:05 +01:00
kirkwood kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
lantiq kernel: bump 6.6 to 6.6.114 2025-10-28 22:16:44 +01:00
layerscape layerscape: armv7: drop skipped packages 2025-10-22 18:19:10 +02:00
loongarch64 generic: globally enable CONFIG_PCPU_DEV_REFCNT 2025-03-19 09:24:43 +01:00
malta kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
mediatek mediatek: add support for ipTIME AX7800M-6E 2025-11-29 01:17:45 +01:00
mpc85xx mpc85xx: p1010: kernel: add missing symbol 2025-10-17 06:43:08 +02:00
mvebu kernel: bump 6.6 to 6.6.113 2025-10-28 22:16:44 +01:00
mxs mxs: run kernel_oldconfig 2024-11-28 18:48:55 +00:00
octeon octeon: ubnt-*: Add device specific DTS pruning 2025-09-05 00:48:55 +02:00
omap kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
pistachio kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
qoriq kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
qualcommax targetwide: imagebuilder: add explicit guards around initramfs rules 2025-10-21 11:39:10 +02:00
ramips kernel: bump 6.6 to 6.6.117 2025-11-27 22:52:26 +01:00
realtek kernel: bump 6.6 to 6.6.116 2025-11-09 14:21:42 +01:00
rockchip rockchip: LinkEase EasePi R1 use dedicated uboot 2025-11-29 01:05:47 +01:00
sifiveu kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
siflower kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
starfive kernel: bump 6.6 to 6.6.117 2025-11-27 22:52:26 +01:00
stm32 stm32: add missing config option 2025-05-28 13:22:00 +02:00
sunxi kernel: bump 6.6 to 6.6.61 2024-11-24 22:46:21 +01:00
tegra tegra: bring back workaround for spurious interrupts 2025-07-28 23:20:46 +02:00
uml uml: fix glibc-static check with GCC14 2024-06-22 22:06:06 +02:00
x86 x86: config: add CONFIG_MITIGATION_VMSCAPE=y 2025-09-22 01:22:49 +02:00
zynq kernel: filter out compiler opts from config 2024-11-28 18:47:54 +00:00
Makefile linux: fix missing default packages in profiles.json 2025-01-03 11:14:12 +01:00