欢迎光临
我们一直在努力

LineageOS 刷机后 WiFi “网络受限“ 问题解决教程

问题现象

刷入 LineageOS 后,连接 WiFi 时显示"已连接/网络连接受限",无法正常使用网络。

问题原因

经过排查,主要有两个原因:

  • 系统时间错误(最常见)
    – 刷机后系统时间可能不正确
    – 时间错误导致 HTTPS 证书验证失败(证书被认为"还未生效")
    – 网络连接检测失败,显示"网络受限"
  • Captive Portal 检测服务不可用
    – LineageOS 默认使用 Google 的网络检测服务
    – 国内无法访问 Google 服务,导致检测失败
  • 解决方案

    前置准备

  • 在电脑上安装 adb 工具
    – macOS: brew install android-platform-tools
    – Windows: 下载 https://developer.android.com/studio/releases/platform-tools
    – Linux: sudo apt install adb 或 sudo pacman -S android-tools
  • 在手机上启用开发者选项和 USB 调试
    – 设置 → 关于手机 → 连续点击"版本号" 7次
    – 设置 → 系统 → 开发者选项 → 启用"USB 调试"
  • 用 USB 线连接手机到电脑
  • 步骤一:验证设备连接

    adb devices

    应该看到类似输出:
    List of devices attached
    466cb17e device

    步骤二:检查并修复系统时间

    这是最关键的一步!

  • 检查设备时间是否正确
  • adb shell date

    如果时间不对,继续下一步。

  • 获取 root 权限
  • adb root

    如果提示 restarting adbd as root,说明成功。等待 2-3 秒后继续。

  • 设置正确的系统时间
  • adb shell date $(date -u +%m%d%H%M%Y.%S)

  • 验证时间是否修正
  • adb shell date

  • 启用自动时间同步
  • adb shell settings put global auto_time 1
    adb shell settings put global auto_time_zone 1

    步骤三:配置 Captive Portal 检测服务

    将网络检测服务改为国内可访问的服务器。

    方案 A:使用 MIUI 服务器(推荐)

    adb shell settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204
    adb shell settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204
    adb shell settings put global captive_portal_fallback_url http://connect.rom.miui.com/generate_204
    adb shell settings put global captive_portal_other_fallback_urls http://connect.rom.miui.com/generate_204

    方案 B:使用 V2EX 服务器

    adb shell settings put global captive_portal_https_url https://captive.v2ex.co/generate_204
    adb shell settings put global captive_portal_http_url http://captive.v2ex.co/generate_204

    方案 C:使用 Google 中国

    adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204
    adb shell settings put global captive_portal_http_url http://www.google.cn/generate_204

    步骤四:启用网络检测并重启 WiFi

    启用 captive portal 检测

    adb shell settings put global captive_portal_mode 1

    重启 WiFi

    adb shell svc wifi disable && sleep 3 && adb shell svc wifi enable

    步骤五:验证网络连接

    在手机上重新连接 WiFi,应该不再显示"网络受限"。

    可以通过以下命令验证:

    测试网络连通性

    adb shell ping -c 3 www.baidu.com

    测试 HTTPS 连接

    adb shell curl -I -m 5 https://www.baidu.com

    替代方案:完全禁用网络检测

    如果上述方法仍然不行,可以完全禁用 captive portal 检测:

    adb shell settings put global captive_portal_mode 0
    adb shell svc wifi disable && sleep 3 && adb shell svc wifi enable

    注意:禁用后在酒店、机场等需要网页认证的 WiFi 环境下,不会自动弹出登录页面。

    常见问题

    Q1: 执行 adb root 提示 “adbd cannot run as root in production builds”

    解决方法:

    • 确保你刷的是 userdebug 或 eng 版本的 LineageOS
    • 或者在手机上安装 Magisk 获取 root 权限,然后使用 adb shell 进入后执行 su

    Q2: 重启手机后时间又错了

    解决方法:

  • 确保启用了自动时间同步(步骤二第5点)
  • 或者在手机设置中手动设置:设置 → 系统 → 日期和时间 → 启用"自动设置时间"
  • Q3: 如何恢复默认设置

    恢复默认 captive portal 设置

    adb shell settings delete global captive_portal_https_url
    adb shell settings delete global captive_portal_http_url
    adb shell settings delete global captive_portal_fallback_url
    adb shell settings delete global captive_portal_other_fallback_urls
    adb shell settings delete global captive_portal_mode

    验证网络状态

    可以使用以下命令查看详细的网络状态:

    adb shell dumpsys connectivity | grep -A 10 “Active default network”

    如果看到 IS_VALIDATED 和 VALIDATED,说明网络已通过验证。

    总结

    LineageOS WiFi “网络受限” 问题的核心原因通常是:

  • 系统时间错误(80% 的情况)- 导致 HTTPS 证书验证失败
  • Captive Portal 检测服务不可用(20% 的情况)- Google 服务在国内无法访问
  • 解决顺序:

  • 先修复系统时间(最重要!)
  • 再配置国内可访问的检测服务
  • 如果还不行,考虑完全禁用检测
  • 适用范围

    • LineageOS 所有版本
    • 其他基于 AOSP 的第三方 ROM(如 crDroid、PixelExperience 等)
    • 需要 adb 调试权限或 root 权限

    测试环境:

    • 设备:OnePlus 7 Pro
    • 系统:LineageOS 21
    • 工具:Android Platform Tools 36.0.2

    问题现象

    刷入 LineageOS 后,连接 WiFi 时显示"已连接/网络连接受限",无法正常使用网络。

    问题原因

    经过排查,主要有两个原因:

  • 系统时间错误(最常见)
    – 刷机后系统时间可能不正确
    – 时间错误导致 HTTPS 证书验证失败(证书被认为"还未生效")
    – 网络连接检测失败,显示"网络受限"
  • Captive Portal 检测服务不可用
    – LineageOS 默认使用 Google 的网络检测服务
    – 国内无法访问 Google 服务,导致检测失败
  • 解决方案

    前置准备

  • 在电脑上安装 adb 工具
    – macOS: brew install android-platform-tools
    – Windows: 下载 https://developer.android.com/studio/releases/platform-tools
    – Linux: sudo apt install adb 或 sudo pacman -S android-tools
  • 在手机上启用开发者选项和 USB 调试
    – 设置 → 关于手机 → 连续点击"版本号" 7次
    – 设置 → 系统 → 开发者选项 → 启用"USB 调试"
  • 用 USB 线连接手机到电脑
  • 步骤一:验证设备连接

    adb devices

    应该看到类似输出:
    List of devices attached
    466cb17e device

    步骤二:检查并修复系统时间

    这是最关键的一步!

  • 检查设备时间是否正确
  • adb shell date

    如果时间不对,继续下一步。

  • 获取 root 权限
  • adb root

    如果提示 restarting adbd as root,说明成功。等待 2-3 秒后继续。

  • 设置正确的系统时间
  • adb shell date $(date -u +%m%d%H%M%Y.%S)

  • 验证时间是否修正
  • adb shell date

  • 启用自动时间同步
  • adb shell settings put global auto_time 1
    adb shell settings put global auto_time_zone 1

    步骤三:配置 Captive Portal 检测服务

    将网络检测服务改为国内可访问的服务器。

    方案 A:使用 MIUI 服务器(推荐)

    adb shell settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204
    adb shell settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204
    adb shell settings put global captive_portal_fallback_url http://connect.rom.miui.com/generate_204
    adb shell settings put global captive_portal_other_fallback_urls http://connect.rom.miui.com/generate_204

    方案 B:使用 V2EX 服务器

    adb shell settings put global captive_portal_https_url https://captive.v2ex.co/generate_204
    adb shell settings put global captive_portal_http_url http://captive.v2ex.co/generate_204

    方案 C:使用 Google 中国

    adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204
    adb shell settings put global captive_portal_http_url http://www.google.cn/generate_204

    步骤四:启用网络检测并重启 WiFi

    启用 captive portal 检测

    adb shell settings put global captive_portal_mode 1

    重启 WiFi

    adb shell svc wifi disable && sleep 3 && adb shell svc wifi enable

    步骤五:验证网络连接

    在手机上重新连接 WiFi,应该不再显示"网络受限"。

    可以通过以下命令验证:

    测试网络连通性

    adb shell ping -c 3 www.baidu.com

    测试 HTTPS 连接

    adb shell curl -I -m 5 https://www.baidu.com

    替代方案:完全禁用网络检测

    如果上述方法仍然不行,可以完全禁用 captive portal 检测:

    adb shell settings put global captive_portal_mode 0
    adb shell svc wifi disable && sleep 3 && adb shell svc wifi enable

    注意:禁用后在酒店、机场等需要网页认证的 WiFi 环境下,不会自动弹出登录页面。

    常见问题

    Q1: 执行 adb root 提示 “adbd cannot run as root in production builds”

    解决方法:

    • 确保你刷的是 userdebug 或 eng 版本的 LineageOS
    • 或者在手机上安装 Magisk 获取 root 权限,然后使用 adb shell 进入后执行 su

    Q2: 重启手机后时间又错了

    解决方法:

  • 确保启用了自动时间同步(步骤二第5点)
  • 或者在手机设置中手动设置:设置 → 系统 → 日期和时间 → 启用"自动设置时间"
  • Q3: 如何恢复默认设置

    恢复默认 captive portal 设置

    adb shell settings delete global captive_portal_https_url
    adb shell settings delete global captive_portal_http_url
    adb shell settings delete global captive_portal_fallback_url
    adb shell settings delete global captive_portal_other_fallback_urls
    adb shell settings delete global captive_portal_mode

    验证网络状态

    可以使用以下命令查看详细的网络状态:

    adb shell dumpsys connectivity | grep -A 10 “Active default network”

    如果看到 IS_VALIDATED 和 VALIDATED,说明网络已通过验证。

    总结

    LineageOS WiFi “网络受限” 问题的核心原因通常是:

  • 系统时间错误(80% 的情况)- 导致 HTTPS 证书验证失败
  • Captive Portal 检测服务不可用(20% 的情况)- Google 服务在国内无法访问
  • 解决顺序:

  • 先修复系统时间(最重要!)
  • 再配置国内可访问的检测服务
  • 如果还不行,考虑完全禁用检测
  • 适用范围

    • LineageOS 所有版本
    • 其他基于 AOSP 的第三方 ROM(如 crDroid、PixelExperience 等)
    • 需要 adb 调试权限或 root 权限

    测试环境:

    • 设备:OnePlus 7 Pro
    • 系统:LineageOS 21
    • 工具:Android Platform Tools 36.0.2
    赞(0)
    未经允许不得转载:171主机测评 » LineageOS 刷机后 WiFi “网络受限“ 问题解决教程
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址