【发布时间】:2021-04-05 23:30:57
【问题描述】:
我在尝试在 4GB RasPi-4 上运行 CodeSys 时遇到了一个非常奇怪的问题。长话短说,在我开始运行 CodeSys 项目之前,Pi 工作正常。当我这样做时,在 60 秒内,eth0 出现故障并且无法恢复。即使重新启动 Pi 也没有效果。我发现恢复 eth0 的唯一方法是从 Raspberrypi.org 的源图像中重新刻录 RasPiOS(过去几天我已经做了大约 30 次,试图通过反复试验来摆脱这个)。
Linux raspberrypi 5.4.79-v7l+ #1373 SMP Mon Nov 23 13:27:40 GMT 2020 armv7l GNU/Linux
我使用 /etc/dhcpcd.conf 将 eth0 设置为静态 IP。导致此问题的原因是 没有 更改我的设置。尝试使用 ifconfig eth0 up/down 没有效果——没有错误,没有反馈,什么都没有。检查 eth0 的状态显示“正在等待运营商”,尽管它已连接到活动交换机(我还更换了所有电缆和交换机以消除它们作为问题的根源)。
当我重新烧录 Pi 并安装 CodeSys 时,eth0 会无限期地保持运行(在我最长的测试中是 24 小时以上)。它正在开始杀死 eth0 的 CodeSys 项目。 etho“死”后重新启动会给出一系列似乎相关的 bcmgenet 消息:
pi@raspberrypi:~ $ dmesg | grep bcmg
[ 1.033665] bcmgenet fd580000.ethernet: failed to get enet clock
[ 1.033685] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[ 1.033709] bcmgenet fd580000.ethernet: failed to get enet-wol clock
[ 1.033730] bcmgenet fd580000.ethernet: failed to get enet-eee clock
[ 1.044648] libphy: bcmgenet MII bus: probed
[ 9.528502] bcmgenet fd580000.ethernet: configuring instance for external RGMII
[ 9.535175] bcmgenet fd580000.ethernet eth0: Link is Down
我还尝试从头开始创建一个新的 CodeSys 项目,该项目没有安装 eth0 驱动程序(ModBus、以太网/IP),只有 GPIO 驱动程序。这也无济于事——eth0 在 60 秒内死亡。
最奇怪的是,似乎只有 eth0 受到影响。 GPIO 引脚在 CodeSys 项目的控制下保持循环(我有一个简单的 LED 闪烁程序正在运行),我仍然可以使用 wifi SSH 进入 Pi。但由于我设置这个 Pi 的主要原因是使用以太网/IP 和 ModBus....
这个帖子:at GitHub 是我发现的唯一一个地方,有人描述了与我正在经历的类似的事情,但在这种情况下,没有安装 CodeSys。我确实尝试按照线程中的建议将 genet.skip_umac_reset=n 添加到我的 cmdline.txt 中,但没有效果。
【问题讨论】:
标签: raspberry-pi codesys