微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

移远EC25EU 4G模块在没有GSM连接时阻止RaspAP启动

如何解决移远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 和密码以适合我
  • dnsmasqdhcpcd 配置是标准的 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?