in

www.xpefiles.com

Disabled devices in device manager reappear after restart

Last post 04-13-2008 7:23 PM by Stefan Klein. 1 replies.
Page 1 of 1 (2 items)
Sort Posts: Previous Next
  • 04-11-2008 9:19 PM

    Disabled devices in device manager reappear after restart

    When i disable the floppy device (or any other device) in device manager the red cross appears on the device and it vanishes from the system like expected. When i reboot the system the floppy A:\ is back again. The device manager doesn't show a red cross anymore on the device but the enable/disable button on top of the window shows the green flagged icon as if the device would be still disabled so its kinda halfway disabled. When i press the button it changes to red flagged. Pressing again disables the device again for one session.

     This reg key (beside others) will be set when disabling the device but vanishes after reboot. On XP Pro the key survives the reboot.

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FDC\GENERIC_FLOPPY_DRIVE\4&33bc18fa&0&0\Control]
    "DisableCount"=dword:00000001

    I tried 'Local Profile Core' component but it doesn't help. I have WMI fully installed, 'Administration Support Tools' and 'Device Manager' components. Not sure what is missing.

     Any ideas?

     

  • 04-13-2008 7:23 PM In reply to

    Re: Disabled devices in device manager reappear after restart

    The regkey mentioned above is versatile and computed at system startup. It's normal that it vanishes after reboot. The really important one is this:

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Enum\FDC\GENERIC_FLOPPY_DRIVE\4&33BC18FA&0&0]
    "CSConfigFlags"=dword:00000000

    Setting 'CSConfigFlags' to '1' will de-activate the device after reboot or if you enable/disable a state in device manager it will remain locked to 'disabled'. So Windows Embedded is not able to change the key though it reads and processes it if present.

    Who's in charge for that key?
    'Services.exe'. There are only two visible services in my XPPro system that are associated with services.exe. 'Event Log' and 'Plug&Play'. I bet my money on 'Plug&Play'.

    Plug&Play is working fine but the device manager is still not running properly.
    'Plug&Play' is just half the truth. The actual process of disabling hardware devices is not about setting registry keys. Its about using APIs like 'SetupDiCallClassInstaller' so that CoInstallers or .inf scripts can be parsed properly for de-/installation. These functions are part of setupapi.dll. I don't know why these functions won't be properly invoked in windows embedded. Maybe some prerequisites (regkeys?) are missing.

    I checked dependencies of devmgr.dll, setupapi.dll and services.exe. 'Query.dll' and 'mobsync.dll' were missing. I copied them manually to the target system without any change.

    The setupapi.log (set to max verbose) doesn't give any usable informations.

    Maybe it just needs one more component from target designer. Not sure if its possible to trace down APIs up to setupapi.dll.
Page 1 of 1 (2 items)
© 2007 www.XPeFiles.com
Powered by Community Server (Commercial Edition), by Telligent Systems