Resolving MMC103 SW4.4 PCI USB Driver Prompt on SINUMERIK 840D
The SINUMERIK 840D CNC platform uses a separate Man-Machine Communication panel (MMC) – in legacy systems, the MMC103 running Windows 95 with HMI software release SW 4.4 – to host the operator interface. After long storage, return from a customer site, or motherboard battery failure, the MMC can boot into Windows 95 and present a recurring "Driver Request" prompt for an unknown PCI device. The system continues to operate normally, but the prompt reappears at every boot until the unknown device is identified and either a matching driver is installed, the device is disabled in hardware, or the prompt is suppressed through the Windows 95 configuration database.
This article documents the field-proven procedure used to clear the MMC103 SW4.4 boot prompt when the unknown PCI device resolves to an Intel PCI-USB controller, and provides the diagnostic, suppression, and verification steps required to make the change permanent without affecting the SINUMERIK 840D NCU link or HMI runtime.
1. Problem Statement
Symptoms observed on the field unit:
- During Windows 95 boot on the MMC103, a dialog box appears: "Windows has found new hardware and is looking for a driver."
- The device is listed only as "PCI Card" in Device Manager, marked with the yellow exclamation icon.
- Selecting "Do not install a driver (Windows will not prompt you again)" does not suppress the prompt; it returns on every boot.
- Uninstalling or disabling the device in Device Manager has no effect; the prompt reappears.
- After dismissing the prompt, Windows 95 completes boot, the SINUMERIK HMI starts, and the machine operates normally with no NCK or PLC alarms.
- No additional PCI hardware is visibly installed in the rear I/O panel of the MMC103.
Because the SINUMERIK 840D HMI runtime is unaffected, the fault is cosmetic/operational rather than functional. It nevertheless prevents unattended or lights-out restart of the cell.
2. SINUMERIK 840D MMC103 Architecture
The MMC103 is a ruggedised industrial PC that connects to the SINUMERIK 840D NCU (Numerical Control Unit) over MPI or Ethernet. The MMC is responsible only for HMI rendering, operator input, and program archive; real-time motion control runs on the NCU. SW 4.4 is the final HMI software release that targets the Windows 95-based MMC103 hardware line before Siemens transitioned the HMI to PCU 20 (Windows NT) and later PCU 50 / PCU 70 (Windows XP Embedded).
According to the Siemens release notice 840D Supplement, Release for General Availability MMC103 SW4.4 (SIOS ID 4228983), SW 4.4 increases the internal version counter for the MMC 103 system software and includes the function enhancements that were mandatory for general availability of the platform. The release is bound to a specific Windows 95 image that ships pre-installed on the MMC103 hard disk; modifying the Windows 95 installation is therefore acceptable for diagnostic purposes, but core NCK/PLC coupling software must not be altered.
3. Root Cause: Windows 95 PCI Enumeration and USB Stack
Windows 95 enumerates the PCI bus at boot via the BIOS-provided _PCI BIOS_ call set. Each device exposes an 8-byte PCI configuration header containing Vendor ID, Device ID, Class Code, and an optional Subsystem ID. Windows 95 matches these IDs against its built-in INF files in C:\WINDOWS\INF\. If no match is found, the device is installed as a generic "PCI Card" with Hardware ID PCI\VEN_0000&DEV_0000&SUBSYS_00000000&REV_00, and Windows prompts the user.
The MMC103 motherboard (an OEM industrial ATX board from the late 1990s) integrates an Intel chipset with an on-board USB 1.1 controller. Because the SW 4.4 Windows 95 image does not include the USB supplement driver set, the USB controller is enumerated but cannot be matched. It therefore surfaces as the generic yellow-icon "PCI Card".
The reason the prompt returns even after the user selects "Do not install a driver" is that Windows 95 records the decision in C:\WINDOWS\INF\UNKNOWN.INF only if the Hardware ID matches at least one INF. When the Vendor/Device ID is all zeros, the suppression entry is not written, and the prompt reappears.
4. Identifying the Unknown PCI Device
The unknown device must be positively identified before any driver is installed or any registry change is made. Three methods are available in the field, in order of preference.
4.1 Method A – Hardware ID Scan with a PCI Sniffer
Boot a Windows 95 / 98 DOS-mode utility that reads PCI configuration space directly. Recommended utilities:
- PCI Tree (PCI_TREE.EXE) – reads PCI config and prints Vendor:Device:Revision:Class.
- CTIA / CTBIOS / TYPHOON – DOS-based hardware scanners often shipped with diagnostic boot floppies.
For an MMC103 with an Intel on-board USB controller, the scan will report one of the following signatures (only the ones relevant to MMC103-era motherboards are listed):
| Vendor ID | Device ID | Chipset | Function |
|---|---|---|---|
| 0x8086 | 0x7020 | Intel 82371SB (PIIX3) | USB 1.0 controller, function 0 |
| 0x8086 | 0x702D | Intel 82371SB (PIIX3) | USB 1.0 controller, function 1 (some boards) |
| 0x8086 | 0x7112 | Intel 82371AB/EB (PIIX4) | USB 1.1 controller, function 0 |
| 0x8086 | 0x7113 | Intel 82371AB/EB (PIIX4) | USB 1.1 controller, function 1 (some boards) |
| 0x8086 | 0x7195 | Intel 82440MX | USB controller on 82440MX (portable chipset) |
Any of the above combinations confirms that the unknown PCI card is the on-board Intel USB controller, not a plug-in board. This matches the field finding: "The device is Intel PCI-USB controller, but I still don't see where it is physically located, very strange."
4.2 Method B – HWiNFO / AIDA32 Inspection
Run a Windows 95-compatible hardware inspector from a network share or floppy. AIDA32 (v0.9.x for Win9x) and HWiNFO32 (v1.61 for Win9x) will print the same PCI tree from inside Windows, including Subsystem IDs that DOS tools cannot read.
4.3 Method C – INF Scan with Sigcheck
If the inspector utility is unavailable, the unknown device can be matched manually against the Microsoft USB.INF / USBD.SYS files inside C:\WINDOWS\SYSTEM\. The presence of USBD.SYS in the system directory confirms that the USB stack is installed – only the matching PCI-class client driver is missing.
5. Why the MMC Does Not Need USB
The MMC103 is a closed industrial panel. The operator interface uses a dedicated membrane keyboard and a serial or parallel touchscreen controller, not USB HID. No USB storage, USB keyboard, or USB mouse is required for HMI operation. The rear I/O panel of the MMC103 exposes PS/2, RS-232, parallel, and VGA – not USB. The on-board USB controller is therefore electrically present but functionally unused, and there is no safety or operational benefit to loading a USB driver for it.
This is the basis for the cleanest resolution: do not install a driver; instead, suppress the prompt permanently.
6. Step-by-Step Resolution
Prerequisites
- Siemens service password for the MMC103 (if SINUMERIK HMI login is required).
- Bootable Windows 95 / 98 emergency disk with
EDIT.COMandREGEDIT.EXE. - Image backup of the MMC103 hard disk (Ghost, Drive Image, or DD on a Linux PE stick) – mandatory before registry edits.
- Identification of the PCI Vendor:Device ID from Section 4.
Procedure
-
Back up the MMC. Power down the MMC103, remove the HDD, and image it with a Linux
ddover USB-IDE or a PATA-to-USB adapter. Store the image on a write-once medium. - Boot Windows 95 normally. Allow the unknown-device prompt to appear and click Cancel; the system must reach the HMI desktop.
- Open Device Manager. Start → Settings → Control Panel → System → Device Manager. Locate the yellow-icon PCI Card. Open Properties → Driver → Uninstall. Confirm the removal. Close Device Manager.
-
Open the registry editor. Run
REGEDITfrom Start → Run. Navigate to:
Search the sub-keys for the Vendor:Device ID identified in Section 4 (for exampleHKEY_LOCAL_MACHINE\Enum\PCIVEN_8086&DEV_7112). For each matching key, verify that the upper-case flags are valid; the relevant value entries areConfigFlags,DeviceDesc,Driver,HardwareID, andProblem. -
Mark the device as disabled. Set the
ConfigFlagsvalue to0x00000001(CONFIGFLAG_DISABLED). This tells the Windows 95 PnP manager to keep the device in the registry tree but never enumerate it again, which suppresses the boot prompt without requiring a driver. -
Remove the device tree (alternative). If a permanent removal is preferred, delete the entire Vendor:Device key under
HKEY_LOCAL_MACHINE\Enum\PCIand any matching key underHKEY_LOCAL_MACHINE\Enum\Root. Then remove the corresponding phantom instance underHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\. Because the device has noServiceentry, the next boot will find no phantom to enumerate. - Close REGEDIT and shut down Windows 95.
- Power-cycle the MMC and confirm that the boot prompt no longer appears.
Alternative: BIOS-Level Disable
If the motherboard BIOS exposes a "USB Controller" or "Onboard USB" setting, set it to Disabled. This is the most robust fix because the device never appears on the PCI bus at all, and therefore no PnP record is created. On the typical MMC103 industrial board the entry is found under Advanced → Peripheral Configuration → Onboard USB Controller or Chipset Features → USB Controller.
7. Registry Reference for the Suppression Path
The complete key set to inspect is:
HKEY_LOCAL_MACHINE\Enum\PCI
\VEN_8086&DEV_7112
\<instance_id_0000>
ConfigFlags = REG_DWORD 0x00000001
DeviceDesc = "PCI Card"
HardwareID = multi-sz "PCI\VEN_8086&DEV_7112&SUBSYS_00000000&REV_00"
Problem = REG_DWORD 0x00000000
Driver = ""
Class-installer keys to inspect:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\<PCIVEN_8086_*>
Removing the Class entry is optional; Windows 95 will recreate it on the next successful PnP event.
8. Verification Procedure
- Restart the MMC103 three times consecutively. Confirm that no driver-request dialog appears at any boot.
- Open Device Manager and confirm that no yellow exclamation icon is shown. The PCI Card entry should be either absent or greyed-out with status Code 22 – Device is disabled.
- Boot the SINUMERIK HMI. Verify that the operator screen comes up, the NCK link is established (header bar shows "Connected to NCK"), and the machine responds to jog, MDI, and AUTO commands.
- Check the NCK/PLC alarm log. No new alarms are expected. Acceptable pre-existing alarms (e.g., Alarm 26017 – Axis container not set) must not increase in count.
- Run a full machine reference-point return on each axis and confirm successful homing.
- If a Service-USB device is fitted, perform a hot-plug test to confirm the BIOS-level disable did not affect it.
9. Firmware / Image Notes for SW 4.4
The Siemens release notice SIOS ID 4228983 identifies SW 4.4 as the general-availability release for the MMC103 and states that the Windows 95 image on the delivery hard disk is the supported execution environment. The notice does not list a Windows 95 USB supplement as part of the released image, which is consistent with the absence of USB functionality on the MMC103 hardware.
Operators upgrading from SW 4.4 to a later HMI release (PCU 20 with Windows NT, or PCU 50 with Windows XP Embedded) will not encounter the prompt because the later images include the full USB stack and a USB-aware INF catalogue.
10. Preventive Recommendations
- After every maintenance event that involves removing the CMOS battery on the MMC103, perform the BIOS-level USB disable before the first Windows 95 boot, so the PnP database is never polluted with a phantom record.
- Keep a current image of the MMC hard disk in a write-once archive. Use Ghost, Drive Image, or a Linux
ddimage so that any registry corruption can be reverted in minutes. - Label the rear I/O of the MMC with a fixed legend listing the enabled ports. This reduces confusion when the unknown PCI device is later identified.
- If the MMC103 is migrated into a long-term storage environment, power it on every 6 months and run the full verification procedure in Section 8.
11. Related Siemens Documentation
- SIOS ID 4228983 – 840D Supplement, Release for General Availability MMC103 SW4.4
- SIOS ID 2535480 – MMC/PCU driver and image recovery (referenced in the original service note; please verify availability through Siemens support, as legacy MMC documents rotate in and out of the public SIOS catalogue).
What does the MMC103 PCI Card prompt actually mean on SW 4.4?
The prompt means that the Windows 95 PnP manager found an 8086/7112 (or 7020 / 702D / 7113 / 7195) PCI function that has no matching INF in the SW 4.4 image. The SW 4.4 release does not bundle a USB client driver because the MMC103 has no exposed USB connector; the device is electrically present but functionally unused.
Will installing a Windows 95 USB driver harm the SINUMERIK 840D HMI?
No functional harm is expected, because the USB stack is isolated from the NCK link and HMI runtime. However, installing the driver loads the controller and may reserve an interrupt and I/O range that the HMI's ACPI table does not expect. The cleaner solution is to disable the device in BIOS or mark it disabled in the registry, as described in Section 6.
Can I keep the unknown device enabled and just suppress the prompt?
No. The Windows 95 boot loader reads the registry before the user has a chance to make a decision. The only permanent suppressions are (a) installing a matching driver, (b) setting ConfigFlags = 0x00000001, (c) deleting the registry sub-key, or (d) disabling the controller in the BIOS. Selecting "Do not install a driver" in the prompt only writes to UNKNOWN.INF when at least one INF matches; for a true unknown Vendor:Device ID, that write is skipped.
Is the same prompt seen on PCU 20 / PCU 50 / PCU 70?
No. The PCU 20 (Windows NT 4.0) and PCU 50 / PCU 70 (Windows XP Embedded) HMI images ship with a USB-aware INF catalogue and a full USB stack. PnP enumeration of an on-board Intel USB controller resolves to the standard USB.INF on the first boot without any user intervention.
Does the fix survive a CMOS / BIOS reset?
If the fix is applied at the registry level only, a CMOS reset does not change the registry and the prompt remains suppressed. If the fix relies on the BIOS-level disable, the CMOS reset reverts the setting; the operator must re-enter the BIOS and disable the on-board USB controller again. A combined approach (registry disable plus BIOS disable) is the most robust against field events such as a depleted CMOS battery.