A note for how to build a openwrt v23.05 image for RT1800 with MAK HNAT
Go to file
seanhungtw db03caa96b
Update README.md
fix typo
2024-02-14 13:47:18 +08:00
openwrt22 [Maintain] fix bootcount file permission 2024-01-11 17:52:14 +08:00
openwrt23 [MTK HANT] supports MTK HNAT offload for ethernet (swconfig) & wifi 2024-01-11 22:22:43 +08:00
LICENSE.txt Add files via upload 2023-12-21 10:08:58 +08:00
readme_mt7621_cpu_wantolan.jpg the mtkhnat working 2024-01-24 15:51:33 +08:00
README.md Update README.md 2024-02-14 13:47:18 +08:00

belkin_rt1800_openwrt

  • A note for how to build a Openwrt image for RT1800 with MTK HNAT (23.05 only)

    • Original Openwrt doesn't support MTK HANT on MT7921 platform, immortalwrt has MTK HANT support on 5.10 kernel.
    • So, I porting the driver from immortalwrk and modify it, so it can running on 5.15 kernel and matches belkin rt1800 hardware
  • RT1800 hardware info:

    • CPU: MT7621
    • Wi-Fi chip: MT7915D (DBDC)
  • Refer: https://openwrt.org/docs/guide-developer/toolchain/beginners-build-guide

  • if the MTK hnat work properly, you should see CPU usage is neraly zero when WAN => LAN traffic running in full speed (big tcp packet)

Get the code

git clone https://git.openwrt.org/openwrt/openwrt.git # or https://github.com/openwrt/openwrt.git
cd openwrt
git checkout v23.05.2
git checkout -b rt1800_23052

Dwonload belkin_rt1800_openwrt/openwrt23 and paste it to the 23.05.2 sourcr code

just copy and paste, don't delete existed files in 23.05.2

update feeds

./scripts/feeds update -a
./scripts/feeds install -a

menuconfig

make menuconfig
#Select MediaTek Ralink MIPS => MT7621 based boards => Belkin RT1800

make defconfig

build the image

make -j$thread

Known issues

  • Can't use DSA switch, rollback to swconfig (because we need to use MTK 7530 driver)
  • wifi interface name is hardcoded in the dts, currently only support "phy0-ap0", "phy1-ap0", "phy0-ap1", "phy1-ap1", "phy0-sta0", "phy1-sta0"

Trouble shooting

git issue

you may want to set some git config to avoid git error

git config -l
git config --global http.postBuffer 1048576000
git config --global https.postBuffer 1048576000
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999

compile openwrt in WLS2

you need to disable windows PATH: or it will meet build errors

~/openwrt$ cat /etc/wsl.conf

[interop]

enabled = false

appendWindowsPath = false

Notes of MTK board customization

default /etc/config/network & eth nterface name (both openwrt 22 & 23)

you can configure interface name, mac here:

#file :target/linux/ramips/mt7621/base-files/etc/board.d/02_network

#for example
ucidef_set_interfaces_lan_wan "lan1, lan2, ..." "wan"
lan_mac="00:11:22:33:44:55"
wan_mac="00:11:22:33:44:56"

then it goes to the original Openwrt code to generate default /etc/config/network file:

package/base-files/files/bin/config_generate

default wireless config flow

default the /etc/config wireless is empty, when system init, it will call

/etc/init.d/network

then the network script will call

/sbin/wifi

the wifi script will include any file in the /lib/wifi

take rt1800 as example:

/lib/wifi/mac80211.sh

if the driver works, the ifname will be created in the following path:

root@OpenWrt:/# ls /sys/class/ieee80211/
phy0  phy1

the mac80211.sh will generate the /etc/config/wireless file according to phy0 phy1 data above