Just moozing

Before you can check your notes, you must make them…

A new toy: Logitech presenter R400

leave a comment »

I also got 2Gb of RAM for an old computer, but that doesn’t count as “toys”.

The full name is Logitech wireless Presenter R400. It a  basic four button presenting device with a a built-in laser pointer.

Plugging it in

The first is to check the syslog

$ cat /var/log/syslog
...
Nov 22 19:14:39 leon kernel: [14908.136171] usb 4-1: new low speed USB device number 3 using uhci_hcd
Nov 22 19:14:39 leon kernel: [14908.314200] usb 4-1: New USB device found, idVendor=046d, idProduct=c52d
Nov 22 19:14:39 leon kernel: [14908.314221] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 22 19:14:39 leon kernel: [14908.314235] usb 4-1: Product: USB Receiver
Nov 22 19:14:39 leon kernel: [14908.314246] usb 4-1: Manufacturer: Logitech
Nov 22 19:14:39 leon mtp-probe: checking bus 4, device 3: "/sys/devices/pci0000:00/0000:00:1d.2/usb4/4-1"
Nov 22 19:14:39 leon kernel: [14908.363591] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.0/input/input21
Nov 22 19:14:39 leon kernel: [14908.366591] generic-usb 0003:046D:C52D.0006: input,hiddev0,hidraw2: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:1d.2-1/input0
Nov 22 19:14:39 leon kernel: [14908.397349] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.1/input/input22
Nov 22 19:14:39 leon kernel: [14908.401391] generic-usb 0003:046D:C52D.0007: input,hiddev0,hidraw3: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:1d.2-1/input1
Nov 22 19:14:39 leon mtp-probe: bus: 4, device: 3 was not an MTP device

So it is not an MTP device. Surprise.

And the device is recognized as a logitech USB receiver and enabled as two input devices. I’ll put it on the to-be-checked list to look into why that is.

A quick lsusb, gives us a more readable output.

$ lsusb
...
Bus 004 Device 003: ID 046d:c52d Logitech, Inc.

We use this to get the detailed information (it is collapsed since it is a long list).

# lsusb -d 046d:c52d -v
Bus 004 Device 003: ID 046d:c52d Logitech, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x046d Logitech, Inc.
  idProduct          0xc52d
  bcdDevice           17.01
  iManufacturer           1 Logitech
  iProduct                2 USB Receiver
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          4 RQR17.01_B0014
    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.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     187
         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.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     157
         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)

That solved the question of the two HID devices from the syslog. As seen in the higlighted lines, it is both a keyboard and a mouse.

I also see that it takes a maximum of 98 mW of power. That is enough for an average laptop user to notice it, but for some reason I don’t get current power estimates from powerTOP.

X events

I run the xev command. It is simple and it works. I ought to find a more informative utility for checking my HID.

$ xev

...

KeyPress event, serial 34, synthetic NO, window 0x5e00001,
root 0xab, subw 0x0, time 17999665, (490,320), root:(2361,624),
state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x5e00001,
root 0xab, subw 0x0, time 17999833, (490,320), root:(2361,624),
state 0x0, keycode 112 (keysym 0xff55, Prior), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

KeyPress event, serial 34, synthetic NO, window 0x5e00001,
root 0xab, subw 0x0, time 18001395, (490,320), root:(2361,624),
state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x5e00001,
root 0xab, subw 0x0, time 18001569, (490,320), root:(2361,624),
state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

...

KeyPress event, serial 34, synthetic NO, window 0x5e00001,
root 0xab, subw 0x0, time 18091665, (-283,47), root:(1588,351),
state 0x0, keycode 71 (keysym 0xffc2, F5), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x5e00001,
root 0xab, subw 0x0, time 18091769, (-283,47), root:(1588,351),
state 0x0, keycode 71 (keysym 0xffc2, F5), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

KeyPress event, serial 34, synthetic NO, window 0x5e00001,
root 0xab, subw 0x0, time 18092042, (-283,47), root:(1588,351),
state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
XLookupString gives 1 bytes: (1b) " "
XmbLookupString gives 1 bytes: (1b) " "
XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x5e00001,
root 0xab, subw 0x0, time 18092153, (-283,47), root:(1588,351),
state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
XLookupString gives 1 bytes: (1b) " "
XFilterEvent returns: False

KeyPress event, serial 34, synthetic NO, window 0x5e00001,
root 0xab, subw 0x0, time 18104777, (-322,446), root:(1549,750),
state 0x0, keycode 60 (keysym 0x2e, period), same_screen YES,
XLookupString gives 1 bytes: (2e) "."
XmbLookupString gives 1 bytes: (2e) "."
XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x5e00001,
root 0xab, subw 0x0, time 18104953, (-322,446), root:(1549,750),
state 0x0, keycode 60 (keysym 0x2e, period), same_screen YES,
XLookupString gives 1 bytes: (2e) "."
XFilterEvent returns: False
...

All four buttons corresponds to keyborad press and release events. The first two are page-up and page-down. The third one is toggling between F5 and ESC. The last one is period.

I don’t seem to be able to make send me mouse events.Still not surprised.

Testing it

It just works. Plug it in, start LibreOffice Impress and start using it. The toggling makes sense since F5 is start presentation and ESC is to stop it. It also works in Evince with PDF files.

Advertisements

Written by moozing

November 23, 2011 at 09:00

Posted in Tech

Tagged with , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: