How to get Lilliput DisplayLink based USB Monitor UM-70 (17e9:02a9) working in Ubuntu Linux

Recently I got a DisplayLink based 7″ USB Monitor manufactured by Lilliput. The model is UM-70, which supports 800×480 resolution. It works without any external power. It takes power and graphics data from USB port. It has built-in Graphics chip from DisplayLink. Here is how I got it working in Ubuntu 10.04.

Step-1. Fresh Ubuntu 10.04 installation (kernel 2.6.32-21) and login to desktop.

Step-2. Plugged in Lilliput DisplayLink based USB Monitor UM-70.

$ lsusb
………
Bus 002 Device 003: ID 17e9:02a9 Newnham Research
………

The above console output shows DisplayLink (Formerly Newnham Research) Vendor ID 17e9 and Product ID 02a9.

Lilliput DisplayLink Monitor UM-70


$ dmesg
……………………
……………………
[  351.100330] usb 2-2: new high speed USB device using ehci_hcd and address [  351.238167] usb 2-2: configuration #1 chosen from 1 choice
[  351.272857] udlfb: module is from the staging directory, the quality is unknown, you have been warned.
[  351.277059] DisplayLink device attached
[  351.277201] ret control msg 0: 4 1500fffffff1
[  351.379447] EDID XRES 800 YRES 480
[  351.379456] INIT VIDEO 0 800 480
[  351.380574] ret control msg 1 (STD_CHANNEL): 16
[  351.380748] ret bulk 2: 156 156
[  351.380851] ret bulk 3: 0
[  351.380856] found valid mode…34482
[  351.382136] screen base allocated !!!
[  351.383102] colormap allocated
[  351.390359] usbcore: registered new interface driver udlfb
[  351.390461] VMODES initialized

The above log shows that udlfb driver is loaded properly.

Step-3. Before doing any tweak, updating the Ubuntu to latest.

$ sudo apt-get update
$ sudo apt-get upgrade

The above upgrade involves Kernel upgrade to 2.6.32-23.

Rebooted the system with USB Monitor plugged-in.

Step-4. Got the GDM login screen on primary monitor. In USB monitor Ubuntu boot screen displayed (some times observed only a cursor at top left corner of display with black background). Pressed Ctrl+Alt+F1 to switch to console mode. It was nice to see console on USB monitor and graphical desktop on main primary monitor.

Many documents say that I should observe the green screen on USB monitor. But I did not see anything like that. This could be due to text console taking over the DisplayLink Framebuffer device (in my case it is /dev/fb1). So to overcome this I tried disabling fbcon (Framebuffer console) module and its dependents.

$ modinfo fbcon
filename:       /lib/modules/2.6.32-23-generic/kernel/drivers/video/console/fbcon.ko
license:        GPL
srcversion:     65B645FD36D989F537E4715
depends:        bitblit,font,tileblit
vermagic:       2.6.32-23-generic SMP mod_unload modversions 586

Note down the “depends” line in the above output and disable those modules including fbcon. To do this by creating /etc/modprobe.d/fbcon.conf file as root user.

$ sudo vi /etc/modprobe.d/fbcon.conf
Input the below four lines in fbcon.conf to blacklist them.
blacklist bitblit
blacklist font
blacklist tileblit
blacklist fbcon

$ sudo depmod -a
$ sudo update-initramfs -u

Reboot the system.

Still I found that text console appears on my USB monitor – it means the above method didn’t work in Ubuntu 10.04. So another alternative I tried as below which passes “vga=normal nomodeset” argument to kernel. This is done by editing the /etc/default/grub file as shown below.

………….
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash vga=normal nomodeset”
………….

$ sudo update-grub

Reboot the system. Now  I am able to see green screen now :-) . Console is disabled in USB monitor.

OK.. let’s go further now.

Note: Though we pass nomodeset in kernel command line, still you need /etc/modprobe.d/fbcon.conf file.

Step-5: Patch gdm initialization. Edit /etc/gdm/Init/Default as root user and add the following lines just below the end of function gdmwhich().

XRANDR=`gdmwhich xrandr`
if [ "x$XRANDR" != "x" ] ; then
$XRANDR -o 0
fi

