Difference between revisions of "Tchibo Ecobutton"

From Random Projects
Jump to: navigation, search
m
m
 
(One intermediate revision by the same user not shown)
Line 15: Line 15:
  
 
This device can easily be abused for other tasks, just provide an application named '''ecobutton''' which does whatever you want to happen at the button press. It's equally simple to do it on Linux or Mac OS X, of course. Just go into a console (or position the cursor in an xterm) and press the button. It'll invoke a program named '''recobutton''' (sic!) which must be in your path, as the '''Windows''' key is usually ignored on Linux.
 
This device can easily be abused for other tasks, just provide an application named '''ecobutton''' which does whatever you want to happen at the button press. It's equally simple to do it on Linux or Mac OS X, of course. Just go into a console (or position the cursor in an xterm) and press the button. It'll invoke a program named '''recobutton''' (sic!) which must be in your path, as the '''Windows''' key is usually ignored on Linux.
 +
 +
== Info ==
 +
 +
$ '''lsusb -vvv'''
 +
Bus 003 Device 005: ID '''3412:7856'''
 +
Device Descriptor:
 +
  bLength                18
 +
  bDescriptorType        1
 +
  bcdUSB              1.10
 +
  bDeviceClass            0 (Defined at Interface level)
 +
  bDeviceSubClass        0
 +
  bDeviceProtocol        0
 +
  bMaxPacketSize0        8
 +
  idVendor          0x3412
 +
  idProduct          0x7856
 +
  bcdDevice            0.01
 +
  iManufacturer          0
 +
  iProduct                0
 +
  iSerial                0
 +
  bNumConfigurations      1
 +
  Configuration Descriptor:
 +
    bLength                9
 +
    bDescriptorType        2
 +
    wTotalLength          34
 +
    bNumInterfaces          1
 +
    bConfigurationValue    1
 +
    iConfiguration          0
 +
    bmAttributes        0xa0
 +
      (Bus Powered)
 +
      Remote Wakeup
 +
    MaxPower              100mA
 +
    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.00
 +
          bCountryCode            0 Not supported
 +
          bNumDescriptors        1
 +
          bDescriptorType        34 Report
 +
          wDescriptorLength      63
 +
          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
 +
Device Status:    0x0000
 +
  (Bus Powered)
 +
 +
__FORCETOC__

Latest revision as of 20:04, 30 August 2010

The Tchibo Ecobutton is a small USB-powered device / button which acts as a HID device (and also has three fancy green LEDs). The use-case is that you press the button to suspend your PC in order to save power.

Photos

How it works

It's a USB HID device. When you press the button, the HID devices "presses" the Windows+R keys on your (Windows) PC, which openes the standard Windows "Run" dialog, then it presses the keys ecobutton and Enter, i.e. it executes a Windows program called ecobutton, which in turn does the rest of the work.

This device can easily be abused for other tasks, just provide an application named ecobutton which does whatever you want to happen at the button press. It's equally simple to do it on Linux or Mac OS X, of course. Just go into a console (or position the cursor in an xterm) and press the button. It'll invoke a program named recobutton (sic!) which must be in your path, as the Windows key is usually ignored on Linux.

Info

$ lsusb -vvv
Bus 003 Device 005: ID 3412:7856
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x3412 
  idProduct          0x7856 
  bcdDevice            0.01
  iManufacturer           0 
  iProduct                0 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    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.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      63
         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
Device Status:     0x0000
  (Bus Powered)