如何解决移远EC25EU 4G模块在没有GSM连接时阻止RaspAP启动
我有一个 RaspBerry Pi 4 B+,安装了 Sixfab 4G/3G base hat 和 Quectel EC25-EU 4G/LTE PCIe 模块。我有 RaspAP 以稍微修改的配置运行:
-
/var/www/html/rasp
而不是/var/www/html
作为根文件夹 -
lighttpd
在端口803
上,以免与Nginx
的实例相交,该实例在端口80
上运行,并以/var/www/html
为根(这会不会有问题?) - 更改了 SSID 和密码以适合我
-
dnsmasq
和dhcpcd
配置是标准的 RaspAP 配置
问题:
当 4G 调制解调器没有服务时,RaspAP 在重新启动后几乎整整 10 分钟都无法启动。错误日志表明 wlan0
接口不可用。日志不能告诉我足够的信息。当我运行此命令时:
sudo /usr/sbin/hostapd -B -P /run/hostapd.pid -B /etc/hostapd/hostapd.conf
它输出:
Configuration file: /etc/hostapd/hostapd.conf
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
nl80211: kernel reports: Match already configured
ctrl_iface exists and seems to be in use - cannot override it
Delete '/var/run/hostapd/wlan0' manually if it is not used anymore
Failed to setup control interface for wlan0
wlan0: Unable to setup interface.
wlan0: interface state UNINITIALIZED->disABLED
wlan0: AP-disABLED
wlan0: CTRL-EVENT-TERMINATING
hostapd_free_hapd_data: Interface wlan0 wasn't started
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
在设置 RaspAP 之前,我没有使用 wlan0
连接到任何无线互联网或更改任何设置。
在 AP 启动之前的某个时间,运行 dmesg
会出现以下错误:
ieee80211 phy0: brcmf_cfg80211_stop_ap: setting AP mode Failed -52
我还应该注意到 dmesg
也会在每次启动时显示这一点,无论是否安装了 RaspAP:
[ 9.639873] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
我已经用两个不同的帽子和调制解调器以及两个不同的 RaspBerry Pi 4B 复制了这个问题,我已经在第三个 RaspBerry 上用两个调制解调器中的一个进行了测试,它工作正常,尽管没有任何 Nginx。我发现很难想象 Nginx 可以做到这一点。到目前为止,我唯一的理论是基于这样一个事实,即在 ECM 模式的当前配置之前,两个调制解调器都已配置为 PPP 和可能的 QMI 模式。我还没有找到一种方法来“清理”他们的固件,可能是旧配置与 Raspbian 的网络管理器相交,阻止了某些事情吗?
这些组件都在一个塑料外壳中。我测量了里面的温度,移远模块已经达到了45摄氏度。 RaspBerry 的运行温度高达 71 C,但不会更热。 从 RaspBerry 的角度来看,我不认为这是一个热问题,因为它总是在启动时发生,但如果 4G 服务下降,它也会在运行时发生,这可能是由于热而发生的。欢迎任何证实这一假设的想法。我在试图解决这个问题时不知所措!
解决方法
解决方案似乎是编辑 hostapd.service
文件 (/lib/systemd/system/hostapd.service
) 并将 After=network-online.target
添加到 [Unit]
部分。这大致转化为在网络接口启动时等待,直到它们有地址(据我所知)。 Great source here.
我已经在使用和不使用 GSM 服务的情况下对其进行了多次测试。重新启动后,热点仅需要大约 10-20 秒即可显示在 Wifi 扫描中。我还没有排除热量起作用的可能性,如果它在运行期间而不是在启动时出现故障。
更粗劣的解决方案是将 ExecStartPre=/bin/sleep 15
添加到 [Service]
部分以强制操作系统延迟启动服务。似乎出于某种原因我仍然不明白,如果 hostapd
启动得太早,它会因为 wlan0
接口未准备好而挂起 10 分钟。 我怀疑这可能是 Pi 的电源问题,因为很多事情都是如此。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。