• 作者:老汪软件技巧
  • 发表时间:2024-09-20 10:01
  • 浏览量:

最近入手一台 arm 开发板,内置安装了 Android 13 系统。

拿到手后,当务之急就是给它联网

原本以为 so easy 的一件事,却折腾了半天。

原因无它:接入 WIFI,“已连接,但无法访问互联网”?

今天分享一下问题解决的过程,希望给遇到类似问题的朋友,一些参考。

前置准备

拿到板子,首先需要登录设备,这里简单介绍两种方式。

**方式一:**找一根 HDMI 线,连接到显示器;有线鼠标和有线键盘连接到板子的 USB 口,开机启动。

方式二: 如果觉得方式一麻烦,可以选择使用投屏软件,在本地电脑控制开发板:

问题描述:

连接 WIFI 后,如果你也遇到下面的问题,那么可以继续看下去了。

尝试思路1:Captive portal 配置

参考:…

Captive Portal 是安卓 5 引入的一种检测网络是否正常连接的机制,通过 HTTP 返回的状态码是否是 204 来判断是否成功,如果访问得到了 200 带网页数据,那你就可能处在一个需要登录验证才能上网的环境里,比如说校园网和酒店,如果连接超时就在 WiFi 图标和信号图标上加一个感叹号。

首先,本地电脑打开一个终端,确认 adb 能否识别到你的设备:

adb devices

接下来,通过如下命令通过修改系统设置来控制这种行为。

# 将 captive_portal_mode设置为0(不使用系统默认的 URL 进行检测)
adb shell settings put global captive_portal_mode 0
#查看当前状态:
adb shell settings get global captive_portal_mode

如果还是不行,试试更新下用于检测互联网连接状态的两个 URL。

#分别修改两个地址
adb shell settings put global captive_portal_http_url http://captive.v2ex.co/generate_204
adb shell settings put global captive_portal_https_url https://captive.v2ex.co/generate_204
# 或者下面地址
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

修改后,无法访问互联网的提示没了,不过依然无法打开网页。

DHCP 自动分配的 IP 地址,应该没问题啊,要不试试设置一个静态 IP ?

尝试思路2:静态 IP 配置

DHCP 自动分配的 IP 地址是和设备的 MAC 地址相关的,是否是 IP 地址冲突了?

为此尝试修改 IP 地址,默认网关和 DNS 还是和之前一致!

在本地电脑,通过如下命令查看局域网内设备:

arp -a

安卓连不上无线网络__安卓连接wifi不能上网

发现是可以发现这个设备的:

但是,依然无法访问互联网。

那么,会不会是 DNS 的问题?

尝试思路3:DNS 配置

我发现 DHCP 自动分配的 DNS 是 192.168.1.1,这个是路由器的 IP 地址。

我把 DNS 改成了 8.8.8.8,这是 Google 的公共 DNS 服务器。

终于,可以成功打开网页了!

果然,是 DNS 的锅~

虽然可以访问互联网,但新问题又来了:在本地局域网却 ping 不通这个 IP 地址,这就意味着在内网无法调用开发板上部署的任何服务。

莫非是路由器的问题?

于是,我用手机开了一个热点,连上热点网络后,压根不存在上面这些问题!

到这一步,是 WIFI 网络的问题,实锤了!

怎么解决?

找路由器去!

最终方案:路由器配置

在路由器背面找到 局域网 IP 地址(LAN IP)。

浏览器中打开,登录成功后,可以发现设备已经成功接入了。

不同品牌的路由器应该大同小异,找到 上网方式。

我这里之前默认的是 Bridge(AP) 方式,把它改成自动获取 IP (DHCP),设备重新连接这个 WIFI,完美解决!

为什么改变 上网方式解决了问题?

因此,通过将路由器从 Bridge 模式切换到 DHCP 模式,路由器重新承担起管理和分配网络的任务,确保了局域网内设备的正常通信,和访问外网。

写在最后

总体来说,在给 Android 开发板联网过程中,我们可能会遇到:

以上,希望给遇到类似问题的朋友,一点参考。

如果本文对你有帮助,不妨点个免费的赞和收藏备用。

下一篇,我们将给这个开发板接入 AI 能力,敬请期待!