Skip to content

Contents

准备环境

jo

apt-get install jo

arm芯片 ubuntu可以直接apt-get install

jo源代码

https://github.com/jpmens/jo

wifi_config自动化配置

创建 /root/nhxwifi 配置文件

nhxwifi

8021x tls示例

"wifi_5g_encryption": "8021x",
"wifi_5g_key": "1321435346",
"wifi_5g_shortgi": "0",
"wifi_5g_eap_type": "tls",
"wifi_5g_auth": "EAP-MSCHAPV2",
"wifi_5g_priv_key": "/etc/8021x-priv",
"wifi_5g_priv_key_pwd": "123456789",
"wifi_5g_identity": "test",
"wifi_5g_password": "",
"wifi_5g_ca_cert": "/etc/8021x-ca-cert",
"wifi_5g_client_cert": "/etc/8021x-client-cert",

8021x peap示例

  • wifi_5g_identify是用户名

  • wifi_5g_password是密码

"wifi_5g_encryption": "8021x",
"wifi_5g_key": "1321435346",
"wifi_5g_shortgi": "0",
"wifi_5g_eap_type": "peap",
"wifi_5g_auth": "MSCHAPV2",
"wifi_5g_identity": "test",
"wifi_5g_password": "1214233534",
"wifi_5g_ca_cert": "/etc/8021x-ca-cert",

字段说明

  • config字段说明
option字段说明
”wifi_5g_disabled""0”0是开启,1是关闭
”wifi_5g_ssid""bitswrt-ap-5g”对方ap热点名称
”wifi_5g_encryption""mixed-psk”详见下面加密模式说明
”wifi_5g_key""asdfghjkl”个人版加密模式:热点密码
”wifi_5g_eap_type""tls”定义EAP协议: EAP-TLS 的可能值为 tls, EAP-PEAP 的值为peap
”wifi_5g_auth""EAP-MSCHAPV2”定义第 2 阶段(内部)身份验证方法: tls为EAP-MSCHAPV2;peap为MSCHAPV2
”wifi_5g_identity""test”EAP身份验证期间要发送的 EAP标识
”wifi_5g_password"""EAP身份验证期间要发送的密码
”wifi_5g_ca_cert""/etc/8021x-priv”指定用于身份验证的 CA 证书的路径
”wifi_5g_client_cert""/etc/8021x-client-cert”指定用于身份验证的客户端证书
”wifi_5g_priv_key""/etc/8021x-priv”指定用于身份验证的私钥文件的路径,仅当 eap_type 设置为 tls 时才适用
”wifi_5g_priv_key_pwd""12142”用于解锁私钥文件的密码,仅与priv_key结合使用
”wifi_5g_shortgi""0”保护间隔;0 - GI800, 1 - GI400, 2 - GI1600, 3 - GI3200;sta和ap的值需要一致
”wifi_5g_r_r""-55”漫游字段,默认不建议set,去掉option,自主学习,具体定义访问nhxstaroam
”wifi_5g_s_s1""3”漫游字段,默认不建议set,去掉option,自主学习,具体定义访问nhxstaroam
”wifi_5g_s_s2""4”漫游字段,默认不建议set,去掉option,自主学习,具体定义访问nhxstaroam
”wifi_5g_s_s3""5”漫游字段,默认不建议set,去掉option,自主学习,具体定义访问nhxstaroam
”wifi_5g_r_s0""3”漫游字段,默认不建议set,去掉option,自主学习,具体定义访问nhxstaroam
”wifi_5g_r_s1""6”漫游字段,默认不建议set,去掉option,自主学习,具体定义访问nhxstaroam
”wifi_5g_s_r_d""5”漫游字段,默认不建议set,去掉option,自主学习,具体定义访问nhxstaroam
”wifi_5g_nhxroam_age""180”漫游字段,默认不建议set,去掉option,自主学习,具体定义访问nhxstaroam
”wifi_5g_s_f_r""-80”漫游字段,默认不建议set,去掉option,具体定义访问nhxstaroam
”wifi_5g_max_rate""0x0”漫游字段,默认不建议set,去掉option,具体定义访问nhxstaroam
”wifi_5g_11r""0”1是开启;0是关闭
”wifi_5g_11v""0”1是开启;0是关闭
”wifi_5g_11k""0”1是开启;0是关闭
”wifi_5g_wds""0”1是开启;0是关闭
”wifi_5g_channel""auto”信道 auto为自动
”wifi_5g_hwmode""11axa”网卡硬件模式11a;11an;11ac;11axa
”wifi_5g_htmode""auto”频宽
”wifi_5g_country""CN”国家代码 参考标准ISO_3166-1_alpha-2
”wifi_5g_debug_disabled""0”debug网卡启用开关: 0打开;1关闭
”wifi_5g_debug_ssid""nhx7030p-debug-5g”debug热点名称
”wifi_5g_debug_encryption""none”debug热点加密方式: none没有密码;mixed-psk为wpa兼容模式
”wifi_5g_debug_key""asdfghjkl”debug热点密码
”proto""dhcp”ip分配:dhcp自动 或 static静态
”ip""192.168.1.120”静态ip:proto为static静态的时候才生效
”netmask""255.255.255.0”掩码:proto为static静态的时候才生效
”gateway""192.168.1.1”网关:proto为static静态的时候才生效
”dns1""114.114.114.114”dns1:proto为static静态的时候才生效
”dns2"""dns2:proto为static静态的时候才生效

