Category Archives: Linux

Making a Wacom A6 ArtPad (KT-0405-R) work on Ubuntu 9.04

A couple of years ago, I picked up a Wacom A6 ArtPad at a computer fair for very little cash (I think it was about £5 or £10) sans power supply, and it’s been sitting gathering dust since I upgraded my PC and lost the serial port. Sadly it doesn’t work on 64-bit Windows XP (no drivers). Well, I’m using Linux now, so I figured, why not make the ArtPad work again?

(I also intend to learn to draw “at some point in time” — that may take a while…)

Anyway, on with the show!

You will need:
– A6 ArtPad, pen and power supply (I used a £10 Maplin switched-mode power supply — you need 12V DC, centre negative, and the orange-coloured round tip)
– FTDI-based USB-to-serial cable. I used one of FTDI’s “evaluation kit” cables, the US232R. This is optional if your PC’s motherboard has a serial port.

Procedure:
First you need to get the Artpad connected to the PC. If you have a proper, motherboard or PCI-mounted serial port, use it — the latency on those is streets ahead of the USB-to-serial converters. Skip the next step if you managed to find a serial port.

The default latency on the FTDI converters is 16 milliseconds or “whenever the buffer’s full”. If we leave the latency this high, you’ll notice a lot of lag (delay) between moving the pen and the cursor updating. That’s a bad thing. So let’s make the machine drop the latency to minimum when it initialises the adapter…

First we need to know the USB ID and serial number of the adapter. It’s usually 0403:6001, but it may be different. Let’s find out… Open a terminal, then enter the following command:

lsusb

You’ll see something like the following:

Bus 001 Device 030: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Look for the line that references the FT232 (it’s easier if the FT232 adapter is the only USB device plugged in), then write down the Bus and Device numbers, and the ID. Now we need the serial number. This is where it gets a bit hairy… In the same terminal, enter this command:

lsusb -v -s 1:30

You need to replace “1:30” with the bus and device numbers (in my case, this is Bus 1 and Device 30), but with the leading zeroes trimmed. That means Bus 001 becomes Bus 1, and Device 030 becomes Device 30. Put those two numbers together, and you get “1:30”.

This should output something like this:

Bus 001 Device 030: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0403 Future Technology Devices International, Ltd
idProduct 0x6001 FT232 USB-Serial (UART) IC
bcdDevice 6.00
iManufacturer 1 FTDI
iProduct 2 US232R
iSerial 3 FTDN3G52
bNumConfigurations 1

(trim lots of stuff)

Note the ‘iSerial’ value — ignore the number “3”, but write down the string next to it (“FTDN3G52″ in my case).

Now open a terminal, then enter the following command:

gksudo gedit /etc/udev/rules.d/99-wacomtablet.sh

You’ll be asked to enter your logon password — do so, then click OK and Gedit will open. Paste the following text into the file:

~~~
# Set the Wacom tablet’s latency timer to 1ms (stops all that nasty jittering and cursor lag)
SUBSYSTEM==”usb-serial”, ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6001″,
ATTRS{serial}==”XXXXXXXX”, PROGRAM=”/bin/sh -c ‘echo 1 > /sys%p/latency_timer'”, SYMLINK+=”ttyARTPAD”
# Assign a symlink to make things a little easier
KERNEL==”ttyUSB[0-9*]”, ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6001″, ATTRS{serial}==”FTDN3G52″, SYMLINK=”ttyARTPAD”
~~~

Now you need to edit the USB IDs. Replace “0403” and “6001” with your USB-RS232 dongle’s Vendor and Product IDs (respectively), and replace XXXXXXXX with your dongle’s serial number. Save the file, and close Gedit.

Lastly, we need to modify the X11 configuration a little. Enter these commands in a terminal:

cd /etc/X11
sudo cp xorg.conf xorg.conf.default
gksudo gedit xorg.conf

Copy this text into the file:

~~~~
Section “InputDevice”
Driver “wacom”
Identifier “stylus”
Option “Device” “/dev/ttyARTPAD”
Option “Type” “stylus”
EndSection

Section “InputDevice”
Driver “wacom”
Identifier “eraser”
Option “Device” “/dev/ttyARTPAD”
Option “Type” “eraser”
EndSection

Section “InputDevice”
Driver “wacom”
Identifier “cursor”
Option “Device” “/dev/ttyARTPAD”
Option “Type” “cursor”
EndSection

