Skip to content

Commit 013177f

Browse files
committed
feat(gemtek): Add support for Gemtek W1701K router
This commit introduces full build and release support for the Gemtek W1701K router. Changes include: - Added `gemtek_w1701k_immwrt` to GitHub Actions build and release workflows. - Created `compilecfg/gemtek_w1701k_immwrt.ini` for compilation settings. - Created `deconfig/gemtek_w1701k_immwrt.config` with default device configuration, including target, kernel modules, and LuCI applications. - Updated `README.md` with build instructions for the new device. - Added `dts/` to `.gitignore`, anticipating device tree source files. - Enhanced `patches/992_set-wifi-uci.sh` to allow specifying wifi encryption, improving flexibility for device-specific configurations.
1 parent db192ff commit 013177f

File tree

7 files changed

+149
-54
lines changed

7 files changed

+149
-54
lines changed

.github/workflows/build_wrt.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ on:
1212
options:
1313
- aliyun_ap8220_immwrt
1414
- cmcc_rax3000m_immwrt
15+
- gemtek_w1701k_immwrt
1516
- jdcloud_ax6000_immwrt
1617
- jdcloud_ipq60xx_immwrt
1718
- jdcloud_ipq60xx_libwrt

.github/workflows/release_wrt.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ on:
1212
options:
1313
- aliyun_ap8220_immwrt
1414
- cmcc_rax3000m_immwrt
15+
- gemtek_w1701k_immwrt
1516
- jdcloud_ax6000_immwrt
1617
- jdcloud_ipq60xx_immwrt
1718
- jdcloud_ipq60xx_libwrt

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ xray-client.json
2222
xray-server.json
2323
.clineignore
2424
update.sh.bak
25+
dts/

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,13 @@ sudo bash -c 'bash <(curl -sL https://build-scripts.immortalwrt.org/init_build_e
9898
./build.sh zn_m2_libwrt
9999
```
100100

101+
### Gemtek
102+
103+
* **W1701K**:
104+
```bash
105+
./build.sh gemtek_w1701k_immwrt
106+
```
107+
101108
### 其他
102109

103110
* **X64**:
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
REPO_URL=https://github.com/ZqinKing/immortalwrt.git
2+
REPO_BRANCH=airoha
3+
BUILD_DIR=airoha-wrt
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# TARGET config
2+
CONFIG_TARGET_airoha=y
3+
CONFIG_TARGET_airoha_an7581=y
4+
CONFIG_TARGET_airoha_an7581_DEVICE_gemtek_w1701k=y
5+
6+
# Compile
7+
CONFIG_USE_APK=n
8+
CONFIG_DEVEL=y
9+
CONFIG_CCACHE=y
10+
11+
# BUSYBOX
12+
CONFIG_BUSYBOX_CUSTOM=y
13+
CONFIG_BUSYBOX_CONFIG_TELNET=y
14+
15+
# Proto
16+
CONFIG_PACKAGE_proto-bonding=y
17+
CONFIG_PACKAGE_luci-proto-wireguard=y
18+
CONFIG_PACKAGE_luci-proto-relay=y
19+
20+
# Kernel modules
21+
CONFIG_PACKAGE_kmod-netlink-diag=y
22+
CONFIG_PACKAGE_kmod-inet-diag=y
23+
CONFIG_PACKAGE_kmod-tls=y
24+
CONFIG_PACKAGE_kmod-tun=y
25+
CONFIG_PACKAGE_kmod-ipt-fullconenat=y
26+
CONFIG_PACKAGE_kmod-nft-fullcone=y
27+
CONFIG_PACKAGE_ip6tables-mod-fullconenat=y
28+
CONFIG_PACKAGE_iptables-mod-fullconenat=y
29+
30+
# Libraries
31+
CONFIG_PACKAGE_luci-lib-ipkg=y
32+
CONFIG_PACKAGE_libopenssl-legacy=y
33+
34+
# Package
35+
CONFIG_PACKAGE_easytier=y
36+
CONFIG_PACKAGE_htop=y
37+
CONFIG_PACKAGE_fuse-utils=y
38+
CONFIG_PACKAGE_openssh-sftp-server=y
39+
CONFIG_PACKAGE_tcpdump=y
40+
CONFIG_PACKAGE_openssl-util=y
41+
CONFIG_PACKAGE_qrencode=y
42+
CONFIG_PACKAGE_mii-tool=y
43+
CONFIG_PACKAGE_pciutils=y
44+
CONFIG_PACKAGE_xl2tpd=y
45+
CONFIG_PACKAGE_default-settings=y
46+
CONFIG_PACKAGE_default-settings-chn=y
47+
# Coremark
48+
CONFIG_PACKAGE_coremark=y
49+
CONFIG_COREMARK_OPTIMIZE_O3=y
50+
CONFIG_COREMARK_ENABLE_MULTITHREADING=y
51+
CONFIG_COREMARK_NUMBER_OF_THREADS=6
52+
# iptables nft
53+
CONFIG_PACKAGE_iptables-nft=y
54+
CONFIG_PACKAGE_ip6tables-nft=y
55+
# mwan3 dependencies
56+
CONFIG_PACKAGE_iptables-mod-conntrack-extra=y
57+
58+
# Enable Luci App
59+
CONFIG_PACKAGE_luci-app-adguardhome=y
60+
CONFIG_PACKAGE_luci-app-adguardhome_INCLUDE_binary=n
61+
CONFIG_PACKAGE_luci-app-autoreboot=y
62+
CONFIG_PACKAGE_luci-app-easytier=y
63+
CONFIG_PACKAGE_luci-app-istorex=y
64+
CONFIG_PACKAGE_luci-app-lucky=y
65+
CONFIG_PACKAGE_luci-app-mosdns=y
66+
CONFIG_PACKAGE_luci-app-oaf=y
67+
CONFIG_PACKAGE_luci-app-smartdns=y
68+
CONFIG_PACKAGE_luci-app-ttyd=y
69+
CONFIG_PACKAGE_luci-app-upnp=y
70+
CONFIG_PACKAGE_luci-app-vlmcsd=y
71+
CONFIG_PACKAGE_luci-app-wol=y

patches/992_set-wifi-uci.sh

Lines changed: 65 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@
33
board_name=$(cat /tmp/sysinfo/board_name)
44

55
configure_wifi() {
6-
local radio=$1
7-
local channel=$2
8-
local htmode=$3
9-
local txpower=$4
10-
local ssid=$5
11-
local key=$6
12-
local now_encryption=$(uci get wireless.default_radio${radio}.encryption)
13-
if [ -n "$now_encryption" ] && [ "$now_encryption" != "none" ]; then
14-
return 0
15-
fi
16-
uci -q batch <<EOF
6+
local radio=$1
7+
local channel=$2
8+
local htmode=$3
9+
local txpower=$4
10+
local ssid=$5
11+
local key=$6
12+
local encryption=${7:-"psk2+ccmp"} # 新增 encryption 参数,如果为空则默认为 psk2+ccmp
13+
local now_encryption=$(uci get wireless.default_radio${radio}.encryption)
14+
if [ -n "$now_encryption" ] && [ "$now_encryption" != "none" ]; then
15+
return 0
16+
fi
17+
uci -q batch <<EOF
1718
set wireless.radio${radio}.channel="${channel}"
1819
set wireless.radio${radio}.htmode="${htmode}"
1920
set wireless.radio${radio}.mu_beamformer='1'
@@ -22,7 +23,7 @@ set wireless.radio${radio}.txpower="${txpower}"
2223
set wireless.radio${radio}.cell_density='0'
2324
set wireless.radio${radio}.disabled='0'
2425
set wireless.default_radio${radio}.ssid="${ssid}"
25-
set wireless.default_radio${radio}.encryption='psk2+ccmp'
26+
set wireless.default_radio${radio}.encryption="${encryption}"
2627
set wireless.default_radio${radio}.key="${key}"
2728
set wireless.default_radio${radio}.ieee80211k='1'
2829
set wireless.default_radio${radio}.time_advertisement='2'
@@ -34,81 +35,91 @@ EOF
3435
}
3536

3637
jdc_ax1800_pro_wifi_cfg() {
37-
configure_wifi 0 149 HE80 20 'JDC_AX1800PRO_5G' '12345678'
38-
configure_wifi 1 1 HE20 20 'JDC_AX1800PRO' '12345678'
38+
configure_wifi 0 149 HE80 20 'JDC_AX1800PRO_5G' '12345678'
39+
configure_wifi 1 1 HE20 20 'JDC_AX1800PRO' '12345678'
3940
}
4041

4142
jdc_ax6600_wifi_cfg() {
42-
configure_wifi 0 149 HE80 22 'JDC_AX6600_5G1' '12345678'
43-
configure_wifi 1 1 HE20 22 'JDC_AX6600' '12345678'
44-
configure_wifi 2 44 HE160 23 'JDC_AX6600_5G2' '12345678'
43+
configure_wifi 0 149 HE80 22 'JDC_AX6600_5G1' '12345678'
44+
configure_wifi 1 1 HE20 22 'JDC_AX6600' '12345678'
45+
configure_wifi 2 44 HE160 23 'JDC_AX6600_5G2' '12345678'
4546
}
4647

4748
redmi_ax5_wifi_cfg() {
48-
configure_wifi 0 149 HE80 20 'Redmi_AX5_5G' '12345678'
49-
configure_wifi 1 1 HE20 20 'Redmi_AX5' '12345678'
49+
configure_wifi 0 149 HE80 20 'Redmi_AX5_5G' '12345678'
50+
configure_wifi 1 1 HE20 20 'Redmi_AX5' '12345678'
5051
}
5152

5253
aliyun_ap8220_wifi_cfg() {
53-
configure_wifi 0 149 HE80 26 'Aliyun_AP8220_5G' '12345678'
54-
configure_wifi 1 1 HE20 23 'Aliyun_AP8220' '12345678'
54+
configure_wifi 0 149 HE80 26 'Aliyun_AP8220_5G' '12345678'
55+
configure_wifi 1 1 HE20 23 'Aliyun_AP8220' '12345678'
5556
}
5657

5758
cmcc_rax3000m_wifi_cfg() {
58-
configure_wifi 0 1 HE20 23 'CMCC_RAX3000M' '12345678'
59-
configure_wifi 1 44 HE160 25 'CMCC_RAX3000M_5G' '12345678'
59+
configure_wifi 0 1 HE20 23 'CMCC_RAX3000M' '12345678'
60+
configure_wifi 1 44 HE160 25 'CMCC_RAX3000M_5G' '12345678'
6061
}
6162

6263
redmi_ax6_wifi_cfg() {
63-
configure_wifi 0 149 HE80 22 'Redmi_AX6_5G' '12345678'
64-
configure_wifi 1 1 HE20 21 'Redmi_AX6' '12345678'
64+
configure_wifi 0 149 HE80 22 'Redmi_AX6_5G' '12345678'
65+
configure_wifi 1 1 HE20 21 'Redmi_AX6' '12345678'
6566
}
6667

6768
qihoo_360v6_wifi_cfg() {
68-
configure_wifi 0 1 HE80 20 'Qihoo_360V6' '12345678'
69-
configure_wifi 1 149 HE20 20 'Qihoo_360V6_5G' '12345678'
69+
configure_wifi 0 1 HE80 20 'Qihoo_360V6' '12345678'
70+
configure_wifi 1 149 HE20 20 'Qihoo_360V6_5G' '12345678'
7071
}
7172

7273
linksys_mx4x00_wifi_cfg() {
73-
configure_wifi 0 1 EHT20 22 'Linksys_MX4X00' '12345678'
74-
configure_wifi 1 149 EHT80 21 'Linksys_MX4X00_5G1' '12345678'
75-
configure_wifi 2 44 EHT80 21 'Linksys_MX4X00_5G2' '12345678'
74+
configure_wifi 0 1 EHT20 22 'Linksys_MX4X00' '12345678'
75+
configure_wifi 1 149 EHT80 21 'Linksys_MX4X00_5G1' '12345678'
76+
configure_wifi 2 44 EHT80 21 'Linksys_MX4X00_5G2' '12345678'
77+
}
78+
79+
gemtek_w1701k_wifi_cfg() {
80+
configure_wifi 0 1 EHT20 23 'Gemtek_W1701K' '12345678'
81+
configure_wifi 1 44 EHT160 23 'Gemtek_W1701K_5G' '12345678'
82+
configure_wifi 2 1 EHT320 23 'Gemtek_W1701K_6G' '12345678' 'sae'
83+
uci set wireless.radio2.disabled='1'
7684
}
7785

7886
case "${board_name}" in
7987
jdcloud,ax1800-pro | \
80-
jdcloud,re-ss-01)
81-
jdc_ax1800_pro_wifi_cfg
82-
;;
88+
jdcloud,re-ss-01)
89+
jdc_ax1800_pro_wifi_cfg
90+
;;
8391
jdcloud,ax6600 | \
84-
jdcloud,re-cs-02)
85-
jdc_ax6600_wifi_cfg
86-
;;
92+
jdcloud,re-cs-02)
93+
jdc_ax6600_wifi_cfg
94+
;;
8795
redmi,ax5 | \
88-
redmi,ax5-jdcloud)
89-
redmi_ax5_wifi_cfg
90-
;;
96+
redmi,ax5-jdcloud)
97+
redmi_ax5_wifi_cfg
98+
;;
9199
aliyun,ap8220)
92-
aliyun_ap8220_wifi_cfg
93-
;;
100+
aliyun_ap8220_wifi_cfg
101+
;;
94102
cmcc,rax3000m)
95-
cmcc_rax3000m_wifi_cfg
96-
;;
103+
cmcc_rax3000m_wifi_cfg
104+
;;
97105
redmi,ax6 | \
98-
redmi,ax6-stock)
99-
redmi_ax6_wifi_cfg
100-
;;
106+
redmi,ax6-stock)
107+
redmi_ax6_wifi_cfg
108+
;;
101109
qihoo,360v6)
102-
qihoo_360v6_wifi_cfg
103-
;;
110+
qihoo_360v6_wifi_cfg
111+
;;
104112
linksys,mx4200v1 | \
105-
linksys,mx4200v2 | \
106-
linksys,mx4300)
107-
linksys_mx4x00_wifi_cfg
108-
;;
113+
linksys,mx4200v2 | \
114+
linksys,mx4300)
115+
linksys_mx4x00_wifi_cfg
116+
;;
117+
gemtek,w1701k)
118+
gemtek_w1701k_wifi_cfg
119+
;;
109120
*)
110-
exit 0
111-
;;
121+
exit 0
122+
;;
112123
esac
113124

114125
uci commit wireless

0 commit comments

Comments
 (0)