linux4media e-5i (usb display module)

disclaimer / info:

DISCLAIMER:
THIS IS EXPERIMENTAL SOFTWARE AND HARDWARE. USE AT YOUR OWN RISK. THE MAINTAINER(S) OF THESE PAGES AND THE DEVELOPER(S) OF SOFTWARE AND HARDWARE PRESENTED ON THESE PAGES CAN NOT BE HELD LIABLE UNDER ANY CIRCUMSTANCES FOR DAMAGE TO HARDWARE OR SOFTWARE, LOST DATA, OR OTHER DIRECT OR INDIRECT DAMAGE RESULTING FROM THE USE OF THIS SOFTWARE OR HARDWARE. IF YOU DO NOT AGREE TO THESE CONDITIONS, YOU ARE NOT PERMITTED TO USE OR FURTHER DISTRIBUTE THIS SOFTWARE OR TO USE ANY TEMPLATES FOR BUILDING HARDWARE PRESENTED HERE.

linux4media e-5i usb display module:

description

e-5i usb display modules are developed by www.digitaldevices.de.
[l4me5i parts] the package that was sent to me contained the following items:
  • a very impressive remote control with keyboard and virtual mouse
  • display module (128x64)
  • USB module 'E-5i' with IR-sensor

the USB module registers with three USB interfaces when connected to a UNIX system:

  • interface 0: mouse
  • interface 1: display
  • interface 2: keyboard
both mouse and keyboard worked just fine out of the box without the need of additional configuration (tested on linux-systems).

interface 1 (display) is assigned as HID (human interface device) and can be driven using ioctl-calls without the need of additional kernel modules.

specifications
resolution 128x64
colours monochrome
controller display: PG12864Q (controller SED1565) + Cypress CY8C24894 USB microcontroller
adjustable contrast no
extra features IR-sensor; USB chip interfaces as USB keyboard and mouse (if an applicable remote-control is used)
name in serdisplib "L4ME5I"       (example: serdisp_init(sdcd, "L4ME5I", ""); )

some images

[l4m e5i testserdisp] [l4m e5i multidisplay]
test image generated by testserdisp output generated by multidisplay
[l4m e5i graphlcd] [l4m e5i lcd4linux]
output generated by graphlcd lcd4linux output running on an NSLU2 (architecture: arm)
top ^

ATTENTION! - important notes

problems with mouse and keyboard support

It seems that on some linux systems the HID-subsystem has big problems with the keyboard and mouse functionality of the remote control.
There is no solution to work around this so far.

kernels tested by me:

  • no problems:
    • 2.6.22.5-76.fc7 (fedora 7)
    • 2.6.12-1.1381_FC3 (fedora core 3)
  • unusable:
    • 2.6.20-1.2320.fc5 (fedora core 5)

problems with libusb:

libusb will be de-activated starting with serdisplib v.1.97.8 and should NOT be used with v.1.97.7 because of too many problems on linux (there seem to be severe problems when using libusb together with cypress-chips on linux).
top ^

connecting an E-5i USB display module:

intro

the E-5i is a multifunctional USB device and may be driven either using the HID support provided by the operating system (linux only) or by using libusb (de-activated).

ioctl HID (provided by the linux kernel)

nota bene
on some distributions, /dev/usb/hiddev0 is used instead of /dev/hiddev0
'HID:' can be omitted if the devicename starts with /dev/hiddev or /dev/usb/hiddev.
examples
configuration in lcd4linux
 Display SerDispLib {
   Driver 'serdisplib'
   Port 'HID:/dev/hiddev0'
   Model 'L4ME5I'
 } 
configuration in graphlcd
 [serdisp]
 Driver=serdisp
 Device=HID:/dev/hiddev0
 Controller=l4me5i
calling test program testserdisp
 testserdisp -n l4me5i -p '/dev/hiddev0'
top ^

passing options through serdisp_init():

intro

using the third parameter of serdisp_init(), driver specific options and custom wiring can be set.
common information about passing options and customisable wiring can be found in a separate document.
    examples:
    
      serdisp_init(sdcd, "L4ME5I", "INVERT=YES");
      serdisp_init(sdcd, "L4ME5I", "ROTATE=90");
    

options

identifiershortremarkdefault
ROTATEROTrotate display (1 == 180 degrees)0
INVERTINVinvert display0

ranges, aliases

identifierrangealiases
ROTATE0, 1, 90, 180, 270YES=180, NO=0, TRUE=180, FALSE=0
INVERT0, 1YES=1, NO=0, TRUE=1, FALSE=0
top ^

links:

datasheets, product infos
digitaldevices.de home page of the creator of the module (german) http://www.digitaldevices.de
top ^

thanks:

special thanks go to
donating a display  *  www.digitaldevices.de
top ^

history:

2008-07-13 added notes on libusb-problems and commented libusb configuration notes and examples
2008-05-15 additional notes added (and moved to separate section)
2008-03-29 notes added on problems w/ some linux kernel versions
2008-01-11 removed a bug in the sample configuration for graphlcd / ioctl (thanks to uwe from vdr-portal for pointing this out)
2007-10-10 first release
top ^

design by wolfgang astleitner, (C) 1998 - 2008