#169 USB keyboard not recognized at boot

None
closed
nobody
None
1
2012-12-23
2012-11-17
Stefan Pendl
No

Quote from USB Keyboard Problem...?

I'm having this same problem and I tried the above suggestion and it didn't work.
I'm running the 32-bit version of UltraDefrag 5.1.0 on Windows XP Home Edition SP3.
The USB keyboard I'm using USED to work with the boot-time defrag but hasn't since UltraDefrag 5.0.6.


Tom

Discussion

  • Stefan Pendl
    Stefan Pendl
    2012-11-18

    Attached find a specially crafted defrag_native.exe, which must be placed in the system folder, typically C:\WINDOWS\System32

    This is only valid for a v5.1.1 installation!

    The password for the 7-zip archive is ud.

    If that still fails attach the boot-startup-phase.log file to your reply.


    Stefan

     
    • Tom
      Tom
      2012-11-18

      Ok, I've tried the new executable and the problem remains. The boot-startup-phase.log file is attached.

      Thanks!

       
      Last edit: Tom 2012-11-18
      • Stefan Pendl
        Stefan Pendl
        2012-11-18

        Could you post the output of the following run in a command prompt:

        reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\kbdhid\Enum"
        

        Stefan

         
        Last edit: Stefan Pendl 2012-11-18
        • Tom
          Tom
          2012-11-19

          Ok, here is the requested output:

          Microsoft Windows XP [Version 5.1.2600]
          (C) Copyright 1985-2001 Microsoft Corp.
          
          C:\Documents and Settings\Tomdkat>reg query
          "HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KeyboardClass"
          
          ! REG.EXE VERSION 3.0
          
          HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KeyboardClass
              \Device\KeyboardClass0      REG_SZ 
          \REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\Kbdclass
              \Device\KeyboardClass1      REG_SZ 
          \REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\Kbdclass
          
          C:\Documents and Settings\Tomdkat>
          

          Let me know if you need anything else! :)

          Thanks!

          Peace...

           
          Last edit: Stefan Pendl 2012-11-20
        • Tom
          Tom
          2012-11-20

          Sorry for the delay. Somehow I missed your request for the above specified registry key. Here is that output:

          Microsoft Windows XP [Version 5.1.2600]
          (C) Copyright 1985-2001 Microsoft Corp.
          
          C:\Documents and Settings\Tomdkat>reg query
          "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\kbdhid\Enum"
          
          ! REG.EXE VERSION 3.0
          
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\kbdhid\Enum
              Count       REG_DWORD       0x1
              NextInstance        REG_DWORD       0x1
              INITSTARTFAILED     REG_DWORD       0x1
              0   REG_SZ  HID\Vid_046e&Pid_52c2&MI_00\7&283ec6f4&0&0000
          
          C:\Documents and Settings\Tomdkat>
          
           
          Last edit: Stefan Pendl 2012-11-20
          • Stefan Pendl
            Stefan Pendl
            2012-11-20

            OK, so there is one USB keyboard recognized by the system, but the boot initialization failed at least once.

            Good to know, since I think I have already a solution for the problem.

            I will post an updated boot time interface later.


            Stefan

             
  • Stefan Pendl
    Stefan Pendl
    2012-11-20

    Below find the latest version, which should correct the problem.

    Could you post the boot-startup-phase.log file in any case?


    Stefan

     
    • Tom
      Tom
      2012-11-21

      Hi! Ok, I tried the new executable and it WORKED! I was able to abort the boot time scan, like before.

      Attached is the boot-startup-phase.log file you requested.

      Is this USB Keyboard issue an issue in UltraDefrag 6?

      Thanks!

       
      Last edit: Tom 2012-11-21
      • Stefan Pendl
        Stefan Pendl
        2012-11-21

        This problem has bitten us for some time now.

        Initially we were always checking a minimum of two keyboards, but in many cases there was only one present at all, so this raised complaints by some users.

        I have been searching for a better way to get the current number of keyboards and the registry approach showed good results in my testing of USB keyboards.
        Unfortunately I never happened to stumble across a keyboard that lost its registration during a reboot.

        I will improve the way to detect keyboards some more and hope to get rid of this problem once and for all.

        Thanks for shipping the information to be able to resolve this issue.


        Stefan

         
        • Tom
          Tom
          2012-11-21

          How about simply adding an option to control this? Maybe call it "Delayed keyboard detection" or something. That way, those with USB keyboards that aren't detected during the boot time scan can specify this option in the UltraDefrag settings and we'll wait the extra 10 seconds for our USB keyboard to be detected. Those who don't encounter the issue don't specify it and run like they do today.

          Peace...

           
          • Stefan Pendl
            Stefan Pendl
            2012-11-22

            We need a solution that is bullet proof.

            How should we know that the USB keyboard is the fourth device for instance?

            I will include some more debugging information and extend the bug reporting guide in the handbook to get such problems better resolved.


            Stefan

             
            • Tom
              Tom
              2012-11-22

              Would you care which device the USB keyboard is? Let's assume this current problem didn't exist. At boot time, UltraDefrag starts and I can press Pause/Break to interrupt it. Cool. During that process, do you go through and detect which USB device is the actual keyboard? If so, you would continue to go through that process. The thing is, with the setting I mention, that would simply cause the 10 second delay you put in to give Windows a chance to load the USB keyboard driver.

              So, with the default setting (which would be the current, stock 5.1.1 behavior) the system would boot and if the USB keyboard wasn't detected in time, the Pause/Break key wouldn't work. Then user would manually run UltraDefrag and enable the "delayed keyboard detection" setting, which would cause UltraDefrag to wait 10-15 seconds, during the boot-time scan, to allow the USB keyboard drivers to be loaded and the keyboard detected by Windows. Then, it starts the defragmentation process as it normally would. The Pause/Break key would, or should function as expected.

              I don't know what UltraDefrag currently does to detect which USB device is the USB keyboard at boot time and I don't think that needs to change. It just needs to be delayed a bit to give Windows a chance to get everything loaded.

              What I find interesting is, I CAN use the F8 key to get the Windows boot options screen, where I can choose safe mode, but after the Windows logo screen appears, the USB keyboard "goes away" until I get the login screen.

              I'm just thinking out loud. :)

              Peace...

               
              Last edit: Tom 2012-11-22
  • Stefan Pendl
    Stefan Pendl
    2012-12-18

    fixed in v5.1.2

     
  • Stefan Pendl
    Stefan Pendl
    2012-12-18

    • status: open --> closed