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.
- this page deals with connecting a linux4media e-5i usb display module to an usb port and drive it using
serdisplib
- i'm not responsible for the content of external web pages
- external web pages will generally open in separate browser windows or tabs
- english is not my native language. please keep that in mind (corrections of english grammar and formulations are very welcome!)
- email: mrwastl at users.sourceforge.net
linux4media e-5i usb display module:
description
e-5i usb display modules are developed by www.digitaldevices.de.
the package that was sent to me contained the following items:
the USB module registers with three USB interfaces when connected to a UNIX system:
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
test image generated by testserdisp |
output generated by multidisplay |
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.
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)
- the display-part of the USB module is assigned to the HID support of the operating system and can be controlled using ioctl-calls
- the device name that is assigned to the display interface is
/dev/hiddev
X or/dev/usb/hiddev
X. - using udev or hotplug, permissions can be assigned to the device to give access to non-root users
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 lcd4linuxDisplay SerDispLib { Driver 'serdisplib' Port 'HID:/dev/hiddev0' Model 'L4ME5I' }configuration in graphlcd[serdisp] Driver=serdisp Device=HID:/dev/hiddev0 Controller=l4me5icalling test program testserdisptestserdisp -n l4me5i -p '/dev/hiddev0'
top ^
passing options through serdisp_init():
intro
using the third parameter of
common information about passing options and customisable wiring can be found in a separate document.
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
identifier | short | remark | default |
---|---|---|---|
ROTATE | ROT | rotate display (1 == 180 degrees) | 0 |
INVERT | INV | invert display | 0 |
ranges, aliases
identifier | range | aliases |
---|---|---|
ROTATE | 0, 1, 90, 180, 270 | YES=180, NO=0, TRUE=180, FALSE=0 |
INVERT | 0, 1 | YES=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 ^
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 ^