个人版加密模式: wpa/wpa2 wpa2/wpa3

encryption:

none:不加密
psk:WPA-PSK模式
psk2:WPA-PSK2模式
mixed-psk:WPA-PSK & WPA-PSK2 & Auto
mixed-psk+ccmp:WPA-PSK & WPA-PSK2 & AES
mixed-psk+tkip:WPA-PSK & WPA-PSK2 & TKIP
mixed-psk+tkip+ccmp:WPA-PSK & WPA-PSK2 & TKIP & AES
mixed-wpa3: WPA2/WPA3 Personal (PSK/SAE) mixed mode

企业版加密模式: wpa/wpa2 wpa2/wpa3

encryption:

8021x:默认支持TKIP+CCMP
8021x-ccmp:只支持ccmp
8021x-tkip:只支持tkip
8021x-wpa3

创建 /root/nhxwifi.sh 脚本

nhxwifi.sh

运行 nhxwifi 脚本

root@RK:~# sh nhxwifi.sh /root/nhxwifi
{"sid":"1","module":"wifi","api":"nhx_set","param":{"sta0":{"ssid":"bitswrt-ap-5g","disabled":"0","encryption":"mixed-psk","key":"asdfghjkl","shortgi":"0","wds":"1"},"radio0":{"channel":"auto","hwmode":"11axa","htmode":"auto","country":"CN"},"sta1":{"ssid":"1123","disabled":"0","encryption":"none","key":"1321435346","shortgi":"0","wds":"1"},"radio1":{"channel":"auto","hwmode":"11axg","htmode":"auto","country":"CN"},"debug0":{"ssid":"NHXAP-5g-debug","disabled":"0","encryption":"mixed-psk","key":"asdfghjkl"},"debug1":{"ssid":"1123","disabled":"0","encryption":"none","key":"1321435346"}}}
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 659 0 67 100 592 2060 18204 --:--:-- --:--:-- --:--:-- 18500
0

api 反馈错误代码定义

nhx.errcode

操作 log

log

获取wifi参数和状态

2g wifi配置 (config文件)

curl -X POST -d '{"api": "nhx_get", "module": "wifi", "version": "1.0", "sid": "0000", "param": {"radio": "radio1"}}' http://188.168.1.1/api | jq

5g wifi配置 (config文件)

curl -X POST -d '{"api": "nhx_get", "module": "wifi", "version": "1.0", "sid": "0000", "param": {"radio": "radio0"}}' http://188.168.1.1/api | jq

2g wifi 运行状态

curl -X POST -d '{"api": "get_runtime", "module": "wifi", "version": "1.0", "sid": "0000", "param": {"radio": "radio1"}}' http://188.168.1.1/api | jq

5g wifi 运行状态

curl -X POST -d '{"api": "get_runtime", "module": "wifi", "version": "1.0", "sid": "0000", "param": {"radio": "radio0"}}' http://188.168.1.1/api | jq
  • 文件系统配置:xml或者api set执行的config配置
  • 运行配置:set配置之后,不一定执行了config文件配置,可以作为wifi 最终link判断依据