你的树莓派很有可能是这个原因无法连接Wifi?

前言

        近期入手了一个Zero2W,尝试着玩一下树莓派系统,因经费有限没有购入4B或者5B(苦笑),因此只能买最小的系统板Zero2W,本质上Linux系统都基本通过SSH来连接终端或连上之后设置VNC也可以远程访问桌面,因此我并没有购入一个可以显示的屏幕。

        看了网上的各种文章确定好需求,发现可以玩一种操作名为“无头显示”,就是不通过系统界面配置,经过烧录好的SD卡文件中进行配置,常见的是往分区写入wpa_supplicant.conf文件和ssh文件(wpa_supplicant.conf为预设wifi配置文本,ssh文件为设置服务启动,以下简称wpa文件),但因为系统迭代,以上说的方法已是过去式,但因现在基本都使用官方烧录器(可直接设置用户名等)进行系统制作,因此基本上都是最新发行的bookworm版,所以使用之前方法无头显示,已经不行了,只能通过之前的版本进行尝试,但经过博主的各种尝试中,发现这两个版本也是有所差异的。

终极解决大法(更新)

        后续为了判断是否是烧录器问题,重新进行了一些配置和烧录尝试,经过测试新版本官方烧录器产生一些问题,有检验失效、下载失败、预设信息失效等,目前通过官方烧录器1.8.5版本成功烧录wifi预设成功,bookworm、bullseye、buster均可,但目前测试只有Desktop OS成功,Lite系统尚未测试,应该也是一样的,进行正常的选择地区预设信息烧录启动即可。


问题解析(以下为参考网上方法失效原因)

网上教程失效原因和配置方法

bookworm版(2023-10-10到目前):
        发布到现在为最新的系统,由原来的dhcpcd变成Network Manager接管,也就是Linux中常用的nmcli命令配置网络接口,所以原来的结构产生了变化至此无法通过写wpa和ssh文件进行开启远程终端和预设网络链接。
        一开始通过教程进行官方烧录器进行预设,好多次调试并未连上热点,加上第一次触摸树莓派不知道发热量的情况下,还考虑过是否烧了的情况。由于博主入坑的时候较晚,因此不能很肯定树莓派官方烧录器(这里推荐使用旧版的1.8.5烧录器)是否一直对bookworm版系统进行预设信息时失效,据一些交流得知5月13号发布的bookworm版中可以预设信息成功,所以也可能判断是烧录器新旧版的问题,具体测试无果,所以有待各位自行考证,不做评价。

#以下针对raspberry Lite最小化系统进行命令配置Wifi,图形化也可但建议直接手动连接即可

#默认wifi是down的状态,需要手动开启,如没有开启,通过raspi-config配置wifi也是一样error
nmcli radio wifi on

#查找当前可用wifi列表,如用Zero系列要先将网络切换到2.4G频道
nmcli device wifi list

#连接wifi
sudo nmcli --ask device wifi connect <wifi名称> password <密码>

#无密码的wifi连接
sudo nmcli device wifi connect <wifi名称>

#隐藏wifi连接,添加一个hidden并设置为yes
sudo nmcli --ask dev wifi connect <wifi名称> hidden yes

#查看当前网络优先级
nmcli --fields autoconnect-priority,name connection

#设置网络优先级
nmcli connection modify "网络接口名" connection.autoconnect-priority 10

bullseye版(2021-11-08 - 2023-5-3):
        关于一开始我判读可能是系统版本问题,因此我通过烧录之后得到了答案,以为只需要把版本烧录成bullseye版即可,但在测试的过程中,发现虽然也是dhcpcd接管但也无法做到完全的无头显示,因为系统读取wpa文件时并没有读取到设置的country,且wifi默认是关闭状态,就算配置之后也无法连接上网络,除非已经有配置过wifi,然后通过wpa文件更改已连接的信息,以下利用raspi-config命令配置即可。
 

#进入配置界面
sudo raspi-config
  1. 选择System Options,,而后选择S1 Wireless LAN配置wifi,选择好地区,填写SSID(wifi名称)和密码即可,如下图选项参考
  2. 开启ssh和vnc选项,还是通过raspi-config配置,选择Interface Options,分别选择ssh和vnc然后选择yes回车,之后ESC退出,选择右下角Finish完成退出,如下图参考