# yes, this really *is* necessary for the wacom
# remove it if the wacom tablet is removed
Section “ServerLayout”
Identifier “Default Layout”
Screen “Default Screen”

InputDevice “stylus” “SendCoreEvents”
InputDevice “eraser” “SendCoreEvents”
InputDevice “cursor” “SendCoreEvents”
EndSection
~~~~

Be careful — you will need to add the InputDevice sections to xorg.conf, but if you already have a ServerLayout section, don’t add a second one. Instead, copy the InputDevice lines from the ServerLayout section above into the existing ServerLayout section in your xorg.conf file.

Once you’re finished, save the file and close gedit. Plug the ArtPad in (power to the ArtPad, RS232 from the ArtPad to the dongle, then USB from the dongle to your PC) and reboot.

Lastly, configure GIMP and Inkscape to use pressure sensitivity — there’s more information about doing this [here](http://ubuntuforums.org/showthread.php?t=25151).

Enjoy!

First impressions on Ubuntu 9.04

After swearing that I’d give up on Windows since I started using Ubuntu, I’ve finally taken steps towards my goal. This morning, I hosed my Ubuntu 8.10 install and decided that it was high time I tried 9.04. After all, it’s been around for a good three months, so it should be pretty stable.

Well, it turns out it is stable. Just as good as its predecessor (8.10) in fact. I used the Alternate (text mode) installer because my system uses a FakeRAID, and said FakeRAID was detected with absolutely no problems whatsoever. In fact, the only way I could tell it was using a fakeraid was the prompt that asked me if I wanted to enable the FR volumes. Very nice.

First boot took less than 30 seconds, and the little bit of configuration I needed to do (installing the nVIDIA drivers and some security updates) took about 10 minutes. Most of which was the time it took to actually download the stuff… Installing build-essential, debhelper, Mercurial, Subversion, a few video plugins, and Kaffeine was just as breezy. And I killed off Compiz. Sorry, if I wanted Vista, I’d have gone to CCL, bought a copy and installed it.

There are a few things I don’t like, though. Most of them are to do with the app bundle included with GNOME…

* **The default media player (Totem) can’t handle DVB.** Despite the options in the menu, the DVB functions in Totem just plain don’t work. I think I spent a good half hour trying to make it work, got a channel list, but couldn’t get it to actually play video. I gave up, removed Totem and installed Kaffeine instead (which took five minutes or so to do a full scan of the local Freeview muxes, then displayed BBC One as its starting act, complete with EPG).
* **Sound-juicer seems to have “problems”.** Clicking “Help” in the Edit Profiles window makes sound-juicer exit with neither rhyme nor reason. Poof, gone.
* **Sandisk Sansa isn’t detected.** Pretty much as it says. 9.04’s kernel doesn’t detect my brother’s Sansa e280 media player. Meaning he’s cheesed off because I can’t copy bits of my music collection onto it for him to listen to.

On the plus side:

* The GNOME interface still looks pretty spiffy. One quick-access bar and system tray, one window list and desktop-switcher. Not a single bit of wasted space. Turning subpixel anti-aliasing off did clean it up a bit, though (white text in the Terminal gained a light blue tinge — turning SPA off fixed this).
* Rhythmbox seems to have improved a lot since the days of 8.04 — in fact, it resembles an earlier version of Amarok 1.4. I can’t actually see any point in installing Amarok any more…

So a bit of a mixed bag really… I like 9.04, but I’m going to be leaving 8.10 on my Eee until I can find some updated ACPI scripts and packages for it. I really don’t fancy installing Netbook Remix…

Kubuntu -> Ubuntu, stage one complete…

Well, the upgrade from Kubuntu 8.04.1 LTS to 8.10 was fairly painless. I’ve lost the Eee OSD and ACPI script fixes I applied, and the installer rather helpfully removed the Array.org kernel, so I can’t use the WiFi on my Eee 1000H any more. Those are easy to fix, though.

KDE4.1 is… well… awful. It’s redlining the CPU and thrashing the HDD quite badly (on a 1.6GHz Intel Atom N270 with 2GB RAM no less). The UI is slow. Slow, slow, slow, slow, SLOW! I though the Vista beta in VMware Server was bad, but this takes the biscuit!

I like (some of) the eye-candy, but the plasmoids are completely over the top, and the random graphics glitches are awful.

Four and a half minutes from entering my password to actually being able to start an application.. Ugh.

Going cold turkey on KDE…

Those of you who know me in real life will probably know that I’ve been a KDE user since I started using Linux, back in the days of Mandrake (now Mandriva) 6.1. Wikipedia says that was 1999. Wow. Nearly ten years of Linux geekery… I feel old.

Since then I’ve used Slackware from about 2002 to 2004, then Fedora from ’04 to the back end of ’07. A very nice bloke by the name of Anthony Fielding then showed me the True Light of Ubuntu, and I adopted Kubuntu 7.10 on my desktop box. The one constant through all this was KDE.

Not anymore.

KDE4 is, in my opinion, a total joke. While I realise it’s still under heavy development, its default installation looks far too much like Windows Vista. The default taskbar colour scheme is awful (and KDE Control Centre won’t let you change it, at least not in 4.0 and not easily), and the speed on my Eee 1000H has gone from “reasonable” to “I could make a cup of tea before that finishes!”

I’ve been stubbornly sticking to Kubuntu 8.04.1 LTS (seeing as that’s the last KDE3 release) and lamenting the relative lack of updates to the Intel graphics drivers (which apparently fix a nasty bug that causes the VGA-out to cut out after an hour on 1000Hes, necessitating the use of the internal LCD or a reboot)… This evening I installed Ubuntu 8.10 on an 8GB Cruzer Titanium pendrive (which, incidentally looks awful by comparison to the earlier 2GB Titanium — Sandisk, what are you doing?) and spent a few minutes playing with Gnome.

I’m in love.

Again.

But even though I’m ditching KDE, I’m keeping Amarok. And maybe Kaffeine… Somehow Rhythmbox doesn’t quite suit the way I listen to music, and as for Kaffeine.. well, it’s just about the only Linux video player I can find that handles DVB correctly (as in: gives me a channel list instead of asking for frequencies, QAM constellation types and symbol rates).

Fine! I’ll build my *own* kernel…

Well, my PVR box is set up. It’s running Mythdora 4, with some customisations:

1. **Patched, older kernel** – the stock Fedora Core 6 2.6.18 kernel with the GRML kernel patches (from [GRML’s Mercurial VCS](http://hg.grml.org/grml-kernel/archive/3abf902cffd4.tar.bz2) in the /2.6.18 patches; you want 400?_net-r8169*.patch)
2. **HVR3000 driver modules** – Steve Toth’s HVR3000 driver kit, from [LinuxTV.org’s Mercurial VCS](http://www.linuxtv.org/hg/~stoth/hvr3000) with one small patch — in v4l/config-compat.h, make the line `#include ` read `#include ` instead. The analogue tuner *still* doesn’t work in MythTV though. But I don’t care because DVB seems to work fine.
3. **New ATI FGLRX drivers** – The latest version of the ATI FireGL/Radeon For Linux driver kit. Mythdora’s driver is *old*.
4. **Rebuilt IVTV and LIRC RPMs** – the standard AtRPMs RPMS, rebuilt for the new kernel
5. **A few bootscript patches** – to get *cx88_dvb* to load on boot, and to set up a few symlinks in /dev to allow Myth to access the DVB-S satellite tuner

RPMs coming soon, right after I get all the mess sorted out. The HVR3000 is a real bastard to get working on Linux, that’s for sure, and the analogue tuner seems to misbehave a lot (MythTV certainly didn’t find any channels)…

“More at ten…”

Yes, I am going to write a HOWTO. Not a good one, but a HOWTO anyway.

Getting around the “geronimo-specs” dependency issue on FC6

Seems WordPress butchered the command line I posted — I’ve turned off WYSIWYG Editing and fixed the bug. Thanks to Tim Petrowsky for pointing this out.

Problem: On Fedora Core 6 (and probably Core 5 too), if you enable the JPackage repositories and run a ‘yum update’, Yum will fail with the following error:

Error: Missing Dependency: geronimo-specs = 1.0-0.M2.2jpp.12 is needed by package geronimo-specs-compat
Solution:

At a root shell, enter the following commands:

# rpm -e –nodeps geronimo-specs-compat

# yum install geronimo-specs

(optional) # yum update

Guess how long it took me to figure this out…