After more then 1½ year of absence I’m trying to get active again. I’ll see, how it goes.

First steps were the usual round of updates to install, update to WordPress 3.2.1 and a new theme with some little tweaks from me. This even included the usage of one of Google’s web fonts. World of wonders, this even worked in the three browsers, that I tried (Firefox, Chrome and IE8).

Of course, the usual problem solving was also necessary. Blogging clients like Blogilo or ScribeFire wouldn’t get the older posts list from the site. To fix this PHP’s memory limit needed to be changed. With WordPress 2.9 16M was enough. Now with WordPress 3.2.1 after some tries I set the limit to 36M, the maximum, which my provider allowes.

Linux 2.6.33

Shortly after Linux 2.6.33 was released the respective Gentoo kernel sources became available as well. Curious as I am, I decided to give the new kernel a quick whirl, possibly in the hope that my Pulseaudio<->ALSA problem might be fixed.

I tried this with my PC at work, which is equipped with an old GeForce FX 5200 Nvidia graphics card. To get the kernel with that card going, the legacy Nvidia driver 173.14.25 is required. In the current Gentoo Portage tree unfortunately there is only 173.14.22. That is not too much of a problem however. As a very Quick’n Dirty solution simply copy nvidia-drivers-173.14.22.ebuild to nvidia-drivers-173.14.25.ebuild, execute

ebuild nvidia-drivers-173.14.22.ebuild digest

and then emerge the driver, after you have compiled the 2.6.33 kernel.

The Pulseaudio<->ALSA problem however is not fixed, although it appears to take longer until the problem shows up. What is worse, my previous workaround (compiling the ALSA 1.0.20 driver and install the modules over the kernel modules) does not work any, since the ALSA driver won’t compile with the new kernel, since some include files have been moved in the kernel tree.

So I guess I’ll stay with kernel 2.6.32 for the time being until I receive my new PC in the not to distant future.

Comparing analog and digital radio on the cable.

Out of curiosity I decided to compare the audio quality of a local radio station (1Live), which I can receive in analog and in digital via my local cable operator. The privately owned radios on the cable are encrypted and can only be received with the appropriate CA Module and a SmartCard for the DVB-C card. The publicly funded station are however available unencrypted.

I use these two cards to record the audio from DVB-C (the first) and for the analog broadcast (the second):

05:00.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
    Subsystem: KNC One Device 0022

05:02.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
    Subsystem: Hauppauge computer works Inc. WinTV Series

Comparison Digital & Analog Volume

This first picture compares the volume levels. The above half is from the digital broadcast and the lower half from the analog broadcast, both showing about 1 hour from the same show. Both recordings are normalized to -0.2db of maximum level with Audacity.

As you can see, the analog broadcast has a certain dynamic range left, while the digital broadcast is completely flat. Apparently, the signal, which is used to create the digital stream is passed through a compressor, which reduces the dynamic range to a minimum. Not very nice. Apparently not every station does this compressor thing. Another station from Berlin I’m occasionally listening to in digital has a lot more dynamic range left.


This next picture provides a detailed waveform view. The upper shows a very clean signal from the digital broadcast, as is to be expected. On the lower half the noise is apparent in the analog broadcast, which is overlayed on the normal signal. An analog broadcast simply can’t provide the same absolute maximum dynamic range as a the digital signal can. Another problem probably is, that the old BTTV TV-card doesn’t carry very high quality electronic components, which adds to the level of noise.

Frequency Range

The last picture compares the frequency ranges, which each broadcast type offers. There is nothing much left above 15KHz. In the analog broadcast the peak at 19KHz is stereo pilot signal used to indicate stereo broadcasts. This is not a usable audio signal.

Our local cable operator is trying pretty aggressively to get new customers and are trying to convince the customers of the advantages of digital TV and radio. From the above pictures the digital advantage is not really visible, except maybe for the better signal-noise ratio. Additional problem is the requirement of SmartCards, if you want to listen to private radios. With the digital receiver provided by the cable operator, where you insert the SmartCard, you can either watch TV or listen to radio, not both at the same time. So, the remaining receivers in the house hold need to use the analog signal anyway. Who would spend another 5€ per month for another SmartCard?