buster版(2020-8-20 - 更早):
        到了这个版本,才是本章问题的关键,网上无论是早期18年-近期24年左右的教程,无头显示内容都未曾提及用的是什么版本,只是一味的告诉你放置文件,这导致了很多刚入坑的人为了不多买个屏幕的钱去选择无头显示,因为在Linux系统中,本质上更多时间都是在PC或者笔记本中进行远程访问ssh或者登陆vnc等,所以基本上就算树莓派配备屏幕也是没经常看的需求。
        所以经过测试,buster版就是可以完全不通过显示器配置ssh和wifi的版本,只需要跟网上攻略中一样,进行文件的放置,也就是早期系统自带一个pi用户的版本,后来因为系统安全的关系,取消了这个用户。以下为网上常见的无头显示的配置教程。(建议下载2021-5-8的版本)

  1. 创建一个txt文本,并写入以下内容,并将后缀改为conf,全称为wpa_supplicant.conf的文件
    #设置地区为国内
    country=CN
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    
    network={
        #写wifi名称
    	ssid=“your_wifi”
        #写wifi密码
    	psk=“your_passwd”
    }
  2. 将上面创建好的wpa_supplicant.conf放在boot分区中,并在分区中创建一个ssh.txt文本并去掉.txt后缀,也就是名为ssh的空白文件,具体如下图
  3. 之后直接开机,会自动识别wpa文件和ssh文件并配置文本预设的信息和开启ssh服务,这样通过电脑热点或者手机热点以及路由器后台都可查看到树莓派设备的IP地址了(或电脑输入arp -a命令列出当前IP的arp表也可查看到IP),如图连接成功登陆ssh

关于各个版本的思路提供(仅参考思路)

bookworm版:

  1. 伪“无头显示”利用网线将PC或笔记本与树莓派进行连接,之后写同一个网段局域网IP地址就可Ping通树莓派,但在此之前要在系统烧录好后,添加ssh空白文件到boot分区,这样开机就会开启ssh服务,根据我的判断应该这个功能是正常的,所以就可直接登录到ssh,然后根据前面教程配置好wifi即可。
  2. 之前有通过直接修改已经绑定好的网卡文本进行修改,达到前面所说的成功导出当前已配置好的镜像以供烧录,然后直接修改文本信息中的wifi配置即可。但经过测试最后会有网卡信息丢失的情况,需要重新绑定,因此失败不再细说(也有可能是配置不当,有心情折腾可以一试)。

bullseye版:

  1. 在测试中,虽然跟buster版一样都是dhcpcd接管,但是系统好像做了一些射频屏蔽,也就是要设置地区才可以正确识别到wifi并连接,但是通过wpa文件设置地区,还是依旧无法读取,只能通过raspi-config配置好地区和wifi,因此通过这个思路可以直接导出镜像直接烧录,然后直接修改wpa文件达到直接连接使用。(尚未尝试)
  2. 跟bookworm版中提供的第一种思路一样

buster版:

  1. buster虽然可以使用“无头显示”的方法,但因系统太久,容易出现兼容性问题导致开不了机,需刷树莓派老固件版本才可适配,但前面提到的版本则可以直接烧录使用,目前就测试了树莓派4B、zero系列,5B尚未测试。按照我推荐的版本再往前一点就会出现兼容性问题开不了机了(具体爱折腾的可以测试一下)。

系统制作的一些问题

  1. 官方烧录器预设信息目前就设置用户有效,只针对近期最新的版本等,推测应该bookworm系列的基本都可以,或者往前一点的就失效了,针对于手动选择镜像而言的问题,不过应该是都要手动下载了,在线下载最近似乎出现了一些问题,基本上要科学上网才能下载了。
  2. 例如bullseye版也是可以预设的似乎(具体测太多次忘了),但太早的版本利用官方烧录器预设用户密码烧录时是不生效的,但也可通过往boot分区写一个userconf.txt文本创建一个用户,内容为下方示范
    #在Linux系统或树莓派系统中输入以下命令,将密码进行sha512加密
    openssl passwd -6 <your_passwd>
    
    
    #以下内容为写入userconf.txt文本中的,格式如下
    <username>:<password>
    
    #例:如下面为写了一个pi用户,中间输入一个冒号
    #your_passwd为你加密后的sha512字符串,紧跟着冒号粘贴在后面即可
    #之后保存文件放入boot分区
    
    pi:<your_passwd>

结尾

        至此关于树莓派网络的问题都一一列出了,期间有一些问题和思路暂时想不起来,等后续想起或遇到进行补充,本章如果有出现技术描述错误还望海涵,如有问题希望多多交流,感谢大家观看,喜欢记得收藏一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值