Step-6: It is time to prepare your xorg.conf to get dual monitor side by side. Here is my /etc/X11/xorg.conf, which I got it arrived after a good number of trial and error.

# xorg.conf (X.Org X Window System server configuration file)

############ Original Video Settings ###########

Section “Device”
Identifier      “Configured Video Device”
Driver        ”intel”
EndSection

Section “Monitor”
Identifier      “Configured Monitor”
EndSection

Section “Screen”
Identifier      “Default Screen”
Monitor         “Configured Monitor”
Device          “Configured Video Device”
DefaultDepth    16
SubSection “Display”
Depth   16
Modes   “1280×800″
EndSubSection
EndSection

#################################################

Section “ServerLayout”
Identifier      “Server Layout”
Screen  0       “DisplayLinkScreen” 0 0
Screen  1       “Default Screen” RightOf “DisplayLinkScreen”
Option          “Xinerama” “Off”
EndSection

#################################################

Section “Files”
ModulePath      “/usr/lib/xorg/modules”
ModulePath      “/usr/local/lib/xorg/modules”
ModulePath    ”/usr/local/lib/xorg/modules/drivers”
EndSection

############### DisplayLink Stuff ###############

Section “Device”
Identifier      “DisplayLinkDevice”
driver          “displaylink”
Option  “fbdev” “/dev/fb1″
EndSection

Section “Monitor”
Identifier      “DisplayLinkMonitor”
EndSection

Section “Screen”
Identifier      “DisplayLinkScreen”
Device          “DisplayLinkDevice”
Monitor         “DisplayLinkMonitor”
DefaultDepth    16
SubSection “Display”
Depth   16
Modes   “800×480″
EndSubSection
EndSection

# End of xorg.conf —————–

Here is my xorg.conf to download.

  xorg.conf (1.6 KiB, 59 hits)

Restarted GDM.

$ sudo service gdm restart

Wow….! Got two X sessions :-) :-) . GNOME desktop on both USB Monitor and Main monitor (Laptop screen).

You may need my Xorg.0.log for your reference. I have given below my Xorg.0.log.

  Xorg.0.log (36.9 KiB, 36 hits)

I have given below xrandr output for both the X sessions and corresponding GTK RandR application (System -> Preferences -> Monitors) screenshot also for your reference.

$ xrandr –verbose
Screen 0: minimum 320 x 200, current 800 x 480, maximum 800 x 480
LILLIPUT USB Mo connected 800×480+0+0 (0×40) normal (normal) 160mm x 230mm
Identifier: 0x3f
Timestamp:  4787185
Subpixel:   horizontal rgb
Clones:
CRTC:       0
CRTCs:      0
Transform:  1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
EDID:
00ffffffffffff0031900120eb030000
2013010380101778ca54548f54599726
cb545400000001010101010101010101
010101010101540b208030e02d102830
7304000000000018000000fd00374118
2905000a202020202020000000fc0055
5342204d6f6e69746f720a0a00000010
00000000000000000000000000000028
800×480 (0×40)   29.0MHz -HSync -VSync *current +preferred
h: width   800 start  840 end  888 total  928 skew    0 clock   31.2KHz
v: height  480 start  503 end  506 total  525           clock   59.5Hz

$ xrandr –verbose
Screen 1: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192
VGA disconnected (normal left inverted right x axis y axis)
Identifier: 0×62
Timestamp:  4777845
Subpixel:   unknown
Clones:
CRTCs:      0 1
Transform:  1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
LVDS connected 1280×800+0+0 (0×64) normal (normal left inverted right x axis y axis) 0mm x 0mm
Identifier: 0×63
Timestamp:  4777845
Subpixel:   horizontal rgb
Clones:
CRTC:       1
CRTCs:      1
Transform:  1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
PANEL_FITTING:    full_aspect
supported: center       full_aspect  full
BACKLIGHT_CONTROL:    kernel
supported: native       legacy       combination  kernel
BACKLIGHT: 8 (0×00000008)    range:  (0,8)
1280×800 (0×64)   71.1MHz *current +preferred
h: width  1280 start 1328 end 1360 total 1440 skew    0 clock   49.4KHz
v: height  800 start  803 end  809 total  823           clock   60.0Hz

. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . .

Step-7: Though I got two X sessions successfully, I was not able to navigate my mouse from one screen to another. I understand from googling that there is a tweak application available at http://digamma.cs.unm.edu/trac.dmohr/wiki/DualscreenMouseUtils to get this done. I downloaded the dualscreen-mouse-utils-0.5.tar.gz from here, extracted and run make. It generated mouse-switchscreen and mouse-wrapscreen utilities. I need mouse-wrapscreen to wrap the mouse around both the screens. I run the mouse-wrapscreen in background (mouse-wrapscreen &) through System -> Preferences -> Startup Applications -> Startup Programs -> Add.  It is done. Mouse wraps around both the screen :-) .

Some of the test cases I have done:

1. It was found that Compiz was not working when I try to enable it through System -> Preferences -> Appearance -> Visual Effects -> Normal. X Server crashed and took me to GDM login screen. No problem, I don’t use compiz anyway. Please let me know if it works for you, so that I can give an update here.

2. While working on dual screen, I unplugged USB Monitor and found that X Server crashed and got the GDM login screen back. It was working fine with my main monitor (Laptop screen). Not bad.

3. Booting the machine without USB monitor – Only Laptop main screen works fine. No need to tweak any file.

4. Plugging-in USB monitor while working on Desktop: Just logout and login back. You are set with dual monitors :-)

References:

1. http://libdlo.freedesktop.org/wiki/
2. http://ubuntuforums.org/archive/index.php/t-1493143.html
3. http://mulchman.org/blog/?tag=displaylink





More posts in this category


7 Comments on “How to get Lilliput DisplayLink based USB Monitor UM-70 (17e9:02a9) working in Ubuntu Linux”

You can track this conversation through its atom feed.

  1. Jim March says:

    OK, this is officially WAY COOL. One huge question: does video playback work even moderately well? Say, using VLC to play back an AVI at a resolution near the native res of the USB monitor?

  2. Baby Monitors : New Ways to Care for and Play With your Baby | babymonitors | betterbabymonitor.com says:

    [...] How to get Lilliput DisplayLink based USB Monitor UM-70 (17e9:02a9 … [...]

  3. Rest Easy With a Multi-feature Baby Monitor | babymonitors | betterbabymonitor.com says:

    [...] How to get Lilliput DisplayLink based USB Monitor UM-70 (17e9:02a9 … [...]

  4. rombo says:

    You could also try getting an o2 joggler – touchscreen device which runs linux variants and software with a friendly community around it. check out http://www.jogglerwiki.info/index.php?title=Main_Page

  5. Jauhm Jaumas says:

    Merci, J’ai trouv� cet article tr�s int�ressant, les article sont tr�s bien r�dig� ! Bonne continuation. I like this

  6. Juliano says:

    Hi,
    I followed the steps above but after reboot, only get blank screen on both notebook and LCD Monitor plugged with one DisplayLink adapter.

    I put the notebook screen as the primary and this happen.

    On the DisplayLink monitor, only appears a cursor at the top left. Don’t blink.

    When i put the DisplayLink as the primary screen, i get the console messages during boot process, but it stops when i belive that X comes up. No image on notebook screen.

    At that moment, if i try other TTY, it works well on the DisplayLink Monitor.

    Could you help me solve the issue ?

    Thank’s.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

RSSSubscribe to Comments on this post



Educate Elevate!

Well said!

If you have to gain all these other "soft skills" or business skills in order to just be a regular software engineer, then why keep working for someone else? One of the main reasons for being an employee is because it's (supposed to be) both easier and safer than striking out on your own. Instead of long hours and having to wear many hats, you can just concentrate on your own skill, and leave the business stuff to the people who specialize in that. Anyone familiar with the idea of specialized labor should understand this. The downside is (supposed to be) your pay is lower than it could potentially be by owning and operating your own business. If today's corporations want their regular rank-and-file employees to wear many hats, be multi-talented, and have a lot of business skills, then they're simply not doing their own jobs correctly. - Grishnakh (Slashdot user)

Archives

Google Page Rank

Creative Commons License
Black God by KaruppuSwamy Thangaraj is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at www.karuppuswamy.com.
Permissions beyond the scope of this license may be available here