A T60 It Is

Whilst in the US, I took receipt of the new laptop that I’d had sent to Sarah’s folks’ address. It’s an IBM Thinkpad T60, following on from my last laptop, a T43.

I’ve been a Thinkpad user for the last seven years now. Before that, I had a Toshiba laptop from the company I was working for at the time. All of these laptops have had in common that they provide a Trackpoint as a pointing device. I tried to get to grips with a Touchpad a few years ago, but just couldn’t adjust to it.

So, given my adeptness with the Trackpoint, it was natural to go looking for a machine that had one. I didn’t want to have to learn new work practices unless they offered the suggestion of greater productivity (unlikely, since most of my time at the computer is spent thinking what I’m going to do next).

That left me looking at Thinkpads, plus selected models from Toshiba and Sony, since almost no-one else offers machines with Trackpoints. Everyone else offers only a Touchpad.

Try as I might, I couldn’t seriously entertain the higher end Sony models that carry a Trackpoint. There’s just too much proprietary hardware inside and it’s doubtful whether most of it works or will ever work with Linux. I don’t like to pay for things I can’t use, so that alone was pretty much enough to rule out the Sony as an option. On top of that, however, there’s the issue of poor battery performance and the question of machine reliability as a whole.

So, to the Toshibas. What can I say? They just didn’t excite me and a friend warned me off them, even though the one I used eight years ago was a good machine. I saw no immediate advantage to them over a Thinkpad and, since I’m less familiar with them, there’s the potential for nasty Linux-compatibility surprises.

I was then attracted to the Apple Macbook Pro, because of its beautiful 17″ screen. However, some serious shortcomings immediately put me off:

I’m not on the move with my laptop very much these days, so poor battery performance is something I could probably make do with.

Being able to use a laptop on top of my lap, however, is something very important to me. I principally use my laptop on the couch and I don’t want to use one of those breakfast-in-bed style tray stands, so a tolerable running temperature is essential to me.

Similarly, the absence of a Trackpoint is almost insurmountable for me, but the one button mouse makes things even worse. Real mice have three buttons: no exceptions. Many X applications work well only with a three button mouse; even a two button mouse with third button emulation is a pain in the arse. A one button mouse means that one has to use keys in combination with mouse clicks to drive applications and what typist wants that? No, in spite of its reputation for having a great user interface, as far as I’m concerned, a Mac is and always has been an ergonomically handicapped machine.

So why consider a Macbook Pro at all?

Well, as I said before, the 17″ LCD screen is stunning and I love the MagSafe power connector that jhttp://www.apple.com/macbookpro/design.html just pulls right out of the computer when tugged. That makes it highly babyproof and tripproof. Wrenched power connectors have ruined two otherwise good laptops that I’ve used in the past.

The fact that Thinkpads are poorly available in this country was probably the major factor in favour of the Macbook. I would have to order the T60 overseas, but I could have the Macbook by walking into a shop and purchasing it over the counter.

And so it came to pass that I actually did visit the Apple shop with a view to purchasing a 17″ Macbook Pro. I had almost convinced myself I could learn to live with its many shortcomings, that I would learn new working habits and even purchase a lap stand in order to not bake my balls.

But in the end, as I was standing there in the shop, eyeing the thing, I just couldn’t help but think to myself, ‘What a pile of overpriced rubbish. What am I doing?’ I just knew it wasn’t the right decision and certainly not for that amount of money.

So, I biked home and ordered a T60 on-line a couple of days later, a considerably superior machine for around €400 less. Granted, it doesn’t have the 17″ screen, but the extra two inches just don’t matter to me; not when you weigh up all of the other sacrifices I’d be making to get them.

I installed the system whilst in Providence and now have a dual-boot Fedora Core 5/Windows XP system. I didn’t want to bugger around with fiddly Linux tools for the partitioning (for one thing, the copy of XP that comes with the laptop has no installation media — the installation files are in their own partition on the hard drive, so a slip-up can be fatal), so I went against the grain and purchased Acronis’ Disk Director Suite for Windows XP by electronic download. It’s actually a very nice piece of software. I had tried the free trial version first, but it wouldn’t commit the changes I had made, so I was forced to purchase it.

The machine I’ve bought has a scaleable 2.33 Ghz Core Duo T2700 CPU, 100 Gb 7200 RPM SATA-150 hard drive, built-in 802.11a/b/g WiFi card, a DVD-RW drive, 2 Gb RAM and a 9 cell battery. Those are the configurable options that can be purchased to suit one’s own needs. Non-configurable options include Bluetooth, a fingerprint scanner, ATI Radeon X1400 graphics, Analog Devices sound and Intel gigabit Ethernet.

Most importantly, there’s a Trackpoint, but even the Touchpad is useful, as the Synaptics driver allows circular-scrolling, which is even better than Apple’s two-finger scroll.

Most things were easy to get working and are supported directly by FC5. Ease of configuration was greatly helped by Joshua David Starmer’s excellent T60 installation guide and the equally excellent ThinkWiki wiki.

Components that needed some effort were:

  • Hardware accelleration of the ATI Radeon graphics chip.

  • The ipw3945 802.11a/b/g card.

  • The fingerprint scanner.

Of all of those, the fingerprint scanner was the only truly awkward thing to get running properly.

To get this device working at all, one must install UPEK’s TouchChip TFM/ESS FingerPrint BSP (Biometric Service Provider). One also needs the BioAPI libraries, plus pam-bioapi in order to interface with PAM, Linux’s authentication framework. These latter two packages appear to be poorly if at all maintained at the moment.

Anyway, once all of those are compiled and installed, one can mess around with the PAM configuration files and require use of the fingerprint scanner for authentication. I soon had su and sudo working, plus gdm for logging in to X. Log-in at a virtual console also works as expected and the net result is quite impressive when you’re not used to it.

gnome-screensaver was another matter, however. The fact it doesn’t run as root is problematic, so I had to download a newer version with code to work around the issue (at least 2.15.3), sort out the dependencies and compile it. That eventually worked, but then I noticed that gnome-screensaver would no longer scan fingerprints after the laptop had resumed from a suspension. To fix that, I found I needed to add the following udev rule:

BUS==”usb”, DRIVER==”usb”, SYSFS{product}==”Biometric Coprocessor”, GROUP=”bioapi”, SYMLINK=”misc/fingerprint”, RUN+=”/bin/sh -c ‘chown ianmacd /proc/$RESULT /dev/$RESULT'”

This ensures that ownership of the USB device corresponding with the fingerprint scanner is always set to me. It’s a hack, because it works only for the user ianmacd (me), but since I’m the only user of this system, I can live with a non-universal solution. Now gnome-screensaver consistently works, save for a minor display issue that I can’t get too worked up about.

I’m exceptionally happy with this new laptop and expect years of faithful service from it. I just wish Thinkpads were essier to obtain in this country. They do exist, but the dealers have a very poor selection and the prices are just plain silly. Luckily for me, I had a trip to the US coming up, so I was able to order one ahead of time and pick it up when I got there.

Posted in Technology | 3 Comments

Away From My Desk

I get on a plane to U, S and A tomorrow to be reunited with Sarah and Wiesje. It’s been a lonely ten days, but I’ve got a lot done while I’ve been on my own, so it hasn’t been too bad.

I’m looking forward to getting back to my girls, although it has to be said that I don’t relish the thought of the flight. Not only am I jaded by all of the flying I’ve done in the last few years, but there’s nothing to see and very little to do on board, plus all of the hassle and restrictions before you even make it down the gangway. In short, I wish I were taking the train somewhere or, for that matter, even the car.

Anyway, after just one day with her folks, we head up to western Maine for some llama trekking at the Telemark Inn with my step-sister and her family. The lodge looks really nice and I’m sure it’s going to be a lot of fun. The children will all have a wonderful time, I’m sure.

At the end of our stay, we’ll have another few days with Sarah’s family in Providence before returning home.

I’m not bothering to bring a laptop on this trip, so I’ll be pretty much incommunicado until 6th October. The break away from the computer will be at once healthy and trying, but that should add renewed vigour to my activities once we return.

Posted in Life | Leave a comment

UPC: Underpowered Products Continue

Having just about finished configuring our home-brew PVR/DVR, I was, of course, interested to see an announcement from UPC that they will soon be offering their own PVR/set-top box in one.

On the face of it, this might be reason to groan about the amount of time, money and energy I’ve invested in our MythTV box, but this is UPC we’re talking about, so let’s not groan too soon.

Serious shortcomings of the upcoming UPC PVR:

  • Capacity for a mere 65 hours of recordings.

  • Single-tuner unit: it’s not possible to record two programmes broadcast at the same time.

  • No intelligence: it works with channels and time slots, just like a VCR. There’s no ability to record your favourite programme, regardless of channel or broadcast time.

  • No ability to transcode recordings or archive them to other media.

UPC’s sales pitch is predictably poor. For example, they say that you no longer need a DVD recorder, because their PVR will do the same thing. Well, no it won’t. A DVD recorder uses removable media, whereas a PVR has fixed media that fill up. Their system offers no means to archive recordings, so in that regard, it’s less flexible than a DVD recorder.

They also tout their well-worn favourite slogan of digitale kwaliteit (digital quality), an absolutely meaningless phrase, since digital refers only to the means by which the data stream is encoded, something that is essentially unrelated to the quality of the picture. A heavily compressed video clip, intended for download by dial-up modem users, is digitally compressed and encoded, but would you want to magnify it to fill a 94cm 16:9 LCD TV screen and watch it? No? I thought not, even though it’s digital quality.

Obviously, they’re trying to pull the wool over the consumer’s eyes. UPC’s customers are not very sophisticated, so this underhand strategy will probably work for them, too. After all, they’ve been using this slogan to sell their digital TV packages for quite some time, and the bit streams of some of those channels are definitely on the rough side. Besides, there are few commercial PVR alternatives on the market over here and MythTV or even Microsoft’s MCE are not for everyone.

It’s clear that this is not going to be the TiVo of the Dutch cable market. The only reason to get one of these PVR set-top boxes is if it’s free and can just be dropped in to replace the usual UPC set-top box. As long as it has all of the same ports on the back, you would gain a very limited PVR for emergencies and lose no existing functionality. In other words, we’d just keep using MythTV, but we’d now have a set-top box with a hard drive, just in case it was ever needed.

Posted in Technology | 1 Comment

Master Blaster

The last major problem with our MythTV box has been fixed. Our previous IR blaster was underpowered and would occasionally lose a digit when signalling our set-top box to change channel. It was very occasional, but it’s annoying to be looking forward to a programme on BBC 3 (channel 16) only to discover that you’ve recorded the second half of one programme and the first half of another on Nederland 1 (channel 1).

Anyway, with the arrival of a new IR blaster from New Zealand, this problem is now past tense. This unit transmits a stronger signal, so it is able to reliably change the channel of our Thomson cable box. If you’re wondering why I had an IR blaster sent from New Zealand, it’s because I wouldn’t have a clue where to buy one in this country.

And with that, almost a month to the day since I first installed MythTV, all of the teething troubles and minor irritations we’d been living with are now gone. The wavy lines on the capture cards are gone, the VFD on the front of the case works, the menus fit on the screen, the fonts are properly scaled, the playback freezes are gone, time-stretching now works, external audio now works, fast-forwarding and rewinding now work properly, OpenGL works, the network connection is now reliable and fast, channel changing on the set-top box works reliably, and the programme guide has data for all the channels that we receive.

It took a long time to get to this point, but now that we’re here, this is possibly the most powerful PVR in the country, in terms of the flexibility it offers. Neither dumb PVRs (which are just video recorders with a hard drive) with the Guide+ EPG (broadcast via the cable) nor Microsoft’s MCE offer a solution with a complete programme guide for all of the channels in UPC’s digital TV package. Thanks to MythTV, we’re fortunate enough to have one, not because it provided one out of the box, but because the software has a modular design and is based on open standards and APIs. It was easy to write an XMLTV grabber to pull down data for the missing channels from Chello.

Thanks to Isaac and the other developers for turning out such a terrific piece of software; and thanks again to Peter for prodding me into resurrecting the bits of hardware that had been lying around in my home office for six months. It’s been unbelievably good fun getting all of the bits and pieces to work together.

With a little bit of luck on the hardware front, this system will provide us with a lot of pleasure for quite some time to come. Of course, my hoping for luck with my hardware might be sorely tempting fate.

Posted in Technology | 2 Comments

New MythTV Video

For a number of reasons, I’ve been dissatisfied with using our Hauppauge PVR-350’s on-board MPEG-2 decoder and TV Out port for MythTV. For one thing, the MythTV mailing-list makes it clear that support for the decoder of this device is on the way out. None of the developers use one, so the code is unmaintainable.

With this in mind, I purchased an XFX GeForce FX5200 AGP video card for €39 from Alternate, which has a well-supported nVidia chipset. The card arrived in the post yesterday, so I installed it in the system and got to work configuring it at the end of the evening.

With the loss of the PVR-350’s on-board MPEG-2 decoder, playback now has to be handled by the CPU, but we have a 3 Ghz Pentium 4 in the box, so it can take it in its stride. This is pretty much the only disadvantage to switching to this video card.

Here are some of the advantages:

  • The FX5200 has a DVI Out socket, so we’re now connecting to the TV using DVI. The result is that X and MythTV now look superb on our 94 cm Philips LCD TV. The image is crisp and clear and we can drive the TV at its native resolution, which appears to be 1280×720. Related to this, menus and widgets no longer run off the screen and fonts are properly scaled. Bliss!

  • Thanks to DDC, the monitor can now tell the video card which video modes it can handle, so the Xorg configuration is now very simple and doesn’t even need HorizSync or VertRefresh parameters for the TV. Here’s the relevant section from Xorg.0.log;

(--) NVIDIA(0): Connected display device(s) on GeForce FX 5200 at PCI:1:0:0:

(--) NVIDIA(0): Philips FTV (DFP-0)

(--) NVIDIA(0): Philips FTV (DFP-0): 135.0 MHz maximum pixel clock

(--) NVIDIA(0): Philips FTV (DFP-0): Internal Single Link TMDS

