0

I have two Dell computers running Windows 10 with COM ports on the motherboard (not a USB to serial converter). The COM ports worked on both until, on separate days, after a reboot, they both showed up in Device Manager like this:

COM ports in Device Manager

Error Code

If you open the entries in Device Manager, the Device Status is:

Windows cannot start this hardware device because its
configuration information (in the registry) is incomplete or damaged.
(Code 19)

I don't believe this is a hardware failure because those two COM ports go to entirely different pieces of hardware (one to an Intel(R) 100 Series/C230 Series Chipset Family LPC Controller - A146 and another to the Active Management chip). The odds of both pieces of hardware failing at the same time on two different machines are very low.

Uninstall and Re-Install

If I uninstall and re-install the driver, Windows just reports that the most-up-to-date driver is already installed. The event log shows the Device Manager events as follows:

Device Manger Events

The event names corresponding to those entries (from top to bottom) are:

Device installed (msports.inf)
Device service added (Serenum)
Device service added (Serial)
Device not migrated                   <---- Selected entry
Device install requested
Device deleted
Device installed (msports.inf)
Device service added (Serenum)
Device service added (Serial)
Device started (Serial)
Device install requested
Device configured (msports.inf)
Device migrated

The entries dated for November must have been the initial install (someone else did this).

Registry on Non-working Machine

In the registry, Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Serial has the following entries:

ControlSet001 in registry Serial Enum in registry

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serial has the same entries.

Registry on Working Machine

On another Dell machine with similar hardware, also running Windows 10, on which the COM ports still work, the registry entires for CurrentControlSet\Services\Serial and ControlSet001\Services\Serial are: Serial entry in registry - working machine Serial Enum in registry - working machine

Sequence of Events

  1. 17:00 Yesterday: I left work and left my computer on
  2. 17:48:44 Yesterday: my IT group automatically started an install of an update to 7-Zip using EmpirumAgent.
  3. 17:48:44 Yesterday: RestartManager reported that it could not restart Windows Explorer -- Application 'C:\Windows\explorer.exe' (pid 8824) cannot be restarted - Application SID does not match Conductor SID... I'm guessing the explorer.exe restart is required because 7-Zip installs context menu extensions for Windows Explorer.
  4. 17:49:21 Yesterday: The 7-Zip installer finishes.
  5. 06:41:23 Today: I came into work this morning, noticed that I no longer had a task bar, and initiated a restart with shutdown -r in a Command Prompt window I happened to have open.
  6. 06:42:14 Today: User Profile Service reports that "Windows detected your registry file is still in use by other applications or services. The file will be unloaded now..." It lists several keys, but they're all under the path REGISTRY\USER and none have anything to do with ControlSet keys mentioned above.
  7. When the computer started up again, the COM ports had the error listed above.
5
  • This sounds like a driver problem. Have you tried using the previous version of the driver, it sounds like a driver was updated, and the new driver is functional for some undetermined reason. You want to focus on C230 Chipset driver and/or Active Management driver. There was a vulnerability in the Active Management on Intel processors discovered in the last 2 months. Intel and its partners are in the process of patching that vulerability.
    – Ramhound
    Dec 7 '17 at 16:11
  • I was the one who tried to update the driver (today) to fix the problem. I don't think the driver was updated before then (except for the initial install). So I don't have a new version or a previous version of the driver to install. The best I can do is go to Dell's service site and try installing one of their driver packages (if I can find the right one) for my machine. I'll try that.
    – watkipet
    Dec 7 '17 at 16:27
  • You should be able to roll back the driver using Device Manager. Windows typically keeps previous versions of a driver until they are specifically removed by the user.
    – Ramhound
    Dec 7 '17 at 16:48
  • The "Roll Back Driver" button for both devices is disabled.
    – watkipet
    Dec 7 '17 at 16:54
  • Installing Dell's driver for both the Chipset and the Active Management Console didn't have any affect. I believe the Chipset driver is the correct one because the Last Known Parent in the Details pane in Device Manager for the driver is, PCI\VEN_8086&DEV_A146&SUBSYS_06B91028&REV_31\3&11583659&0&F8 and there's this entry in the install log for the Chipset driver: 12/7/2017 8:41:24 AM ** InstallDrivers ** Installing driver to device: 'PCI\VEN_8086&DEV_A146' 'C:\Users\watkinsp\AppData\Local\Temp\{55398EAC-F58E-4F19-B553-BDF8B9EFD839}\Drivers\sunrisepoint-h\sunrisepoint-hSystem.inf'
    – watkipet
    Dec 7 '17 at 17:48
1

I fixed the problem by deleting the UpperFilters registry value for the serial port class per this LifeWire article. I identified the class GUID ID, 4D36E978-E325-11CE-BFC1-08002BE10318, for serial ports from this list. I then deleted the UpperFilters registry entry and restarted. Now both COM ports are working properly and don't show the Code 19 error.

Registry entry to delete

I also looked at this registry key on the machine where the COM ports had always worked--it did not have a UpperFilters entry.

I'd love to see another answer that explains why this is necessary, the purpose of the UpperFilters entry, and how it gets corrupted.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.