Regarding Wake On USB input from S3 Sleep
Dee Zay
julianpark90611 at gmail.com
Fri Feb 12 07:15:37 UTC 2016
Hello,
I've looked into *usb/controller/usb_controller.c* and modified
usb_bus_suspend():
==============================================================
*Line480*
// * We use the shutdown event here because the suspend and
// * resume events are reserved for the USB port suspend and
// * resume. The USB system suspend is implemented like full
// * resume events are reserved for the USB port suspend and
// * resume. The USB system suspend is implemented like full
// * shutdown and all connected USB devices will be disconnected
// * subsequently. At resume all USB devices will be
// * re-connected again.
bus_generic_suspend(bus->bdev); //*suspend instead of shutdown*
do_unlock = usbd_enum_lock(udev);
err = usbd_set_config_index(udev, USB_UNCONFIG_INDEX);
if (err)
device_printf(bus->bdev, "Could not unconfigure root HUB\n");
USB_BUS_LOCK(bus);
bus->hw_power_state = //*added power options instead of
0*
USB_HW_POWER_CONTROL |
USB_HW_POWER_BULK |
USB_HW_POWER_INTERRUPT |
USB_HW_POWER_ISOC |
USB_HW_POWER_NON_ROOT_HUB;
bus->no_explore = 0;
==============================================================
but the system does not respond to any USB interrupts?
Also, I do not understand why the suspend/resume events are reserved only
for USB ports, whereas the USB system has to be shutdown.
Thanks,
Julian
On Thu, Feb 11, 2016 at 9:16 PM, Hans Petter Selasky <hps at selasky.org>
wrote:
> On 02/11/16 13:08, Dee Zay wrote:
>
>> Hello,
>>
>> So, is the BIOS handover to the USB stack a prerequisite when resuming
>> from
>> standby mode HC (not completely off HC)?
>>
>
> Hi,
>
> I'm not sure. You'll have to find out. It is what happens when you suspend
> which decides if you get the resume event or not. Once resumed the system
> will manage somehow, either full reset or handover.
>
> In other words, do we need to implement BIOS handover before we can use
>> wake on usb keyboard input?
>>
>
> Might depend on the BIOS make. I've never tested this on FreeBSD before so
> I don't know.
>
> Or is there a workaround for this specific functionality?
>>
>
> Maybe check what Linux is doing.
>
> --HPS
>
>
More information about the freebsd-acpi
mailing list