-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG][ENET_QOS]When setting 100MZh half-duplex, transmission does not complete. #156
Comments
Could you please help provide more details which could help developer to reproduce the issue? Such as:
|
Hello Is the information below correct? sorry. I don't know the code snippet. Thank you. |
Hi @fumitaka-takahashi, for code snippet I mean pieces of code, would you like to share your code(or part of the code which could result the issue) with us to help developer to reproduce the issue? |
Hi Since the code is running in our customer's environment, we need to ask the customer if they can share the code. IMX8MPEVK ENET_QOS imx-dwmac Half Duplex Crashes Thank you. |
Hi |
Hi |
Hi, will check with the development team about the issue you have provided. Feedback maybe delayed, appreciate for your patience.
-
Reply to this email directly, view it on GitHub<#156 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ATJAZBBYZ5YAWDI65QX6OWTYOEJ4LAVCNFSM6AAAAABBDGTBLKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBYHA4DONBUGU>.
You are receiving this because you were mentioned.Message ID: ***@***.******@***.***>>
|
Hi,@mcuxsusan Thank you. |
Hi @fumitaka-takahashi , I just take a look at this today. I'm not sure I fully understand this issue. I did a simple test based the enet_qos_txrx_multiring_interrupt case on RT1170 with latest ENET_QOS driver 2.6.1 on current Github repo https://github.com/nxp-mcuxpresso/mcux-sdk/blob/main/drivers/enet_qos/fsl_enet_qos.h#L35. Used the other board to send frame with 100M half-duplex mode. It looks OK. Did you or your customer try this new enet_qos driver version? And I will try i.MX8MP(8ML device) board and 2.5.3 enet_qos driver next to see whether the issue is from device/IP version or previous driver. If the test way is not right, please tell me how to reproduce step by step such as prepare what kind of frame and how to set Rx parser. |
Hi I appreciate your cooperation. I will talk from our situation so far. So I wrote a bug report here. After that, when we examined the web information, it was found that the Linux driver had reported the same problem and had been solved. Thank you. |
Hi @fumitaka-takahashi , can you describe more details about your test? I saw your comment can't get kENET_QOS_RxIntEvent, so I treat it as Rx problem, but according to your comment above, it seems like Tx doesn't succeed. Is there no kENET_QOS_TxIntEvent? Or you can get Tx event but no correspond Rx event. |
Hi sorry. I wrote it by mistake. Thank you. |
Hi @fumitaka-takahashi , I get a primary feedback from that ticket linker you find. Yes, this feature doesn't support in hardware. I need find the design to make it more clear and add error code in driver to remind user if it indeed can't work. |
Hi Thank you for your reply. I realized that this problem is a hardware issue, not a software (driver) issue. In our program (on i.MX8MP), we will modify and confirm that communication uses Multi-Queuing and Multi-Channel during Full-Duplex, and does not use these during Half-Duplex. Thank you. |
Is this problem unique to i.MX8MP?
|
Hi Thank you for the additional information. I'm currently checking full duplex and half duplex operation on our board. Steps when there are no problems:
Steps to take when there is a problem:
Please check this sequence. Thank you. |
Hi @fumitaka-takahashi I don't get the key point of that. Why there's NG in 'Steps to take when there is a problem:'? Do you want to ask me are these Steps OK? Or do you want to ask me how to resolved these NGs. |
Hi Thank you for your reply. Your guess was correct. In our problematic environment, we were running ENET_QOS_Down () when the PHY link was down, and ENET_QOS_Up () when the PHY link was up. From your answer I found out that ENET_QOS_Deinit () is required. However, once the PHY link is up, I feel that an API specification that only executes ENET_QOS_Up () and ENET_QOS_Down () for subsequent PHY link up/down is better. |
Hi @fumitaka-takahashi , I got the feedback from IP: |
Hi Thanks for the feedback from IP I understood this problem to be due to a problem with the IP design, where Multi-Queuing and Multi-Channel functionality is no longer available when using a half-duplex link. Now regarding your question:
First, please check this link for the "Steps to take when there is a problem:" sequence. Thank you. |
Hi @fumitaka-takahashi ,
|
Hi Thank you for your reply.
We spent a considerable amount of time trying to resolve this issue. I hope this issue is made known.
Our code was fixed using the methods described above. Thank you. |
Hello
When the ENET_QOS driver was set to 100MZh half-duplex, a problem occurred where transmission was not completed.
As a result of the investigation, a DMA transmission completion interrupt occurs for DMA channel 0, but no transmission completion interrupt occurs for other DMA channels.
Therefore, the kENET_QOS_TxIntEvent callback event does not occur, making it impossible to send the next data.
Please check the problem.
thank you.
The text was updated successfully, but these errors were encountered: