[OpenWrt]軟路由H28K開啟USB無線教學

2023-11-24 06:02:52

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 [email protected]
預設密碼:password

Openwrt使用/sbin/wifi指令碼自動檢測生成設定,跟蹤指令碼發現,最終呼叫了/lib/wifi/mac80211.sh檢測硬體,發現生成wireless組態檔時網路卡名字不對,通過ifconfig –a檢視到的是wlan0,指令碼的是radio$devidx,把radio$devidx改為wlan$devidx

然後在終端中,執行下面的內容:

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

重新用終端連線,然後按下面步驟驗證

touch /etc/config/hostapd.conf
vi /etc/config/hostapd.conf

按i健,並貼上下面內容進去, 建議先複製到記事本,刪除裡面的中文註釋, 並檢查完整性,然按 :wq 儲存並退出

# 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(或者你自定義的名字)的無線網路,輸入你設定的密碼連線上,然後測速是否正常。

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 重啟

然後再斷電重啟,驗證熱點是否自動開啟

最後來幾張網路測速圖片


至此教學結束了,如有問題請留言反饋,大家共同交流!
【原創不易,翻版必究】