NXP MCU 技术论坛
直播中

风来吴山

9年用户 1537经验值
擅长:电源/新能源
私信 关注
[问答]

请问如何使用init脚本在i.MX8ULP上启用WiFi以避免在每次启动时配置WiFi?

我已经在 IMX8ULP 上安装了 wifi 以使用 IMX linux 参考手册中的以下命令在工作站模式下连接到 AP。
modprobe moal mod_para=nxp/wifi_mod_para.conf
head -n 4 /etc/wpa_supplicant.conf > /etc/wpa_supplicant.conf.tmp
wpa_passphrase ssid password >> /etc/wpa_supplicant.conf.tmp
mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.bak
mv /etc/wpa_supplicant.conf.tmp /etc/wpa_supplicant.conf
wpa_supplicant -B -i mlan0 -c /etc/wpa_supplicant.conf -D nl80211
但是,配置会在每次启动时重置。如何启用 WiFi uisng init 脚本,使其在启动时自动启动?。

回帖(1)

吴藩

2025-4-15 18:04:51

在i.MX8ULP系统上启用持久化WiFi配置的步骤如下:


1. 确认初始化系统


i.MX8ULP默认使用systemd作为初始化系统,建议采用systemd服务实现开机自启。




2. 创建Systemd服务单元


/etc/systemd/system/wifi-connect.service创建服务文件:


[Unit]
Description=WiFi Connection Setup
After=network.target

[Service]
Type=oneshot
ExecStartPre=/sbin/modprobe moal mod_para=nxp/wifi_mod_para.conf
ExecStart=/sbin/wpa_supplicant -B -i mlan0 -c /etc/wpa_supplicant.conf -D nl80211
ExecStartPost=/sbin/dhclient mlan0  # 如果需要DHCP
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target



3. 配置优化


# 确保配置文件权限
sudo chmod 600 /etc/wpa_supplicant.conf

# 启用服务
sudo systemctl enable wifi-connect.service

# 启动服务测试
sudo systemctl start wifi-connect.service



4. 验证配置文件持久性


检查以下文件是否被其他进程篡改:


# 查看文件修改时间
ls -l /etc/wpa_supplicant.conf

# 检查是否有恢复脚本
grep -rn "wpa_supplicant.conf" /etc/



5. 高级调试方法


# 查看服务日志
journalctl -u wifi-connect.service

# 手动测试流程
sudo systemctl stop NetworkManager  # 如果存在
sudo rmmod moal && sudo modprobe moal
sudo wpa_supplicant -i mlan0 -c /etc/wpa_supplicant.conf -D nl80211 -dd



常见问题处理:




  1. 模块加载失败
    检查/lib/modules/$(uname -r)/下是否存在moal.ko




  2. DHCP问题
    增加ExecStartPost=/sbin/dhclient mlan0或使用静态IP




  3. 网络优先级
    在服务文件中添加Before=network-online.target




  4. 文件覆盖问题
    使用chattr +i /etc/wpa_supplicant.conf设置为不可变






替代方案:使用NetworkManager


如果系统包含NetworkManager:


nmcli dev wifi connect SSID password PASSWORD
nmcli connection modify SSID autoconnect yes

建议优先使用systemd方案,这是嵌入式Linux系统更常见的配置方式。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分