Alan Stern
2007-12-11 22:54:09 UTC
Dave:
I just tried doing some hibernation testing, and my external high-speed
hub is behaving very strangely. The test is simple. First plug in the
hub, then plug a flash drive into the hub to keep it from
autosuspending. Then:
echo test >/sys/power/disk
echo disk >/sys/power/state
The first line causes the hibernation to stop after the PM_EVENT_FREEZE
message has been sent; after that everything is woken back up. There
are no bus-power-level changes since the EHCI controller remains in D0
throughout.
This sequence causes the hub to disconnect and reconnect itself! When
khubd starts running again, it sees the port-connect-change event.
This happens only with the hub; if I plug the flash drive into the
computer's USB port instead of plugging the hub there, the drive
remains connected at the end of the test.
The hub doesn't disconnect itself like this during a runtime suspend.
In fact, if I run the hibernation test while the hub is already
suspended then there is no port-connect-change event and the hub can be
resumed normally.
Do you have any idea how this could be happening? As far as I can
tell, the hub shouldn't be able to distinguish one sort of suspend from
another.
Alan Stern
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
linux-usb-***@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
I just tried doing some hibernation testing, and my external high-speed
hub is behaving very strangely. The test is simple. First plug in the
hub, then plug a flash drive into the hub to keep it from
autosuspending. Then:
echo test >/sys/power/disk
echo disk >/sys/power/state
The first line causes the hibernation to stop after the PM_EVENT_FREEZE
message has been sent; after that everything is woken back up. There
are no bus-power-level changes since the EHCI controller remains in D0
throughout.
This sequence causes the hub to disconnect and reconnect itself! When
khubd starts running again, it sees the port-connect-change event.
This happens only with the hub; if I plug the flash drive into the
computer's USB port instead of plugging the hub there, the drive
remains connected at the end of the test.
The hub doesn't disconnect itself like this during a runtime suspend.
In fact, if I run the hibernation test while the hub is already
suspended then there is no port-connect-change event and the hub can be
resumed normally.
Do you have any idea how this could be happening? As far as I can
tell, the hub shouldn't be able to distinguish one sort of suspend from
another.
Alan Stern
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
linux-usb-***@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel