• M
    USB: add support for Dream Cheeky DL100B Webmail Notifier (1d34:0004) · 73bc7d31
    Melchior FRANZ 提交于
    So far the USBLED driver only supports Delcom's "USB Visual Signal
    Indicator" (http://www.delcomproducts.com/products_USBLMP.asp). The
    driver generates virtual files "red", "green", and "blue" under the
    device's /sys/ directory, where color values can be read from and
    written to.
    
    This patch adds support for Dream Cheeky's "DL100B Webmail Notifier"
    (http://www.dreamcheeky.com/webmail-notifier -- available from several
    shops, such as http://www.conrad.at/ce/de/product/777048/USB-WEBMAIL).
    This device isn't as pretty as Delcom's, but it's *far* cheaper, and
    its 3 LEDs can be set in 32 brightness steps each. The grey envelope
    contour can easily be removed, leaving a rather neutral white box (with
    a few small holes), which is useful for generic signalling purposes.
    Of course, the small circuit board can easily be put into a prettier
    case.
    
    The DL100B device pretends to be a HID, but the HID descriptor shows
    that it's not overly useful as such (see below). The patch therefore
    removes the "HID-ness" (hid-core.c, hid-ids.h), and adds the necessary
    commands to usbled.c. The protocol info comes from the developer's
    manual that Dream Cheeky kindly provided (815DeveloperManual.pdf).
    
    HID descriptor:
    
      0: 05 01   Usage Page 'Generic Desktop Controls'
      2: 09 10   Usage 'Reserved'
      4: a1 01   Collection 'Application (mouse, keyboard)'
      6: 05 00           Usage Page 'Undefined'
      8: 19 10           Usage Minimum = 16
     10: 29 11           Usage Maximum = 17
     12: 15 00           Logical Minimum = 0
     14: 25 0f           Logical Maximum = 15
     16: 75 08           Report Size = 8
     18: 95 08           Report Count = 8
     20: 91 02           Output data *var abs lin pref-state null-pos non-vol bit-field
     22: 19 10           Usage Minimum = 16
     24: 29 11           Usage Maximum = 17
     26: 15 00           Logical Minimum = 0
     28: 25 0f           Logical Maximum = 15
     30: 75 08           Report Size = 8
     32: 95 08           Report Count = 8
     34: 81 00           Input data array abs lin pref-state null-pos non-vol bit-field
     36: c0      End Collection
    Signed-off-by: NMelchior FRANZ <mfranz@aon.at>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
    73bc7d31
usbled.c 5.6 KB