You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用adb shell配置Android Things树莓派WiFi?迁移wpa_supplicant失败求助

关于Android Things树莓派WiFi配置的两个问题解答

问题1:如何使用adb shell在运行Android Things的树莓派上设置带用户名和密码的WiFi?

首先得确保你的树莓派已经和电脑通过USB或者网络adb连上了,然后跟着下面的步骤操作就行:

  • 先进入adb shell:
    adb shell
    
  • (可选)扫描附近的WiFi,确认你要连接的SSID名称:
    wpa_cli scan
    wpa_cli scan_results
    
  • 编辑WiFi配置文件,路径一般是/data/misc/wifi/wpa_supplicant.conf。你可以用vi编辑,或者用echo命令直接追加配置:
    用vi的话,输入命令进入编辑模式:
    vi /data/misc/wifi/wpa_supplicant.conf
    
    然后添加这段内容(把你的WiFi名称和你的WiFi密码换成实际信息):
    network={
        ssid="你的WiFi名称"
        psk="你的WiFi密码"
        key_mgmt=WPA-PSK
    }
    
    要是觉得vi麻烦,直接用echo追加更快捷:
    echo 'network={
        ssid="你的WiFi名称"
        psk="你的WiFi密码"
        key_mgmt=WPA-PSK
    }' >> /data/misc/wifi/wpa_supplicant.conf
    
  • 重启WiFi服务让配置生效:
    svc wifi disable
    svc wifi enable
    
  • 最后验证一下连接状态,看看是不是连上了:
    wpa_cli status
    # 或者看IP地址确认
    ifconfig wlan0
    

问题2:复制旧版Android Things的wpa_supplicant文件到新版设备后无法连接WiFi,遗漏了哪些步骤?

这种情况我碰到过好几次,主要是不同版本的Android Things在WiFi配置规则、权限上有变化,你大概率遗漏了下面这些关键点:

  • 配置格式或加密协议不兼容:
    新版系统可能对加密协议的要求更严格,旧版里一些没明确指定的参数(比如proto)在新版里必须明确设置。比如旧配置可能只写了key_mgmt=WPA-PSK,新版可能需要加上proto=WPA2才能正常识别。建议检查旧配置里的参数,对照新版系统的要求调整。

  • 文件权限不对:
    复制文件后,新设备上的wpa_supplicant.conf权限肯定和原版不一样,系统读不了就没法连接。你得把权限改回默认的:

    chown wifi:wifi /data/misc/wifi/wpa_supplicant.conf
    chmod 660 /data/misc/wifi/wpa_supplicant.conf
    
  • 没彻底重启WiFi服务:
    光开关WiFi可能不够,最好先禁用等几秒再启用,或者直接重启设备:

    svc wifi disable
    sleep 5
    svc wifi enable
    # 或者直接重启设备
    reboot
    
  • 新版系统的配置机制变了:
    有些新版Android Things不再直接读取wpa_supplicant.conf,而是用系统的Settings Provider来管理WiFi配置。这种情况下复制文件根本没用,得用新版支持的方式重新配置——比如用adb打开设置界面手动配,或者用新版的WiFi命令工具操作。

  • PSK是哈希值而非明文:
    如果旧配置里的psk是哈希字符串而不是明文密码,新版系统可能不识别。换成明文密码重新配置,让系统自己生成正确的哈希值就行。

内容的提问来源于stack exchange,提问作者austinjohnsto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:20:46