Ethernet Products
Determine ramifications of Intel® Ethernet products and technologies
Announcements
All support for Intel NUC 7 - 13 systems has transitioned to ASUS. Read latest update.
4757 Discussions

Hardware Timestamp on windows

Ossama-MOUSTAFA
New Contributor II
14,572 Views

Hello. 

 

I would like to use hardware timestamping on windows, so I try to use this : 

https://learn.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getinterfaceactivetimestampcapabilities

 

But I only get this error : "ERROR_BAD_DRIVER"

(I already tried to update my drivers, on windows 11, and also on windows server 2022.)

 

I have 2 intel network adapters now : i219-LM and i210-T1. 

 

Do you know if intel support hardware timestamp on windows please ? 

Or only on linux ? 

https://www.intel.ca/content/www/ca/en/products/sku/82185/intel-ethernet-connection-i219lm/specifications.html 

 

In this page, specifications indicate that it does support PTP IEEE 1588, 

but it's not specified if it does support only software timestamp on windows or more.

 

Do you know if any other intel network adapter does support hardware timestamp on windows, please ? 

 

Kind regards. 

0 Kudos
103 Replies
Ossama-MOUSTAFA
New Contributor II
2,741 Views

Hi @Faez_Intel.

 

Thank you for your answer, I am fine, and I hope the same for you. 

 

We already tried to use this PROSet (it exists only for windows 10, but the new PTP API from Microsoft needs windows 11)

to enable PTP, but it didn't solve the problem. 

 

Best regards. 

0 Kudos
JNiko
Novice
2,737 Views
0 Kudos
Peterdoo
New Contributor I
2,709 Views

The 3 additional OIDs that a driver has to implement in order to be able to use hardware timestamping, have been described in NDIS 6.82:

https://learn.microsoft.com/en-us/windows-hardware/drivers/network/querying-timestamping-capabilities-and-configuration

 

 

OID_TIMESTAMP_CAPABILITY is implemented in I210 and I211 driver and seems to work correctly.

 

OID_TIMESTAMP_CURRENT_CONFIG seems not to be implemented in the driver at all.

 

OID_TIMESTAMP_GET_CROSSTIMESTAMP is implemented, however it returns wrong results. Instead of returning the current timestamp from the network card, it returns a value from some time ago. It seems that it is buffering those values somewhere or is reading them from the card in another thread without waiting for that reading to finish. So the value returned might be some seconds or even minutes old which makes hardware timestamps completely unusable.

 

@Faez_Intel , could you please let us know:

1. Why is OID_TIMESTAMP_CURRENT_CONFIG not implemented in the I210/I211 driver and when can we expect it to be implemented?

2. When will the I210/I211 driver be corrected, so that it will return correct HardwareClockTimestamp in the OID_TIMESTAMP_GET_CROSSTIMESTAMP?

 

Obviously at the moment there is not a single working solution for hardware timestamping as it has been specified by Windows from the build 1809 onwards from Intel. I210/I211 driver is faulty (one OID not implemented, the other returns false results) and, as far as I understand your reply above, this functionality is not implemented for any other Network adapter from Intel.

Faez_Intel
Moderator
2,670 Views

Hi @Ossama-MOUSTAFA and everyone,


Thank you for the comments and we apologize for the delay on this.


We understand that you have tried to use the PROSet but still unable to enable the PTP due to PROset is not available in Windows 11.


Please do allow us some time to check on this with our engineering and we will get back to you once we have the update accordingly.


We apologize again for any delays on our end. Kindly let us know if you have any other inquiries and have a nice day.


Thanks,

Faez_Intel


0 Kudos
Peterdoo
New Contributor I
2,662 Views

@Faez_Intel I'm sorry to say this, however it looks like you are not reading the replies here at all.

 

Nobody said, that we need PROSet for Windows 11. Whatever can be done with PROSet for hardware timestamping, one can do it in the Windows Device Manager or using PowerShell. No need for PROSet.

 

The fact is that hardware timestamping implementation in the driver for I210 and I211 is BROKEN. This is described partially in the first post of this thread dated about 5 months ago but still without the reply from Intel.

 

I have resumed the problems in the driver here:

https://community.intel.com/t5/Ethernet-Products/Hardware-Timestamp-on-windows/m-p/1476347#M32965

 

Please let us know, whether Intel intends to correct the mentioned problems in the driver or whether we can say that Intel has no product at all with a working hardware timestamping under Windows 11 / Windows Server 2022.

Ossama-MOUSTAFA
New Contributor II
2,646 Views

Hi @Faez_Intel.

 

Thank you for your answer. 

 

It's not just a problem about PROSet.

 

We can already "enable" PTP Hardware Timestamp in Windows without using PROSet : 

OssamaMOUSTAFA_0-1681824679747.png

 

We have problems with intel drivers, it doesn't work if we try to get hardware timestamp in windows. 

 

Best regards. 

0 Kudos
Faez_Intel
Moderator
2,332 Views

Hi Ossama,


Good day. Apologies for the delayed in response from our end on this. Please refer the below statement and kindly apply the suggested troubleshooting.


PTPv2 is enabled with the two different timestamp registry keywords: *PtpHardwareTimestamp and *SoftwareTimestamp. They are both disabled by default

PS C:\Users\> Get-NetAdapterAdvancedProperty -name ethernet | ft RegistryKeyword, RegistryValue


 


RegistryKeyword       RegistryValue


---------------       -------------


*PtpHardwareTimestamp    {0}


*SoftwareTimestamp     {0}


 


Hence, please kindly help to enable it in PowerShell with these two commands:


 

Set-IntelNetAdapterSetting -Name "<adapter name>" -DisplayName "PTP Hardware Timestamp" - DisplayValue "Enabled"

Set-IntelNetAdapterSetting -Name "<adapter_name>" -DisplayName "Software Timestamp" -DisplayValue "Range Value"

Range value

Disabled

RxAll

TxAll

RxAll & TxAll

TaggedTx

RxAll & TaggedTx


Kindly let us know if you have any further questions.


Thanks,

Faez_Intel


0 Kudos
JNiko
Novice
2,328 Views

Hi,

 

It is not working on I-350.........

 

Regards.

Ossama-MOUSTAFA
New Contributor II
2,325 Views

Hi @Faez_Intel

 

Thank you for your answer. 

 

I already tried this troubleshooting, but it didn't solve the problem. 

 

Best regards. 

0 Kudos
Faez_Intel
Moderator
2,266 Views

Hi Ossama,


Thank you for the confirmation. Please kindly help to gather the latest SSU logs for us to analyze further.


Let us know if you have any further questions.


Thanks,

Faez_Intel


Ossama-MOUSTAFA
New Contributor II
2,255 Views

Hi @Faez_Intel.

 

Yes, my "PTP Hardware Timestamps" are enabled : 

 

OssamaMOUSTAFA_1-1687183651506.png

 

(We can't use "Set-IntelNetAdapterSetting", it comes from intel "Wired PROSet", but this exists just for windows 10,

not windows 11,  and we have to use windows 11 for the Microsoft API. )

 

Here are my latest SSU logs, as an attachment. 

 

OssamaMOUSTAFA_2-1687184040985.png

 

OssamaMOUSTAFA_3-1687184100221.png

 

Best regards. 

 

0 Kudos
lexa
New Contributor I
2,247 Views

Hi Faez,

we're going round in circles.

There hasn't been any improvement for the I210 driver in release 28.1.1, so the issue remains the same.

It's hard to follow Intel Ethernet driver changes as the file and product version of the sys file (e1r.sys) do not change even if the file is not anymore binary equal to the prior version. It would be much easier if changes in the driver would also reflect changes in the file and product version of the sys file.

Besides that I350 still doesn't have any timestamping support (the "PtpHardwareTimestamp" key in the driver INF file is still missing) so still no hardware timestamping for I350!