(WW) NVIDIA(0): Mode "1280x800" is too large for Philips FTV (DFP-0);

(WW) NVIDIA(0): discarding.

(WW) NVIDIA(0): Mode "1280x768" is too large for Philips FTV (DFP-0);

(WW) NVIDIA(0): discarding.

(II) NVIDIA(0): Assigned Display Device: DFP-0

(II) NVIDIA(0): Validated modes:

(II) NVIDIA(0): "1280x720"

(II) NVIDIA(0): Virtual screen size determined to be 1280 x 720

(--) NVIDIA(0): DPI set to (76, 76); computed from "UseEdidDpi" X config option

I’m not sure why those first two modes are tried, since they wouldn’t offer the correct 16:9 aspect ratio. If anyone knows, please tell me. Nor do I understand why 1920x1080i isn’t tried or selected, since our TV is capable of that resolution. I’m not too bothered, though, since we don’t have any input sources that can provide that resolution.

  • MythTV is slowly moving towards OpenGL for its themes and menus, so having an nVidia card with its hardware acceleration allows us to enjoy all of the OpenGL goodies. TV playback can also use certain OpenGL functions to reduce jitter and make other improvements to the image. And, very pleasingly, we can now enjoy all of the OpenGL visualisations offered by the MythMusic module. The TV has become a big flat disco ball for listening to my music collection!

  • Although MPEG-2 decoding is now handled by the CPU, we can still offload some of the work to the video card’s GPU by using MythTV’s XvMC support. A lot of people seem to have trouble with XvMC, but I found it very easy to get working. The only issue was that the OSD (on-screen display) became greyscale rather than colour, but that’s a known issue and there’s an easy fix for it.

  • During playback, fast-forwarding at greater than 3x speed now properly displays the current location in the recording. With The PVR-350, fast-forwarding beyond 3x speed would freeze the playback image, leaving you with only the playback timer to hazard a guess at where in the stream to resume playback. This was very annoying and confined us to 3x fast-forwarding much of the time.

  • During playback, rewinding at any speed now properly displays the current location in the recording. Similar to the previous point, but even more annoying, was that the PVR-350 would freeze the playback image when rewinding at any speed. If you wanted to replay the last couple of scenes in a programme, you would thus have to guess how long they were and resume playback after rewinding that many minutes.

  • Not using the PVR-350 MPEG-2 decoder for playback means that the audio and video are now separable. This, in turn, means that we can now send audio to our sound system, rather than being restricted to using the TV’s built-in speakers.

  • As a result of the previous change, the internal MythTV volume controls now also work. Previously, we had to adjust the volume via the TV, because the PVR-350’s hardware decoder volume was beyond the control of MythTV.

  • The ivtv driver decoder errors that have plagued us since I first set up this system almost a month ago are now happily also a thing of the past. We would regularly get errors like these in the log:

Sep 18 14:36:52 tourbillon kernel: ivtv0 warning: DEC: Sched Buffer end reached 0x0ad51267

Sep 18 14:36:52 tourbillon kernel: ivtv0 warning: DEC: Mailbox 10: 0x00000000 0x0ad41267 0x0ad41267 0x00000000

Sep 18 14:48:32 tourbillon kernel: ivtv0 warning: DEC: Decoder Invalid type 0xd8031707?

Sep 18 14:48:32 tourbillon kernel: ivtv0 warning: DEC: Decoder Invalid type 0x0e86df64?

In practical terms, these manifested as occasional picture freezes during playback. Sometimes we’d get several within a few minutes. At other times, we’d watch a whole programme without one. They were very unpredictable.

A quick hit of the Rewind button was necessary to unjam the system. It was irritating, but we were able to live with it. Now we’re no longer using the hardware MPEG-2 decoder of the PVR-350 card, however, we’re avoiding whatever it was in the driver or the firmware that was causing these.

  • Time-stretching now works properly. Time-stretching is the ability to play back video at faster than normal speed, but with the appropriate audio compensation, so that the pitch remains constant.

The idea is that, if you’re short on time, you can get through a 30 minute programme in, say, 20 minutes if you pay good attention and can stand listening to people who talk very quicklyt. At 1.5x speed, for example, everyone sounds like the people who read the disclaimer at the end of American radio adverts. You know the ones, where it sounds as if all the gaps between the words in their sentences have been sucked out.

  • Because we’re using a plain old video card now, the entire Linux boot process can be followed on the TV screen. If there’s ever a problem that causes the system to fail to boot, I’ll now be able to debug it without a blindfold.

And that’s about it. I reprogrammed our Harmony 885 universal remote-control to use the external sound system instead of the TV’s audio for MythTV playback and to select the DVI input on the TV instead of the relevant SCART connector, and now we’re all set. I just need to go and buy a new DVI cable, as I borrowed the one from my computer upstairs for testing purposes.

Posted in System Administration, Technology | 2 Comments