UD-160-A automatic driver download and install via Windows Update

Posted on 21. Feb, 2010 by Bernie Thompson in Windows

Here’s the result when you connect the Plugable UD-160-A universal laptop docking station to a completely fresh Windows 7 system:

  • Windows automatically finds, downloads, and installs drivers for all the devices on the dock — the built-in USB C-Media audio, ASIX ethernet, DisplayLink graphics functions are all supported.
  • *NO* driver disks to find, no web addresses to enter, nothing – you get the latest drivers automatically.
  • This will work with the Plugable dock and any Windows 7 machine, now and in the future.

If you have Windows Update enabled on Vista and Windows XP – the story is the same (although Microsoft’s UI looks different on each OS). So go ahead, lose your driver disks — just get that off your mind. You won’t need them. Cool.

Emacs macro to ease the pain of checkpatchitis

Posted on 19. Feb, 2010 by Bernie Thompson in udlfb

In order to submit patches to the Linux kernel — as I’ve been doing lately to help improve Linux’s DisplayLink driver udlfb — the changed code has to pass a script called checkpatch.pl, which flags violations of the Linux kernel style guidelines.

Style wars (e.g. “tabs vs. spaces”) are a never-ending source of tension on projects, so I actually appreciate automation like checkpatch.pl to just lay down the law, and be done with it.

But .. having to sift through endless warnings when you run checkpatch.pl late in the development process is frustrating. And there’s no way most occasional kernel patchers will remember all the rules (especially if you strongly disagree with some of them — which I do). It’s much better if your editor can just warn you when you step off the golden path of enlightenment. I use emacs, so I looked around for solutions, but they were only incomplete, or not real-time (e.g. checkpatch.pl has an –emacs option to run in the compile window of emacs).

So here’s something a little less incomplete that I’ve added to my .emacs file to catch the majority of checkpatch.pl errors in real-time (by highlighting the offending code in red). Works only on recent emacs versions. Hopefully it’ll be useful to others pounding away on their patches.

;; *** BEGIN highlight checkpatch.pl warnings and errors ***
(add-hook 'c-mode-common-hook
    (lambda ()
      ;; this sets defaults to match many checkpatch.pl guidelines
      (c-set-style "linux")))
;; but doesn't warn us about violations these regexp catch common ones
(custom-set-faces
    '(my-warning-face ((((class color)) (:background "red"))) t))
(add-hook 'font-lock-mode-hook
    (function
        (lambda ()
            (setq font-lock-keywords
                (append font-lock-keywords
		    '(("^.\\{81\\}" (0 'my-warning-face t)))
                    '(("\\/\\/.*" (0 'my-warning-face t)))
                    '((";[_A-Za-z0-9]+" (0 'my-warning-face t)))
                    '((",[_A-Za-z0-9]+" (0 'my-warning-face t)))
                    '(("return[[:blank:]]*(.+);" (0 'my-warning-face t)))
                    '(("([_A-Za-z0-9]+[\\*]+)" (0 'my-warning-face t)))
                    '(("[[:blank:]]+\\)"(0 'my-warning-face t)))
		    '(("^[[:blank:]]+{[[:blank:]]*$" (0 'my-warning-face t)))
		    '(("[_A-Za-z0-9]+\\*[[:blank:]]" (0 'my-warning-face t)))
		)))))
;; exercise to reader - move regexps into c hook
;; *** END highlight checkpatch.pl warnings and errors ***

Any enhancements or corrections are welcome.

9 USB displays illuminate energy security

Posted on 26. Jan, 2010 by Bernie Thompson in udlfb

Here’s a great application for USB displays.

Hal Glenn from 2G Engineering has created an information display (on energy security and alternative methods of energy generation) with 9 USB touch screens, all running off a single Mac Mini running Ubuntu 9.10. And all using the available open source DisplayLink drivers and scripts and info at displaylink.org.

Doing this without USB displays would

  • Require a big desktop box to support several PCIe graphics cards
  • Would have triple the cords – Hal’s setup runs a single USB cable to each display. With VGA, you’d still need the USB cable (for touch function), but then would also need VGA and power to each!
  • Would consume much more power – which would be kind of embarrassing for an energy security display, wouldn’t it?

Hal’s setup builds on and extends some of the USB terminal scripts demoed during this talk at Linux Plumbers Conference 2009.

There are several reasons why this demo is easiest on Linux, one of which is by default, DisplayLink devices are limited to 6 displays on Windows and Mac. The Linux drivers have no limit, so you can connect as many displays as you like — keeping in mind you’re sharing a 480Mbs bus (that itself has a 127 device limit). But it is enough for the apps Hal is running on those nine 800×480 touchscreens.

It will be interesting to see how many screens people get up to for various applications.

Page 5 of 9« First...34567...Last »