using a mimo um-710 on linux (displaylink) with udlfb driver
In walks the mimo, it’s a usb connected display, we found drivers for it here. You can extend your X desktop onto the screen using the supplied drivers, but we only wanted to display one image at a time on the screen. We opted to use a combination of tools to just cat data directly to the framebuffer device, and yes this incredibly silly arrangement actually works. Here is the script we are using, we hope to replace this with something compiled later.
#!/bin/sh
Hopefully useful to someone else out there….
SIZE='800x480!'
RESIZED=`mktemp -u /tmp/XXXXXXXX`.png
CONVERTED=`mktemp /tmp/XXXXXXXX`
if [ xxx${FRAMEBUFFER}xxx == 'xxxxxx' ]; then
FRAMEBUFFER=/dev/fb0
fi
CURRENT=/var/www/lighttpd/assets/current.jpg
while [ 1 ]
do
convert -resize $SIZE $CURRENT $RESIZED
mkdfiff -f RGB16 $RESIZED > $CONVERTED
dd if=$CONVERTED of=$FRAMEBUFFER bs=1 skip=24
sleep 30
done
Here is our (Ben Rose and I) first attempt at a C version of the above… framebugger.tar.bz2
/* read color value from pixel (left->right, up-> down) then convert
* from RGB32 to RGB16 using code from directfb */
for (j = 0; j < gdImageSY(gdPtr); j++) {
for (i = 0; i < gdImageSX(gdPtr); i++) {
c = RGB32_TO_RGB16(gdImageGetPixel(gdPtr, i, j));
fwrite(&c,2,1,fbout);
}
}



October 8th, 2009 at 13:02
Hi,
Any info about the touchscreen? Does it require a special driver? Can you show the lsusb output with this display plugged in? Thanks
October 9th, 2009 at 04:56
Ours is a 710, the touchscreen is a 740. I think the 740 also has a webcam…so we don’t have any information on the touchscreen version :-( Sorry…
[root@door ~]# lsusb |grep New
Bus 006 Device 002: ID 17e9:401a Newnham Research
Bus 003 Device 002: ID 17e9:401a Newnham Research
[root@door ~]# lsusb -v -s 003:002
Bus 003 Device 002: ID 17e9:401a Newnham Research
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0×17e9 Newnham Research
idProduct 0×401a
bcdDevice 0.07
iManufacturer 1 DisplayLink
iProduct 2 nanovision MiMo
iSerial 3 USM700-8c010008
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 57
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0×01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0×0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0×82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0×0008 1x 8 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 29
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0×85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0×0010 1x 16 bytes
bInterval 4
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0×0000
(Bus Powered)
January 7th, 2010 at 23:00
Thank you for putting this up. I found the script quite useful.