USB device removal while in hibernate crashes system after resume

  • Thread starter Thread starter s then
  • Start date Start date
S

s then

I've found that a device I have will cause windows to crash (total system
freeze, no BSoD or any warning or event messages), by removing it while my
system is hibernated. I have lots of USB devices, and none except for one
that I have seem to have this problem. This happens over multiple hardware
platforms (Dell, HP, and Sony seem to all crash) and is easily reproduced.
All running fully patched XP Pro. The wired apple keyboard is the culprit.
I've read some other threads where a usb ethernet caused this problem. Other
brands of keyboards I have dont seem to experience this. Has anyone seen
this behavior before?
 
s then said:
I've found that a device I have will cause windows to crash (total system
freeze, no BSoD or any warning or event messages), by removing it while my
system is hibernated. I have lots of USB devices, and none except for one
that I have seem to have this problem. This happens over multiple
hardware
platforms (Dell, HP, and Sony seem to all crash) and is easily reproduced.
All running fully patched XP Pro. The wired apple keyboard is the
culprit.
I've read some other threads where a usb ethernet caused this problem.
Other
brands of keyboards I have dont seem to experience this. Has anyone seen
this behavior before?

The only difference between hibernate and shutdown, is that
hibernate saves the pre-shutdown/power off state and restores
it during reboot. So, if XP expects to see the Apple keyboard
attached, and it's not, it freezes for some reason. Obviously,
the Apple keyboard is not fully compatible with Windows based
systems. The best bet is to leave the keyboard attached, or do
a shut down rather than a hibernate.
 
Ian said:
The only difference between hibernate and shutdown, is that
hibernate saves the pre-shutdown/power off state and restores
it during reboot. So, if XP expects to see the Apple keyboard
attached, and it's not, it freezes for some reason. Obviously,
the Apple keyboard is not fully compatible with Windows based
systems. The best bet is to leave the keyboard attached, or do
a shut down rather than a hibernate.
It was my understanding, perhaps incorrect, that windows and the BIOS
were supposed to completely re-enumerate the hardware when an hibernate
was terminated. Therefore, it seems to me that this is a rather serious bug.

-- Jeff Barnett
 
Jeff Barnett said:
It was my understanding, perhaps incorrect, that windows and the BIOS were
supposed to completely re-enumerate the hardware when an hibernate was
terminated. Therefore, it seems to me that this is a rather serious bug.

-- Jeff Barnett

What do you mean by "hibernate was terminated." Hibernate
terminates at shutdown? If you mean the startup and recovery
from hibernate, yes the BIOS will do the normal power on
hardware detection, but BIOS doesn't detect what's attached
to USB ports. If something was attached to a USB port during
the hibernation process, XP would expect to see it during the
subsequent startup. If that USB device is no longer connected,
XP should treat it the same as a normal USB device disconnection,
but for some reason the disconnection of OP's Apple keyboard
causes a system crash. Obviously the Apple keyboard is not fully
compatible with XP.
 
Ian said:
What do you mean by "hibernate was terminated." Hibernate
terminates at shutdown? If you mean the startup and recovery
from hibernate, yes the BIOS will do the normal power on
hardware detection, but BIOS doesn't detect what's attached
to USB ports. If something was attached to a USB port during
the hibernation process, XP would expect to see it during the
subsequent startup. If that USB device is no longer connected,
XP should treat it the same as a normal USB device disconnection,
but for some reason the disconnection of OP's Apple keyboard
causes a system crash. Obviously the Apple keyboard is not fully
compatible with XP.
By "terminate" I meant that the hibernation was broken. That can happen
two ways: 1) a restart signal is generated by, e.g., hitting the power
button, or 2) the computer is power cycled causing a cold boot. In
either case the BIOS and OS are both supposed to perform their
enumeration responsibilities. (See any of the reasonably current ACPI
spec versions.) In fact, USB devices are supposed to be enumerated. No
assumption about USB devices is supposed to remain around an hibernate
event. It's been a year or two since I read the specs and the USB, etc.,
details, so I'm commenting from memory of my readings.

To see why things are (probably) the way I remember them, consider a
notebook computer. User hibernates the machine, unplugs and packs his
external USB mouse, goes somewhere, flips the lid open, and starts
working using the thumb controlled cursor mover. If your beliefs are
correct, that wouldn't be possible.

-- Jeff Barnett
 
Jeff Barnett said:
By "terminate" I meant that the hibernation was broken. That can happen
two ways: 1) a restart signal is generated by, e.g., hitting the power
button, or 2) the computer is power cycled causing a cold boot. In either
case the BIOS and OS are both supposed to perform their enumeration
responsibilities. (See any of the reasonably current ACPI spec versions.)
In fact, USB devices are supposed to be enumerated. No assumption about
USB devices is supposed to remain around an hibernate event. It's been a
year or two since I read the specs and the USB, etc., details, so I'm
commenting from memory of my readings.

To see why things are (probably) the way I remember them, consider a
notebook computer. User hibernates the machine, unplugs and packs his
external USB mouse, goes somewhere, flips the lid open, and starts working
using the thumb controlled cursor mover. If your beliefs are correct, that
wouldn't be possible.

-- Jeff Barnett

I just noticed something that I hadn't paid attention to before.
When the preparing for hibernation box shows, all USB devices,
including the mouse, are disconnected before hibernation starts.
So, you are correct, XP will have to enumerate on startup to see
who's still attached. I have my system settings, so that no device
can restart it from shutdown.
 
FWIW, the machine does seem to function properly for a minute or so after
login, until what I believe is when it recognizes that the keyboard is no
longer attached. Then the total system freeze occurs.
 
s then said:
I've found that a device I have will cause windows to crash (total system
freeze, no BSoD or any warning or event messages), by removing it while my
system is hibernated. I have lots of USB devices, and none except for one
that I have seem to have this problem. This happens over multiple
hardware
platforms (Dell, HP, and Sony seem to all crash) and is easily reproduced.
All running fully patched XP Pro. The wired apple keyboard is the
culprit.
I've read some other threads where a usb ethernet caused this problem.
Other
brands of keyboards I have dont seem to experience this. Has anyone seen
this behavior before?

It is clear that the driver has an issue. The advice is therefore not to
unpug it while in hibernate. Since I note that it is Apple hardware even
better advice would be: not to plug it in in the first place.
 
Back
Top