This is an old revision of the document!


Controller disconnects during long tests - check Windows power management

  • The Spider connection drops during a long test, often overnight or after the PC has been left alone for a while.
  • EDM shows the front-end as disconnected, and the test stops or aborts.
  • The connection comes back after you reconnect the cable, restart EDM, or wake the PC.
  • It happens most often when the Spider is connected through a USB-to-Ethernet adapter, a USB-C dongle, or a docking station.

Windows saves power by turning off devices it thinks are idle. A USB-to-Ethernet adapter can be suspended, put into a low-power link state, or lose power when the PC goes to sleep. When that happens, the network link to the Spider is lost and EDM cannot reach the controller.

These are Windows and adapter driver settings. The fix is to turn off power saving for the adapter that connects to the Spider, and for the PC while tests are running.

If you contact Crystal Instruments support about this problem, run this first and send us the report.

  1. Click Start, type PowerShell, and open Windows PowerShell. You do not need to run it as administrator.
  2. Copy the whole block below, paste it into the PowerShell window, and press Enter.
  3. A file named CI-Network-Power-Report.txt is saved to your Desktop.
  4. Attach this file to your email to support.
$out = Join-Path ([Environment]::GetFolderPath('Desktop')) 'CI-Network-Power-Report.txt'
& {
  "== Computer =="
  $cs = Get-CimInstance Win32_ComputerSystem; $os = Get-CimInstance Win32_OperatingSystem
  "$($cs.Manufacturer) $($cs.Model) | $($os.Caption) $($os.Version) | Last boot: $($os.LastBootUpTime)"
  "== Network adapters =="
  $pm = @{}; Get-CimInstance -Namespace root\wmi -ClassName MSPower_DeviceEnable -ErrorAction SilentlyContinue | ForEach-Object { $pm[($_.InstanceName -replace '_0$','')] = $_.Enable }
  Get-NetAdapter -Physical | Sort-Object Name | Select-Object Name, InterfaceDescription, Status, LinkSpeed, DriverVersion,
    @{n='Bus';e={($_.PnPDeviceID -split '\\')[0]}},
    @{n='AllowTurnOff';e={ if ($pm.ContainsKey($_.PnPDeviceID)) { $pm[$_.PnPDeviceID] } else { 'n/a' } }} | Format-Table -AutoSize
  Get-NetIPAddress -AddressFamily IPv4 | Where-Object InterfaceAlias -notmatch 'Loopback' | Sort-Object InterfaceAlias | Format-Table -AutoSize InterfaceAlias, IPAddress, PrefixLength
  "== Adapter power-saving properties =="
  Get-NetAdapter -Physical | Get-NetAdapterAdvancedProperty | Where-Object DisplayName -match 'Energy|EEE|Green|Power|Idle|Sleep|Suspend' | Sort-Object Name | Format-Table -AutoSize Name, DisplayName, DisplayValue
  "== Power plan (0x0 = off/never; AC = plugged in, DC = battery) =="
  powercfg /getactivescheme
  powercfg /query SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 | Select-String 'Power Setting GUID|Current'
  powercfg /query SCHEME_CURRENT SUB_SLEEP STANDBYIDLE | Select-String 'Power Setting GUID|Current'
  powercfg /a
  "== Sleep/wake events, last 7 days =="
  $ev = Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-Kernel-Power'; Id=42,107,506,507; StartTime=(Get-Date).AddDays(-7)} -ErrorAction SilentlyContinue
  if ($ev) { $ev | Select-Object -First 50 | Format-Table -AutoSize TimeCreated, Id, @{n='Event';e={($_.Message -split "`r?`n")[0]}} } else { 'None found' }
} *>&1 | Out-File -FilePath $out -Encoding utf8 -Width 250
Write-Host "Report saved to $out"

The script only reads settings. It does not change anything on the PC.

  1. Press Windows + R, type ncpa.cpl, and press Enter.
  2. Find the adapter that has the Spider subnet IP address (for example 172.0.0.x or 169.254.x.x). USB adapters usually have “USB” in the device name, for example Realtek USB GbE Family Controller or ASIX AX88179 USB 3.0 to Gigabit Ethernet Adapter.
  3. Write down the device name. You need it in the next steps.
  1. Right-click Start and click Device Manager.
  2. Expand Network adapters.
  3. Right-click the adapter from Step 2 and click Properties.
  4. Click the Advanced tab.
  5. For each property in the table below that is in the list, select it and set Value to Disabled (or Off).
  6. Click OK.
Property (names vary by driver) Set to
Energy-Efficient Ethernet / EEE Disabled
Advanced EEE Disabled
Green Ethernet Disabled
Idle Power Saving Disabled
Selective Suspend Disabled
Power Saving Mode Disabled

Not every adapter has all of these properties. Change the ones that are there and leave the others.

The adapter may disconnect for a few seconds when you click OK. This is normal.

  1. In Device Manager, open the adapter Properties again.
  2. Click the Power Management tab.
  3. Clear the Allow the computer to turn off this device to save power check box.
  4. Click OK.

Some PCs do not show the Power Management tab for some adapters. If the tab is not there, go to the next step.

If the adapter is in a USB-C dock or hub, also do this for the hub:

  1. In Device Manager, expand Universal Serial Bus controllers.
  2. For each USB Root Hub and Generic USB Hub, open Properties and clear the same check box on the Power Management tab.
  1. Press Windows + R, type powercfg.cpl, and press Enter.
  2. Next to the selected power plan, click Change plan settings.
  3. Click Change advanced power settings.
  4. Expand USB settings > USB selective suspend setting.
  5. Set Plugged in to Disabled. On a laptop, also set On battery to Disabled.
  6. Click OK.

If USB settings is not in the list, run these commands in PowerShell instead:

powercfg /setacvalueindex SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0
powercfg /setdcvalueindex SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0
powercfg /setactive SCHEME_CURRENT

Windows 11:

  1. Click Start > Settings > System > Power & battery.
  2. Expand Screen, sleep, & hibernate timeouts (on some versions: Screen and sleep).
  3. Set the sleep setting for Plugged in to Never.

Windows 10:

  1. Click Start > Settings > System > Power & sleep.
  2. Under Sleep, set When plugged in, PC goes to sleep after to Never.

The screen can still turn off. Only sleep must be Never.

On a laptop that runs with the lid closed, also set the lid action:

  1. Press Windows + R, type powercfg.cpl, and press Enter.
  2. Click Choose what closing the lid does.
  3. Set When I close the lid > Plugged in to Do nothing.
  4. Click Save changes.
  1. Restart the PC.
  2. Run the diagnostic block from Step 1 again and open the new report. Check that:
    • The Spider adapter shows AllowTurnOff as False or n/a.
    • The power-saving properties of the Spider adapter show Disabled or Off.
    • USB selective suspend setting shows Current AC Power Setting Index: 0x00000000.
    • Sleep after shows Current AC Power Setting Index: 0x00000000 (never).
  3. Run a test that is as long as the one that failed before, or leave a test running overnight.
  4. Do not use the PC for other work during this test.
  5. Confirm that the test finished without a disconnect.

If the Spider still disconnects, run the diagnostic block again right after the disconnect and send the report to Crystal Instruments support. Tell us the date and time of the disconnect. If you can, also try a different USB-to-Ethernet adapter or the PC's built-in Ethernet port.