Fixes for ACPI wakeup and X11 resolution switch

I wrote here, that since my switch to Linux kernel 2.6.32 the ACPI wakeup didn’t work anymore. After a new search through the internet I came across this article mentioning a conflict with the HPET. As a workaround booting with hpet=disable is suggested.

And indeed with this workaround ACPI wakeup works again. Looking at the output of cat /proc/driver/rtc

rtc_time    : 11:44:20
rtc_date    : 2010-02-17
alrm_time   : 07:21:16
alrm_date   : ****-**-17
alarm_IRQ   : no
alrm_pending    : no
24hr        : yes
periodic_IRQ    : no
update_IRQ  : no
HPET_emulated   : no
DST_enable  : no
periodic_freq   : 1024
batt_status : okay

the HPET_emulated line should report no.

Another fix was released with the xorg-server 1.7.5. Since the switch to xorg-server 1.7 I was basically unable to switch from the X11 display running with 1600×1200 resolution to a virtual console. Switching to a virtual console resulted in a dark display complaining about illegal operating parameters. This was particular annoying, when shutting the system down.

As a workaround with earlier xorg-servers I switched X11 resolution to 1280×1024 with “Ctrl + Alt + Keypad -” and then switched to a virtual console. Now the virtual console was operable.

The fix for xorg-server 1.7 was announced in this email. Unfortunately stupid me didn’t think about the xfce4-display-settings utility (I’m a XFCE4 user), then I would have been able to switch resolutions graphically.

First experiences with Linux kernel 2.6.32

Last week Linux 2.6.32 was released. I’m currently using it with the bfs-scheduler patchset.

I experienced three glitches so far on my Gentoo installation. I hope these are not cases of RTFM.

Portaudio with ALSA cmipci-driver

With a freshly rebooted kernel I’m pretty quickly seeing these messages in /var/log/message.

pulseaudio[4338]: alsa-util.c: Dies ist wahrscheinlich ein Fehler im ALSA-Treiber 'snd_cmipci'. Bitte melden Sie diesen Punkt den ALSA-Entwicklern.
pulseaudio[4338]: alsa-util.c: snd_pcm_dump():
pulseaudio[4338]: alsa-util.c: Hardware PCM card 0 'C-Media CMI8738' device 0 subdevice 0
pulseaudio[4338]: alsa-util.c: Its setup is:
pulseaudio[4338]: alsa-util.c:   stream       : PLAYBACK
pulseaudio[4338]: alsa-util.c:   access       : MMAP_INTERLEAVED
pulseaudio[4338]: alsa-util.c:   format       : S16_LE
pulseaudio[4338]: alsa-util.c:   subformat    : STD
pulseaudio[4338]: alsa-util.c:   channels     : 2
pulseaudio[4338]: alsa-util.c:   rate         : 44100
pulseaudio[4338]: alsa-util.c:   exact rate   : 44100 (44100/1)
pulseaudio[4338]: alsa-util.c:   msbits       : 16
pulseaudio[4338]: alsa-util.c:   buffer_size  : 16384
pulseaudio[4338]: alsa-util.c:   period_size  : 8192
pulseaudio[4338]: alsa-util.c:   period_time  : 185759
pulseaudio[4338]: alsa-util.c:   tstamp_mode  : ENABLE
pulseaudio[4338]: alsa-util.c:   period_step  : 1
pulseaudio[4338]: alsa-util.c:   avail_min    : 15503
pulseaudio[4338]: alsa-util.c:   period_event : 0
pulseaudio[4338]: alsa-util.c:   start_threshold  : -1
pulseaudio[4338]: alsa-util.c:   stop_threshold   : 1073741824
pulseaudio[4338]: alsa-util.c:   silence_threshold: 0
pulseaudio[4338]: alsa-util.c:   silence_size : 0
pulseaudio[4338]: alsa-util.c:   boundary     : 1073741824
pulseaudio[4338]: alsa-util.c:   appl_ptr     : 231533
pulseaudio[4338]: alsa-util.c:   hw_ptr       : 212998

