您好!
我正在为运行 EMAC 固件的 AM654x SR2.0 PRU-ICSSG 使用以太网设备驱动程序。 需要能够在运行时( 在接口启动后)更改与设备关联的单播 MAC 地址。
对于较旧版本的 EMAC 固件(例如02.02.08.02)、这是可能的;该接口将继续正常运行、并将接收定向到其"新"单播 MAC 地址的帧。
在 EMAC 固件(02.02.09.07)的当前版本中、此版本不再正常工作;在 MII_G_RT MAC0/1寄存器中设置新的 MAC 地址并过滤 DA0/1寄存器后、该接口不再接收定向到其单播地址的以太网帧。 我可以看到 MII_G_RT 接收计数器明显递增、其中包括单播帧、但 PRU/UDMA 不会向驱动器发送单播帧。
据我所见、我们的驱动程序中的代码与 Linux 驱动程序中的代码一致。 但是、Linux 驱动程序似乎不支持"动态" MAC 地址重新配置-除非我缺少某些内容。
您是否 会解释在操作过程中成功更改单播 MAC 地址所需的确切步骤序列、即不停止并重新启动 PRU 上运行的 EMAC 固件。
谢谢、
Ian