Hi Sergey,

ah, so much time I've let this problem without attention :(
I'm "responsible" of hidups (USB UPSs support) rewritte for
the Network UPS Tools project.

>Does anyone know any other HID devices which have settable
>features/output values and also use report IDs?  Do they have similar
>behavior?
>
>I have made the following changes (WARNING: this is incomplete and will
>break other devices!!!  Need to check if report ids are really used):

I think all the complexes devices which might be supported by hiddev
(ie other than joy/keyb/mousedev) might need this. This has to be
validated by others.

This means that your solution might be applicable with something
like (not yet tested):

 void hid_write_report(struct hid_device *hid, struct hid_report *report)
 {
     if (hid->claimed & HID_CLAIMED_HIDDEV) {
          hid->out[hid->outhead].buffer[0] = report->id; //XXX
          hid_output_report(report, hid->out[hid->outhead].buffer + 1);

          hid->out[hid->outhead].dr.wValue = cpu_to_le16(((report->type + 1) <<
8) | report->id);
          hid->out[hid->outhead].dr.wLength = cpu_to_le16((report->size + 7) >>
3) + 1; //XXX
     } else {
          hid_output_report(report, hid->out[hid->outhead].buffer);

          hid->out[hid->outhead].dr.wValue = cpu_to_le16(0x200 | report->id);
          hid->out[hid->outhead].dr.wLength = cpu_to_le16((report->size + 7) >>
3);
     }
     hid->outhead = (hid->outhead + 1) & (HID_CONTROL_FIFO_SIZE - 1);
...

I'll try this and report it back ASAP. If you test it too, I'm also interested
in having feedback.

Regards,

Arnaud Quette
Unix / Linux Development responsible
MGE UPS SYSTEMS - R&D Department
Member of the Network UPS Tools project (http://http://www.exploits.org/nut/)
Email: [EMAIL PROTECTED]




-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb: 
Dedicated Hosting for just $79/mo with 500 GB of bandwidth! 
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to