第一次拿到野火i.MX6ULL开发板时,最让人头疼的就是网络连接问题。特别是当手头没有网线,只能依赖无线网络时,配置过程可能会遇到各种意想不到的状况。我自己就经历过连着三小时调试WiFi都连不上的崩溃时刻,后来才发现是配置文件里少了个分号。
开发板默认使用的是Debian系统,网络管理工具是systemd-networkd,这套系统功能强大但配置起来确实需要点耐心。建议新手先准备好以下工具:
关键配置文件位置:
/etc/wpa_supplicant/wpa_supplicant.conf/etc/network/interfaces.d/etc/dhcp/dhclient.conf我强烈建议在修改任何配置文件前先备份原文件。有次我手快直接修改了wpa_supplicant.conf,结果输错密码导致连不上网,最后只能通过串口重新配置,白白浪费两小时。
开发板预装的fire-config工具是连接WiFi最便捷的方式。具体操作流程如下:
sudo fire-config进入配置界面常见问题排查:
iwconfig命令查看wlan0接口是否获取到IP当fire-config不奏效时,可以直接修改wpa_supplicant配置文件:
bash复制sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
添加以下内容(以华为手机热点为例):
code复制network={
ssid="YourHotspotName"
psk="YourPassword"
key_mgmt=WPA-PSK
}
保存后执行:
bash复制sudo wpa_cli -i wlan0 reconfigure
sudo dhclient wlan0
实测技巧:
wpa_cli status可以查看当前连接状态连接热点后第一步要确认开发板获取到的IP。推荐几个实用命令:
bash复制ifconfig wlan0 | grep "inet addr"
ip addr show wlan0
nmcli device show wlan0
如果发现IP是169.254开头的,说明DHCP获取失败。这时候可以:
bash复制sudo dhclient -r wlan0
sudo dhclient wlan0
在MobaXterm中使用SSH连接时要注意:
连接失败时的检查清单:
netstat -tuln查看22端口是否监听sudo service ssh status确认ssh服务运行动态IP在开发板移动使用场景下很方便,但在以下情况建议配置静态IP:
通过systemd-networkd配置静态IP最稳定,具体步骤:
创建配置文件:
bash复制sudo nano /etc/systemd/network/10-static-wlan0.network
写入以下内容(以192.168.43.100为例):
code复制[Match]
Name=wlan0
[Network]
Address=192.168.43.100/24
Gateway=192.168.43.1
DNS=8.8.8.8
重启网络服务:
bash复制sudo systemctl restart systemd-networkd
血泪教训:
route -n查看正确网关如果配置静态IP后无法上网,快速恢复的方法:
bash复制sudo mv /etc/systemd/network/10-static-wlan0.network /etc/systemd/network/10-static-wlan0.network.bak
sudo systemctl restart systemd-networkd
修改getty服务配置实现自动登录:
bash复制sudo nano /lib/systemd/system/serial-getty@.service
找到ExecStart行修改为:
code复制ExecStart=-/sbin/agetty --autologin debian --keep-baud 115200,38400,9600 --noclear %I $TERM
重载服务:
bash复制sudo systemctl daemon-reload
创建systemd服务实现开机自动联网:
bash复制sudo nano /etc/systemd/system/wifi-autoconnect.service
写入以下内容:
code复制[Unit]
Description=WiFi Auto Connect
After=network.target
[Service]
ExecStart=/usr/bin/wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
ExecStartPost=/usr/bin/dhclient wlan0
[Install]
WantedBy=multi-user.target
启用服务:
bash复制sudo systemctl enable wifi-autoconnect
sudo systemctl start wifi-autoconnect
bash复制sudo iw dev wlan0 link
bash复制sudo iwlist wlan0 scan | grep -E 'ESSID|Quality'
bash复制sudo tcpdump -i wlan0 -n
关键日志文件:
bash复制# WiFi连接日志
journalctl -u wpa_supplicant -f
# DHCP日志
journalctl -u systemd-networkd -f
常见错误解读:
我在实际项目中发现,给开发板配个USB WiFi网卡(如RT5370芯片的)能显著提升信号质量,特别是当需要穿墙时。安装驱动也很简单:
bash复制sudo apt install firmware-realtek