Tuesday, March 9, 2010

Linux and epson DM-D110 Display

In a project we had to switch over from a Windows XP based environment to a Linux based Pos system.

All components did work just fine (almost out of the box).
The main problem was the LineDisplay used to display the information to the clients.

It is a Epson DM-D110 with USB interface.
There is no linux driver available for that device from epson :(

So the lsusb command did show this:

Bus 003 Device 003: ID 1208:0780

Ok, no driver loaded for that usb device. I did google arround, but did only find a reference in the openbravo project, about using the usbserial module for that device.
We did some tests, but where not able to get it working.

After some more googling and looking at the windows drivers we did find out, that the chipset was in fact a ftdi with customized vendor and device id.

So after some trial and error we got it working by loading the ftdi kernel module for that device.

modprobe ftdi_sio vendor=0x1208 product=0x0780

This did create a /dev/ttyUSB0 which we then could use to communicate with the device.
To automate the module loading on plug events, just create a new file in /etc/udev/rules.d

File: 50-udev-default.rules
SYSFS{idProduct}=="0780", SYSFS{idVendor}=="1208", RUN+="/sbin/modprobe -q ftdi_sio product=0x0780 vendor=0x1208"


This website has some more info on this:

http://www-user.tu-chemnitz.de/~sontag/sprog.html

For a solutions also working with 3.12 and newer kernels, please read on here.