3

OpenWrt配置记录

 2 years ago
source link: https://blog.malu.tech/OpenwrtConfigurationRecord/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Road's Blog

OpenWrt配置记录

发表于2022-01-05|更新于2022-01-06|软件技巧
字数总计:1.3k|阅读时长:4分钟|阅读量:52

最近收了一台DIY属性拉满的迷你4G无线路由,出自大R杂货的MagicBox双频路由。大佬定制的主板,小巧的体积加上支持双频WiFi、LTE/4G网络、OpenWrt等属性,可以说极客感满满。

不过大佬默认只提供原版纯净的固件,什么功能都没有,甚至主题都没有。虽然也没法集成太多的功能,但是后续想要更新版本就不方便了,还需要自己重新安装各种功能和配置各种参数。所以还是研究了下GitHub action和Openwrt,把自己需要功能和配置编辑好。后续openwrt只要更新了,GitHub便会自动帮我编译新固件。所以这篇文章就是记录各种配置的过程,方便日后的查询。

硬件配置:

  • 高通 QCA9531 550Mhz CPU + 9887 5G Wi-Fi 芯片

  • 16M闪存 / 128M内存

  • 433Mbps + 300Mbps 双频 Wi-Fi

  • USB 扩展口( LTE 版两个 / Wi-Fi 版一个)

  • 两个百兆网口(默认 1WAN 1LAN)

  • TF 卡槽(Wi-Fi 版无)

  • LTE 版为 Type-C 供电 / Wi-Fi 版为 Micro USB 供电。

  • 4G LTE 版为下图3D打印的黑色尼龙外壳 / Wi-Fi 版为上图亚克力外壳

Openwrt相关

选择openwrt版本

首先openwrt分为稳定版和开发版,目前稳定版的版本定在19.07,而开发版为20.XX。目前openwrt对9531的支持直到19.07稳定版,目前开发版是不支持的。

然后openwrt也会有不同的分支,除了官方原版openwrt,还有coolsnowwolf大佬的LEDELienol大佬的openwrt

我很浅略的对比了三个版本的代码,LEDE和Lienol的openwrt会针对我们的使用习惯进行优化,比如默认生成Wi-Fi的ssid名称,会区分2.4G和5G。同时会集成更多的功能,让我们的编译更加方便,不用一个个的去寻找添加,而且自带的源也能保证与系统稳定运行。当然估计还有一些性能上的优化,这方面我就看不出来了。

因为AR9531目前只能支持19.07,所以在编译的时候需要留意选择正确的版本,官方原版的openwrt和Lienol大的不同版本是在GitHub上的不同分支,而coolsnowwolf大佬的不同版本是不同的库,这里是要留意的。

coolsnowwolf大佬的lede不同版本的库:

生成编译配置

这一步目前没有其他方法,还是需要自行搭建一个ubuntu平台,拉取整个openwrt的库再进行make menuconfig 操作生成编译配置。不过好在这个配置确定后,后续不需要修改了。所以也就麻烦这一次。

集成LTE所需驱动

依照老板大R的要求,驱动LTE所需的3个驱动,分别是:

kmod-usb-net

kmod-usb-net -> kmod-usb-net-rndis

usb-modeswitch

添加所需的功能

这里可以按需添加,功能主要都集成在Luci下。Lede和Lienol的版本集成的功能会明显更多更方便。

需要注意的是,添加功能后要注意固件的大小,不要让最终的固件大于16M导致编译失败。同时如果出现功能太多需要调整配置,我强烈建议先删除默认的.config文件重新配置。因为你选择一个功能时,可能会自动选择所需的各种以来,而你只是单纯的取消这个功能,相关的依赖并不会联同取消,这样很有可能会出现你明明取消了这个功能,但是固件并没有减少,因为相关的大量依赖还是被编译进去了。

下面记录一些相关的命令:

  1. 添加luci-theme-argon主题

    shell
    cd openwrt/package
    git clone https://github.com/jerrykuku/luci-theme-argon.git #拉取主题
    sed -i 's/luci-theme-bootstrap/luci-theme-argon/g' feeds/luci/collections/luci/Makefile #修改默认的主题
    make menuconfig #选择 LUCI->Theme->Luci-theme-argon
  2. shell
    make menuconfig #选择LuCI->Modules->Translations->Chinese

修改默认的设定

  1. 默认开启wifi

    shell
    sed -i 's/disabled=1/disabled=0/g' package/kernel/mac80211/files/lib/wifi/mac80211.sh
    sed -i 's/OpenWrt/Road-MagicBox/g' package/kernel/mac80211/files/lib/wifi/mac80211.sh
  2. 修改路由默认ip

    shell
    sed -i 's/192.168.1.1/192.168.8.1/g' package/base-files/files/bin/config_generate
    #把lan口默认ip由192.168.1.1改成192.168.8.1
  3. 添加wwan接口

    shell
    sed -i '$d' package/base-files/files/bin/config_generate
    sed -i '$a uci set network.wwan=interface' package/base-files/files/bin/config_generate
    sed -i '$a uci set network.wwan.ifname=eth2' package/base-files/files/bin/config_generate
    sed -i '$a uci set network.wwan.proto=dhcp' package/base-files/files/bin/config_generate
    sed -i '$a uci set network.wwan.up=1' package/base-files/files/bin/config_generate
    sed -i '$a uci commit' package/base-files/files/bin/config_generate
  4. wwan接口添加防火墙

    shell
    sed -i "19a \ \ \ \ \ \ \ \ list   network          'wwan' " package/network/config/firewall/files/firewall.config
  5. 修改主机名

    shell
    sed -i 's/OpenWrt/MagicBox/g' package/base-files/files/bin/config_generate
  6. 设定root密码为password

    shell
    sed -i '1d' package/base-files/files/etc/shadow
    sed -i '1i root:$1$H\/ab6bvd$yWkIzUrKuLPTNHY9akBDC0:18988:0:99999:7:::' package/base-files/files/etc/shadow

Github action相关

自动编译脚本源自P3TERX/Actions-OpenWrt,脚本使用说明:English | 中文


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK