找回密码
 立即注册
首页 业界区 业界 [路由器] 红米AX6000 ImmortalWrt 18.06升级到24.10.2, ...

[路由器] 红米AX6000 ImmortalWrt 18.06升级到24.10.2,配置npc

押疙 2025-10-1 13:23:24
原有路由器是红米AX6000最开始图方便直接用了网友的ImmortalWrt18.06,其支持的OpenClash版本太低,不支持http协议。于是这次索性就直接升级一下ImmortalWrt到最新。
升级前
  1. 系统
  2. 主机名        ImmortalWrt
  3. 主机型号        Xiaomi Redmi Router AX6000
  4. 架构        ARMv8 Processor rev 4 (v8l) x 4 (40.8°C)
  5. 温度        CPU:41.0°C, 2.4G:42°C, 5G:46°C
  6. 目标平台        mediatek/mt7986
  7. 固件版本        ImmortalWrt 18.06-5.4-SNAPSHOT r11928-ae6ff3410 / LuCI openwrt-18.06-k5.4 branch (git-23.178.42687-494cc11)
  8. 内核版本        5.4.224
  9. 本地时间        Tue Sep 2 20:59:40 2025
  10. 运行时间        23h 21m 47s
  11. 平均负载        0.00, 0.08, 0.14
  12. CPU 使用率(%)        20%
复制代码
参考:ImmortalWrt从0到能正常用教程(刷机、安装、mesh组网、插件安装,以及遇到坑)-磊科无线路由器及网络设备-恩山无线论坛 - Powered by Discuz!
升级


  • 下载固件:ImmortalWrt Firmware Selector
    Xiaomi Redmi Router AX6000 (stock layout) (如果可用空间很小,大概率是官方布局,你需要选择当前路由器的布局)
    Sysupgrade 镜像,后缀为bin
  • 通过网页升级会提示不支持所上传的映像文件格式,请选择适合当前平台的通用映像文件
    根据不支持所上传的映像文件格式,请选择适合当前平台的通用映像文件,解决方法-小米无线路由器及小米网络设备-恩山无线论坛 - Powered by Discuz!解决,不过它这个是ubi后缀
  • 多等一会儿,然后看看192.168.1.1是否可以访问,账号root密码是空的
软件安装


  • 换源:ImmortalWrt 软件仓库镜像使用帮助 - MirrorZ Help
    执行 opkg update
  • openclash:通过web界面 系统 -> 软件包 界面刷新软件列表后搜索 openclash然后更新。如果刷新失败,可以ssh执行opkg update,安装失败则通过opkg install试试
    如果没有看到 服务 -> openclash 需要退出重新登陆
    给openclash添加配置文件,它会自己下载内核工作应该是正常的
  • upnp: opkg install luci-app-upnp
    然后去打开upnp开关,对bt下载和部分游戏有用
  • npc: 直接通过软件包管理安装npc即可,ssh连接后输入npc按照提示配置即可,需要cd /usr/bin 然后再注册
    如果运行失败,需要修改/etc/init.d/nps*这个脚本内容,完整内容放到最下面了。
  • wifi: 网络 -> 无线
1.png

​        第四个点击编辑,设置wifi名字,加密算法和密码就行了。如果不需要2.4G,就把第二个禁用就行
遇到的断网问题

然后突然发现没有网络了,opkg update不能执行了,经过查找可能是关于opkg update报错无法下载的解决方法(换源无效、源用浏览器可访问时)-OPENWRT专版-恩山无线论坛 - Powered by Discuz! 这个问题。
但是我操作之后不好用,或者再接口中设置一下WAN的DNS,指定一个可用的dns。参考记录 OpenWrt 执行 opkg update 命令报错 Failed to download,但是换源无效且源用浏览器可访问的解决方案 - 余独好修以为常 - 博客园
但是依旧不行,经过排查发现 /etc/resolv.conf 始终是 127.0.0.1,修改之后只要重启dnsmasq就会变回来。nslookup baidu.com后发现解析结果是 198.18.0.4,这是个保留地址,怀疑可能是openclash的问题。经过查询得知如下[Bug] 开启openclash后ping域名变成198.x.x.x · Issue #4047 · vernesong/OpenClash 切换为redir-host即可 需要注意设置完了之后,点击最下面的应用配置才行
实际上经过各种折腾之后,换了个机场就好了。也许上面的方法确实有用,但跟我此次的情况不同
升级之后
  1. 主机名        ImmortalWrt
  2. 型号        Xiaomi Redmi Router AX6000 (stock layout)
  3. 架构        ARMv8 Processor rev 4 (v8l) x 4
  4. 温度        CPU: 40.0°C, WiFi: 42.0°C 46.0°C
  5. 目标平台        mediatek/filogic
  6. 固件版本        ImmortalWrt 24.10.2 r33247-467867283bb9 / LuCI openwrt-24.10 branch 25.175.22647~dbf5de0
  7. 内核版本        6.6.93
  8. 本地时间        2025-09-02 23:11:14
  9. 运行时间        0h 14m 21s
  10. 平均负载        0.02, 0.08, 0.08
  11. CPU 使用率(%)        3%
复制代码
NPC服务配置失败

出现,原因是因为is_running函数中使用ps命令检查对应Pid是否运行中,但是openwrt的ps命令参数和正常的不一样
  1. root@ImmortalWrt:/etc/init.d# ./nps-client-2e435060b1 start
  2. Starting nps-client-2e435060b1
  3. Unable to start, see /var/log/nps-client-2e435060b1.log and /var/log/nps-client-2e435060b1.err
复制代码

  • 原来的基础上增加  /etc/rc.common和 START和STOP
  • is_running中原先使用ps判断进程是否存在,改为kill -0
  1. #!/bin/sh /etc/rc.common
  2. # chkconfig: - 99 01
  3. # description: NPS 内网穿透客户端
  4. # processname: /usr/bin/npc
  5. START=99
  6. STOP=01
  7. cmd="/usr/bin/npc -server=xxxx.com:xxx -vkey=cxxxxxx -debug=false -log_path=/var/log/npc-xxx.log"
  8. name="$(basename $(readlink -f $0))"
  9. pid_file="/var/run/$name.pid"
  10. stdout_log="/var/log/$name.log"
  11. stderr_log="/var/log/$name.err"
  12. [ -e "/etc/sysconfig/$name" ] && . "/etc/sysconfig/$name"
  13. get_pid() {
  14.     cat "$pid_file"
  15. }
  16. is_running() {
  17.     [ -f "$pid_file" ] && kill -0 "$(get_pid)" >/dev/null 2>&1
  18. }
  19. start() {
  20.     if is_running; then
  21.         echo "Already started"
  22.         return 0
  23.     fi
  24.     echo "Starting $name"
  25.     $cmd >>"$stdout_log" 2>>"$stderr_log" &
  26.     echo $! >"$pid_file"
  27.     sleep 1
  28.     if ! is_running; then
  29.         echo "Unable to start, see $stdout_log and $stderr_log"
  30.         return 1
  31.     fi
  32. }
  33. stop() {
  34.     is_running || { echo "Not running"; return 0; }
  35.     echo -n "Stopping $name"
  36.     kill "$(get_pid)"
  37.     for i in $(seq 1 10); do
  38.         is_running || { echo ""; echo "Stopped"; rm -f "$pid_file"; return 0; }
  39.         echo -n "."
  40.         sleep 1
  41.     done
  42.     echo ""
  43.     if is_running; then
  44.         echo "Not stopped; may still be shutting down"
  45.         return 1
  46.     fi
  47.     rm -f "$pid_file"
  48. }
  49. restart() {
  50.     stop && start
  51. }
  52. status() {
  53.     if is_running; then
  54.         echo "Running"
  55.     else
  56.         echo "Stopped"
  57.         return 1
  58.     fi
  59. }
复制代码
修改完毕之后,执行./nps-client-cxxxxxxxxxx enable 实现开机自启 disable取消开机自启

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册