Hello,
   I am trying to send commands to a keyboard to set the idle rate and
confirm that it's been set like below,
   #define SET_IDLE 0x0A
   #define GET_IDLE 0x02

   unsigned char data[1] = {0};

   ret = usb_control_msg(dev,
            usb_rcvctrlpipe(dev, 0),
            SET_IDLE,
            (0x01 << 5) + 0x01,
            0xaa00, 0, data, 0, USB_CTRL_SET_TIMEOUT);

    ret = usb_control_msg(dev,
            usb_rcvctrlpipe(dev, 0),
            GET_IDLE,
            (0x01 << 7) + (0x01 << 5) + 0x01,
            0x0000, 0, data, 1, USB_CTRL_GET_TIMEOUT);

    printk("%02x\n", data[0]);

The printk always gives me a zero but the value of ret for GET_IDLE is
always 1. I've been able to do all of this using libusb in user space
but have no success within a kernel module. I've also looked at
devio.c for reference and have run out of ideas of what could be
wrong. Also, when I try to do a SET_REPORT using usb_control_msg in
the kernel just like with libusb, my host controller shuts down and
breaks like I sent _it_ the command.

Thanks..

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to