I have a Gyration Keyboard and Remote combo (GYAM1600CKUS, GYR3101US) that work off the same USB wireless transmitter. When I suspend the pc to S3, pressing a button on the keyboard will wakeup the pc, however, no buttons on the remote will wakeup the pc. Could this be a problem caused by two interfaces being on the same USB device? If not, any other suggestions? Thanks
I am using kernel 2.6.27 r8 (gentoo)
> lsusb -v (shortened here, in full length at end of this post)
Bus 004 Device 002: ID 0c16:0002 Gyration, Inc.
Device Descriptor:
idVendor 0x0c16 Gyration, Inc.
iProduct 2 Gyration RF Technology Receiver
Configuration Descriptor:
iConfiguration 4 USB Receiver
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
Interface Descriptor:
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bcdHID 1.10
Endpoint Descriptor:
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
Interface Descriptor:
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bcdHID 1.20
Endpoint Descriptor:
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
I used acpitool to set the wakeup on the USB port:
> acpitool -W 14 14. USB4 S3 enabled pci:0000:00:1a.1
I tried looking at the ACPI setting in /sys/devices/*/power/wakeup. You can see below that the usb device has 2 different inputs "./usb4/4-2/4-2:1.0" is for the keyboard and "./usb4/4-2/4-2:1.1/" for the remote.
> cd /sys/devices/pci0000:00/0000:00:1a.1 > find . -name wakeup ./power/wakeup ./usb_host/usb_host4/power/wakeup ./usb4/power/wakeup ./usb4/4-0:1.0/power/wakeup ./usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/power/wakeup ./usb4/usb_device/usbdev4.1/power/wakeup ./usb4/usb_endpoint/usbdev4.1_ep00/power/wakeup ./usb4/4-2/power/wakeup ./usb4/4-2/4-2:1.0/power/wakeup ./usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.2_ep81/power/wakeup ./usb4/4-2/4-2:1.0/input/input0/power/wakeup ./usb4/4-2/4-2:1.1/power/wakeup ./usb4/4-2/4-2:1.1/usb_endpoint/usbdev4.2_ep82/power/wakeup ./usb4/4-2/4-2:1.1/input/input1/power/wakeup ./usb4/4-2/4-2:1.1/input/input1/mouse0/power/wakeup ./usb4/4-2/usb_device/usbdev4.2/power/wakeup ./usb4/4-2/usb_endpoint/usbdev4.2_ep00/power/wakeup
Most of these are blank, but some of them are enabled:
./power/wakeup:enabled ./usb4/power/wakeup:enabled ./usb4/4-2/power/wakeup:enabled
Also to note, this remote is similar to the Fiire Chief remote which looks as if it does wakeup properly.
Thanks so much for any help given. And please let me know if any more information is needed. I am happy to help as much as I can.
> lsusb -v (full version here)
Bus 004 Device 002: ID 0c16:0002 Gyration, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0c16 Gyration, Inc.
idProduct 0x0002
bcdDevice 2.20
iManufacturer 1 Gyration
iProduct 2 Gyration RF Technology Receiver
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 4 USB Receiver
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 98mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 149
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.20
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 154
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)