I think it's time that some experienced engineer with knowledge of PTP does take over responsibility for this/these issue(s).

 

Best

Faez_Intel
Moderator
2,071 Views

Hi Ossama,


Good day and apologies for the delayed response from our end.


We have crosschecked the SSU logs that was provided and we notice the software timestamp is still disabled. Refer below:


*SoftwareTimestamp:Software Timestamp:"Disabled (0)"


As mentioned previously, you will require to enable both the hardware and software timestamp in order for the PTPv2 to work. Please kindly refer below command on how to enable the software timestamp:


Set-IntelNetAdapterSetting -Name "<adapter_name>" -DisplayName "Software Timestamp" -DisplayValue "Range Value"


Please kindly enable this and let us know if the issue still persists.


Thanks,

Faez_Intel


0 Kudos
Ossama-MOUSTAFA
New Contributor II
2,013 Views

Hi @Faez_Intel.

 

No worries for the delay, and thank you for this answer.

 

I am sorry, but there isn't any "Range Value" option in the Software Timestamp property.

 

Do you know which one should I choose instead, please ?

 

OssamaMOUSTAFA_0-1689000769931.png

 

I can't use this command "Set-IntelNetAdapterSetting",

because I would need to install "Intel® PROSet" in order to have the possibility to use this command.

 

But I can't install "Intel® PROSet", because it's only for Windows 10, and I have to use Windows 11 for this new Microsoft API to use PTP.

 

Do you know a way to use this command ("Set-IntelNetAdapterSetting") (or an equivalent) in windows 11, please ?

 

Or an other way to set the "Range Value" option for software timestamp ?

 

Best regards.

0 Kudos
Faez_Intel
Moderator
1,568 Views

Hi Ossama,


Good day.


Can you help to confirm if you are using the generic Intel drivers or are you using the OEM provided drivers for the NIC?


If not, please kindly utilize the Intel generic drivers to perform this testing as it seems that OEM might have customized it and causing the option to not be shared.



Thanks,

Faez_Intel


0 Kudos
Ossama-MOUSTAFA
New Contributor II
1,550 Views

Hi @Faez_Intel

 

I am using generic Intel drivers. 

I do not use OEM provided drivers. 

 

Best regards. 

0 Kudos
Faez_Intel
Moderator
1,435 Views

Hi Ossama,


Good day.


Our team has verified that the issue for this has been fixed in the latest driver release of 28.2.1


Can you please confirm if you have tried to use this version and if the same issue still persists?


You may download from the link below:


https://www.intel.com/content/www/us/en/download/15084/intel-ethernet-adapter-complete-driver-pack.html


Thanks,

Faez_Intel


Ossama-MOUSTAFA
New Contributor II
1,419 Views

Hi. Thank you. 

 

I will try this as soon as possible, and I will let you know if this issue still persists or not. 

 

Best regards. 

0 Kudos
Ossama-MOUSTAFA
New Contributor II
1,395 Views

I downloaded this new driver, and now I'm encountering a new error: 'ERROR_FILE_NOT_FOUND'.

 

I will continue to investigate this issue to determine the cause, if I can find it.

 

Are you speaking about this fix ? 
“PTP fixes for Timestamp timeout error.”

 

IMG_5117.jpeg

 

Do you know which version(s) of windows is this fix available please ?  

(Windows 11, or Windows Server.)

 

Best regards.

0 Kudos
Peterdoo
New Contributor I
1,130 Views

I have tested the driver release 28.2.1. Unfortunately all the problems described in my following post remain:

https://community.intel.com/t5/Ethernet-Products/Hardware-Timestamp-on-windows/m-p/1477876#M33024

 

Ossama-MOUSTAFA
New Contributor II
1,115 Views

Hi @Peterdoo

 

I have a question, please : 

 

Did you try "GetInterfaceActiveTimestampCapabilities" ? 

https://learn.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getinterfaceactivetimestampcapabilities ) 

 

Does it work, for you ? 

0 Kudos
Reply