DISCUSSION
Serial port settings
There are reports of IDT metering hanging, being laggy or such. In most cases this is caused by incompatible serial driver settings.
## SDS – Serial Port Compatibility and Connection Validation
SDS must support FTDI, Silicon Labs CP210x, CH340/CH341, Prolific PL2303, native 16550 UART and other compatible serial interfaces.
### 1. Serial Interface Detection
When connecting to the IDT, SDS should identify the selected serial interface and determine whether the driver supports configurable latency settings.
### 2. FTDI Interfaces
For FTDI interfaces, SDS must read the current Latency Timer setting.
- If the value is **1 ms**, continue normally.
- If the value differs from 1 ms and SDS has administrator privileges, automatically set it to 1 ms and verify the result.
- If administrator privileges are unavailable, display a clear warning with instructions for correcting the setting manually.
- Display the warning only once per connection attempt.
### 3. Other USB-to-Serial Interfaces
For other USB-to-serial interfaces, SDS should establish communication using the existing serial protocol.
Driver-specific latency settings should only be modified when the interface and driver explicitly support them.
SDS must not apply FTDI-specific registry changes to other manufacturers' devices.
### 4. Native 16550 UART
Native 16550 UART interfaces do not have a USB Latency Timer.
SDS must support these interfaces without requiring a 1 ms latency setting.
No FTDI-specific checks or driver modifications should be applied.
### 5. Connection Validation
Opening a COM port does not automatically mean that communication with the IDT is successful.
SDS should distinguish between:
- **Connecting:** Opening and initializing the serial interface.
- **Connected:** IDT board detection and machine initialization completed successfully.
- **Initialization Incomplete:** The IDT responds, but initialization could not be completed.
- **Connection Failed:** Reliable communication with the IDT could not be established.
### 6. General Connection Failure Warning
If SDS cannot establish reliable communication with the IDT through a USB-to-serial interface, display the following message:
**Serial Port Driver Configuration Warning**
SDS could not establish a reliable connection with the IDT.
The serial port driver settings may be incorrect.
For USB-to-serial interfaces with a configurable Latency Timer, SDS recommends a setting of **1 ms** for reliable communication.
Please check your serial port settings in Windows:
**Device Manager → Ports (COM & LPT) → [Your COM Port] → Properties → Port Settings → Advanced**
If a Latency Timer setting is available, set it to 1 ms.
Reconnect the serial interface and restart SDS.
**Note:** Not all serial interfaces provide an adjustable Latency Timer.
### 7. Native UART Connection Failures
For native 16550 UART interfaces, SDS must display a general communication error without referring to USB latency settings.
The message should advise the user to check the COM port configuration, baud rate, flow control and serial cabling.
### 8. Logging and Diagnostics
SDS should retain the original technical error in its diagnostic log, including:
- Selected COM port and detected interface type.
- Current latency value, if available.
- Whether a driver setting was modified successfully.
- IDT board detection results.
- Machine initialization status.
- Communication timeouts or protocol errors.
**Important:** A failed IDT connection does not necessarily indicate an incorrect latency setting. Driver configuration warnings must not conceal the original communication error.
## SDS – Serial Port Compatibility and Connection Validation
SDS must support FTDI, Silicon Labs CP210x, CH340/CH341, Prolific PL2303, native 16550 UART and other compatible serial interfaces.
### 1. Serial Interface Detection
When connecting to the IDT, SDS should identify the selected serial interface and determine whether the driver supports configurable latency settings.
### 2. FTDI Interfaces
For FTDI interfaces, SDS must read the current Latency Timer setting.
- If the value is **1 ms**, continue normally.
- If the value differs from 1 ms and SDS has administrator privileges, automatically set it to 1 ms and verify the result.
- If administrator privileges are unavailable, display a clear warning with instructions for correcting the setting manually.
- Display the warning only once per connection attempt.
### 3. Other USB-to-Serial Interfaces
For other USB-to-serial interfaces, SDS should establish communication using the existing serial protocol.
Driver-specific latency settings should only be modified when the interface and driver explicitly support them.
SDS must not apply FTDI-specific registry changes to other manufacturers' devices.
### 4. Native 16550 UART
Native 16550 UART interfaces do not have a USB Latency Timer.
SDS must support these interfaces without requiring a 1 ms latency setting.
No FTDI-specific checks or driver modifications should be applied.
### 5. Connection Validation
Opening a COM port does not automatically mean that communication with the IDT is successful.
SDS should distinguish between:
- **Connecting:** Opening and initializing the serial interface.
- **Connected:** IDT board detection and machine initialization completed successfully.
- **Initialization Incomplete:** The IDT responds, but initialization could not be completed.
- **Connection Failed:** Reliable communication with the IDT could not be established.
### 6. General Connection Failure Warning
If SDS cannot establish reliable communication with the IDT through a USB-to-serial interface, display the following message:
**Serial Port Driver Configuration Warning**
SDS could not establish a reliable connection with the IDT.
The serial port driver settings may be incorrect.
For USB-to-serial interfaces with a configurable Latency Timer, SDS recommends a setting of **1 ms** for reliable communication.
Please check your serial port settings in Windows:
**Device Manager → Ports (COM & LPT) → [Your COM Port] → Properties → Port Settings → Advanced**
If a Latency Timer setting is available, set it to 1 ms.
Reconnect the serial interface and restart SDS.
**Note:** Not all serial interfaces provide an adjustable Latency Timer.
### 7. Native UART Connection Failures
For native 16550 UART interfaces, SDS must display a general communication error without referring to USB latency settings.
The message should advise the user to check the COM port configuration, baud rate, flow control and serial cabling.
### 8. Logging and Diagnostics
SDS should retain the original technical error in its diagnostic log, including:
- Selected COM port and detected interface type.
- Current latency value, if available.
- Whether a driver setting was modified successfully.
- IDT board detection results.
- Machine initialization status.
- Communication timeouts or protocol errors.
**Important:** A failed IDT connection does not necessarily indicate an incorrect latency setting. Driver configuration warnings must not conceal the original communication error.