Skip to content

[Bug]: NetX Ethernet PTP Transmit Timestamps not Captured #32

@ben5049

Description

@ben5049

Bug Summary

When _nx_driver_hardware_packet_send() is called with a packet setting NX_INTERFACE_CAPABILITY_PTP_TIMESTAMP, a transmit timestamp isn't captured.

Detailed Description

Packets setting NX_INTERFACE_CAPABILITY_PTP_TIMESTAMP should capture a timestamp on transmit. For STM32H5 variants with MULTI_QUEUE_FEATURE there is the following code:

if (packet_ptr -> nx_packet_interface_capability_flag & NX_INTERFACE_CAPABILITY_PTP_TIMESTAMP)
  {
    HAL_ETH_PTP_InsertTxTimestamp(&eth_handle);
  }

However, no such code exists for variants without MULTI_QUEUE_FEATURE. This means that transmit timestamps aren't captured and HAL_ETH_TxPtpCallback and nx_ptp_client_packet_timestamp_notify are never called, breaking PTP.

To fix this the above code snippet needs to be added here.

Expected Behavior

A timestamp is captured on a packet setting NX_INTERFACE_CAPABILITY_PTP_TIMESTAMP

Actual Behavior

No timestamp is captured

Environment

NetXduo

Severity

Normal

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingethEthernet MAC (Media Access Controller)halHAL-LL driver-related issue or pull-request.internal bug trackerIssue confirmed and logged into the internal bug tracking system

Type

No fields configured for Bug.

Projects

Status
Analyzed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions