I've been working on the SJA1110-EVM board and created software to read certain frames on the host processor (Cortex-M7). For that I used the "hello world" example provided with the board and build the application from there.
I was using S32DS with Autosar-RTD.
Now I switched to another board also using the SJA1110. However it is using a different revision of said switch (Rev. D). I made sure to adapt the configuration.
However I can't receive any frames that should be trapped to host on the host processor there. I am trapping the frames via L2 entry with trap flag set. I made sure the L2 entry is actually used for the frames I am trying to trap. In addition I made sure that promiscuous is activated. I am also able to send frames from the host. According to the stat registers the frames, that should be received, are not dropped but still vanish after entering the switch (so the L2 rule works but they never reach the host port??).
I am unsure how to narrow down the problem further and how to confirm or rule out any hardware problems.
Hello @flxwly ,
Could you please clarify whether you are using SJA1110D on the SJA1110-MGS-EVM or on your own custom board?
The original SJA1110-EVM was based on SJA1110A, while the newer SJA1110-MGS-EVM uses SJA1110D. At the same time, the SJA1110 family is described as pin-compatible and software-compatible, so I would not expect the trap-to-host concept itself to differ between revisions. This makes a board-specific configuration mismatch more likely than a generic Rev. D limitation.
Please ensure that the EthTrcv_43_PHY configuration has been adapted accordingly and that the PHY instances are mapped correctly in EthSwt_43_SJA11XX. Please also verify that the MACConfigurationTable in EthSwt_43_SJA11XX has been updated to match your actual board topology. Unused ports should be disabled.
If possible, please also share your .mex file so we can review the configuration.
Best regards,
Pavel
Hello @PavelL ,
thank you for your quick response. I've seem to fixed it. It appears I missed to correctly configure the default VLAN 0. However I am still curious to why I could use the L2 entry to route my frames to other ports but not the host.
My own custom board is using the SJA1110D. I've attached the .mex. I am using S32SDK_SJA1110_RTM_1.0.0.
Best regards,
Nepomuk
Hello @flxwly ,
Yes, this behavior is consistent with VLAN membership filtering.
The L2 entry may still match and select the forwarding destination, but the frame will only be delivered to ports that are members of the corresponding VLAN. If default VLAN 0 was not configured correctly, it is possible that forwarding to other ports still worked while the host port could not receive the frame because it was not included in VMEMB_PORT.
I have reviewed your .mex file and in addition to the VLAN 0 correction, you may also consider disabling all unused ports in the MACConfigurationTable as well as in the L2 Forwarding Table, so that the configuration matches your actual board topology as closely as possible.
Best regards,
Pavel
Hello @PavelL,
thank you very much. It is working as intended now. Still I have one more question regarding the in-band control extensions. Is the host port (0) included in the trailer for host-to-switch frames with trailer? The documentation in UM11107 under 5.8.2.1 does not state how exactly the ports should be set. I assumed its one bit per port. Also it seems the trailer information is not stripped completly.
Best regards,
Nepomuk
Hello @flxwly ,
Please note: Once an answer is marked as a solution, the original query is no longer actively tracked in our system. I only receive subscription emails for updates and those can occasionally be missed.
If you need further assistance, the best approach is to create a new query.
Best regards,
Pavel