[OpenWrt]软路由H28K开启USB无线教程

0x01 背景

H28K软路由带了一个USB2.0的接口,官方说是支持USB无线的;于是就网购了USB转WIFI的设备(芯片:RTL8811CU),拿到手后开心的插上去,发现没有任何反应;在Q裙中询问后,发现一些网友已经实验了八九款的设备也是同样问题;没办法就各种查资料和折腾,功夫不负有心人,最终成功开启WIFI,非常NICE。

把各种折腾的结果总了一番,就有了这篇教程,欢迎大家食用和交流。

0x02 USB WIFI芯片

本教程针对各大电商平台售卖的50元以下的USB无线设备,芯片是:RTL8811CU

目前市面上的OpenWrt固件基本上都不支持,除非有人帮你定制

0x03下载固件

从网上找到了合适的驱动,并基于istoreos 代码中编译出了对应的固件

固件下载地址:https://op.qiaodianzi.cn/istoreos/istoreos-rockchip-rk35xx-hlink_h28k-squashfs-sysupgrade.img.gz

其他模块组件:https://op.qiaodianzi.cn/istoreos/packages/

0x04 刷机教程

假如你还不会刷机,刷机教程可以参考:【H28K 刷OpenWrt教程】https://www.wifilu.com/2786.html

0x05 修改无线配置

刷完机后需要断电,然后插入你的USB设备,再通电启动。

启动后插入网线,然后使用终端工具连接
ssh root@192.168.100.1

默认密码:password

Openwrt使用/sbin/wifi脚本自动检测生成配置,跟踪脚本发现,最终调用了/lib/wifi/mac80211.sh检测硬件,发现生成wireless配置文件时网卡名字不对,通过ifconfig --a查看到的是wlan0,脚本的是radiodevidx,把radiodevidx改为wlan$devidx

然后在终端中,执行下面的内容:

bash 复制代码
cp /lib/wifi/mac80211.sh /lib/wifi/mac80211.sh-bak
sed -i 's#radio#wlan#g' /lib/wifi/mac80211.sh
rm -rf /etc/config/wireless
wifi config instead

# 查看是否有wlan设备信息, 如果显示下面图片信息,说明正常识别到你的USB设备, 然后断电重启
ifconfig -a

如果正常识别后,请断电重启

参考资料:


0x06 设置AP

然后使用工具hostapd开启热点,
注意:请勿使用界面中的"网络-> 无线"的相应功能, 否则后果自负

6.1 创建hostapd.conf

重新用终端连接,然后按下面步骤验证

bash 复制代码
touch /etc/config/hostapd.conf
vi /etc/config/hostapd.conf

按i健,并粘贴下面内容进去, 建议先复制到记事本,删除里面的中文注释, 并检查完整性,然按 :wq 保存并退出

confg 复制代码
# ifconfig -a 可以看到 wlan2 和 wlan3 这两个都可以使用
interface=wlan3
# 网桥名字根据的你填写 ifconfig查看
bridge=br-lan

driver=nl80211
# 你的wifi名字
ssid=H28K

# 5 Ghz
hw_mode=a
ieee80211n=1
ieee80211ac=1
# This enables radar detection and DFS support
ieee80211h=1
spectrum_mgmt_required=1
local_pwr_constraint=3
# This advertises the country_code
ieee80211d=1
#country_code=US
country_code=CN

channel=149
vht_oper_centr_freq_seg0_idx=155
vht_oper_chwidth=1
ht_capab=[HT40+]
#ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40]
vht_capab=[SHORT-GI-80]
#vht_capab=[SHORT-GI-80][RX-STBC-1]

wpa=2
# 这里填写你wifi的密码
wpa_passphrase=your password
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

配置参考资料:


6.2 启动AP

执行下面命令, 然后用手机搜索无线网络,看是否能看到H28K(或者你自定义的名字)的无线网络,输入你设置的密码连接上,然后测速是否正常。

bash 复制代码
hostapd /etc/config/hostapd.conf

0x07 设置开机自动开启无线AP

7.1 新建AP服务

touch /etc/init.d/ap
vi /etc/init.d/ap
# 按i健 把下面的内容贴进去,并检查完整性,然按 :wq 保存并退出

添加如下内容:

#!/bin/sh /etc/rc.common

START=999
APP=hostapd
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1

start() {
    echo "Starting AP..."
    $APP -B /etc/config/hostapd.conf
    echo "done..."
}

stop() {
    echo "Stopping AP..."
    killall $APP
    ifconfig wlan2 down
    ifconfig wlan3 down
    echo "done..."
}

7.2 开启AP服务

# 开启服务
chmod +x /etc/init.d/ap
/etc/init.d/ap enable

# 这个是关闭服务的,可以不执行
/etc/init.d/ap disable

7.3 重启

然后再断电重启,验证热点是否自动开启

最后来几张网络测速图片


至此教程结束了,如有问题请留言反馈,大家共同交流!

【原创不易,翻版必究】