I think with Linux 2.6.30 I experienced these problem for the first time, both for the onboard 82801EB/ER (ICH5/ICH5R) audio controller and the add-on C-Media CM8738 controller. Since then I’ve been reinstalling the ALSA driver 1.0.20 from each time I recompiled a new kernel. 1.0.21 showed the same problem. Pulseaudio progessed in this period from 0.9.15 to 0.9.21, the latest being the one I’m currently using.

What changed with 2.6.32 however is, that onboard 82801EB/ER (ICH5/ICH5R) now appears to be working. After listening with onboard audio for a bit, I remembered, why I installed an elcheapo PCI-card. The onboard audio carries such an amount of noise, that it is unbearable.


When I tried to mount a locally exported file system on a remote system, these segmentation fault showed up in /var/log/messages:

kernel: rpc.mountd[3885]: segfault at 13 ip 0804c133 sp bfc98530 error 4 in rpc.mountd[8048000+12000]

This could be fixed be recompiling net-fs/nfs-utils-1.2.1.


I’m using the below command sequence to let my PC wake-up and boot at 7:15 in the morning, so that it’s ready, when I come into the company. This worked flawlessly until I switched to 2.6.32.

# echo 0 > /sys/class/rtc/rtc0/wakealarm
# echo $(date -u '+%s' -d 'tomorrow 7:15') > /sys/class/rtc/rtc0/wakealarm
# cat /proc/driver/rtc 
rtc_time    : 17:07:41
rtc_date    : 2009-12-11
alrm_time   : 07:15:00
alrm_date   : 2009-12-12
alarm_IRQ   : yes
alrm_pending    : no
24hr        : yes
periodic_IRQ    : no
update_IRQ  : no
HPET_emulated   : yes
DST_enable  : no
periodic_freq   : 1024
batt_status : okay

Here is someone, who apparently experiences this as well.

Inkscape keyboard and mouse reference as a booklet

I’ve used Inkscape on a couple of occasions. Inkscape is such a powerful program, but I think, it’s it’s not one of the easiest to use. Somehow, each time I’m using Inkscape I’m again struggling with the same basic concepts. I can’t really say, how things would need to be changed, to make it really more simple.

Anyway Inkscape sports such a plethora of keyboard and mouse functions, that I thought, it would be probably very useful to have a small booklet in paper form beside your keyboard.

Therefore I basically copied the Inkscape keyboard and mouse reference into OpenOffice and created this OpenOffice file, designed to be printed on A4 paper. The actual shuffling of the pages to print the file as booklet is not done within OpenOffice, but by transforming PostScript files using the psutils. I guess pretty much every Linux distribution should have them on board.

To actually create the booklet I’ve saved the OpenOffice source into this PDF file with OpenOffice’s “Export to PDF” function. Then, I used evince from the Gnome Desktop Environment to create a file randomly called by printing to a PostScript file ( The final booklet file is created by executing the following commands:

psbook -s16
pstops '2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)'

The psbook reorders the pages in such a way, that once printed double sided in landscape format, the resulting stack of pages can simply be folded in the middle. The pstops command then rotates, scales and positions each A4 page, so that two pages are printed on each side of a piece of paper. ps2pdf then creates a new PDF file (tt.pdf).

At home I’m using a Canon Pixma ip4000 printer. For this booklet I don’t use the printers ability to print double sided, since front and back page then have a slight offset. I use evince again to first print the odd numbered paged, re-feed the printed pages as they are stacked back into the feeder and print the back sides with the even pages. Now you should have a booklet, that you can simply fold in the middle. This is the resulting PDF file the above three command executions as an example.

You might need to fiddle a bit with the “0” and “14.85cm” parameters for the pstops command, so that the front and the back of a page properly align.