As of this morning,
Damned Lies finally reflects
what has been the de-facto reality for at least four major GNOME releases.
I started to invest a lot of time on translating GNOME to Catalan in the
middle of the long 1.5 journey towards
GNOME 2.0.
That was a long time ago, and somehow was the way I ended being
abduced by Softcatal to eventually
work with them on the localisation of some other projects.
However, I've been watching how my free time and motivation has been
slowly shrinking, until the point I was no longer doing some of the stuff
I was expected to do, or was doing it badly and late. Luckily, Softcatal 's
GNOME team, a model for our organisation, has been able to smoothly replace
heavily contributing members with a constant stream of new blood. In my case,
I first stopped having that many modules assigned, then focused on
coordination and finally stopped doing even that.
Gil Forcada has filled the gap
perfectly and has been the main lead of effort for a pair of years.
Passing the baton was long overdue; I think GNOME is lucky to count on Gil's
amazing drive and motivation. Gil, congrats on earning yet another
marronet! ;)
Last Friday, I spent most of the day at this NAVCA ICT event in Taunton. (There s another similar one in York this Friday if you re interested.) The event was a sandwich, with a Steve Bridger social media session as the filling between workshop halves.

Conference
I went to the workshop for support workers. I m not sure whether it was quite the right label, but the others were for managers/trustees and for accidental technical supporters, which definitely weren t. There seemed to be at least three other ICT specialists there, so I wasn t the only one.
The best thing about the workshop was the mix of specialists and generalists. I was really interested in what the generalists had to say, but sadly the workshop was more of a lecture and I don t feel I got as much out as I could. I d be interested to know if that was the same for other participants.
I m not sure what I thought of Steve Bridger s session. It was a difficult one: the strange mix of an audience was all together, the room felt pretty warm and it stood between us and lunch. I had trouble concentrating but posted a few updates to identi.ca about it.
The worst thing was all the needless promotion of certain companies products. They didn t talk about blogging and syndication, they talked about Blogger and Google Reader; they didn t talk about photo-sharing, they talked about Flickr; they didn t talk about spreadsheets, they talked about Excel.
Nevertheless, I left the event feeling really positive about other ICT specialists, with some hope that the generalists were getting it and quite impressed by the people I met from the other tracks. It was pretty good to help someone towards the autosuspend setting on their GNOME-based netbook within ten minutes of arriving, too. I ve just updated software.coop with Richard Stallman s explanation of why proprietary software is a social problem, to see if that helps put the community-based view across.
I ll look again at some of the grant-funded resources mentioned and see if we can improve them, but I d welcome any comments from the voluntary and community sector about how best to do that.
ressukka.net points to the
external IP address and that doesn't work from the inside. So split
DNS it is.
There are various ways of building a split DNS, one can use the
views feature in bind9 or you can set up 2
separate DNS servers that provide different information (and
redirect your local resolver to use the internal server). The
latter is more secure if the internal zone is sensitive.
I decided to use a hybrid solution. I already knew that
PowerDNS Recursor was capable of serving authoritative zones
(think pre-cached) so I decided to leverage on that. Setting this
up turned out to be simpler than I expected.
First I made a copy of the existing zone and edited it to fit my
needs. I changed the IP address of ressukka.net to
point to the IP address on the local network. I also adjusted some
other entries that pointed to the local network.
Next I modified bind to listen on the external IP address. This
can be accomplished by adding a listen-on 1.2.3.4;
; to the options in the configuration. I also disabled the
resolver by adding recursion no;, this forces the bind
to work as authoritative only.
Then I installed the PowerDNS Recursor
(pdns-recursor package in debian) and configured it to
listen on the internal address only
(local-address=10.0.0.1) and added the pre-cached zone
to the configuration with
auth-zones=ressukka.net=/path/to/internal-zone
Now, after restarting both daemons, I had a working split DNS
with minimal configuration. I was also able to change the external
DNS to authoritative only mode, which is a good idea in any
case.
I wish that gnome-terminal was able to support multi-line URLs,
or that mutt was able to render long urls on a single logical line.
If you use mutt in gnome-terminal, you may have noticed that
urls that wrap to another line cannot be opened using gnome-terminal's
context menu. Of course, resizing the terminal to be wide enough
works around the problem, but is not always practical.
Another workaround is to pipe the message to less. While
the url will still be displayed split across multiple lines,
gnome-terminal will then recognize the whole url as one thing.
Why does less work where mutt fails? Well, it seems that mutt and less
print the url differently. less simply prints the whole url,
and lets gnome-terminal wrap it to the next line. mutt prints the first
line of the url, then moves the cursor to the start of the next line, and
prints the remainder.
This could be fixed either by making gnome-terminal smarter about finding
the end of urls that are sent to it in multiple pieces, or by making mutt
(or likely really ncurses) change how it outputs long lines.
debootstrap has only ever been designed to work with a single repository and the current code includes a comment:
# XXX: I can't think how to deal well with dependency resolution and
# lots of Packages files. -- aj 2005/06/12
sudo chroot $dir dpkg --configure -a can be automatically run before the config_script. In the typical Emdebian case, the configure stage would happen immediately after unpacking the multistrap filesystem onto the device (certainly before first boot).3014 2009-03-17 20:54 ./usr/share/doc/multistrap/README
2265 2009-02-18 18:32 ./usr/share/doc/multistrap/TODO
1536 2008-08-20 14:25 ./usr/share/doc/multistrap/copyright
21067 2009-03-17 21:58 ./usr/share/doc/multistrap/changelog.gz
1233 2008-10-28 13:13 ./usr/share/doc/multistrap/NEWS.Debian.gz
17774 2009-03-22 13:41 ./usr/sbin/multistrap
Package: multistrap
Source: emdebian-tools
Version: 1.6.1
Architecture: all
Maintainer: Neil Williams
Installed-Size: 120
Depends: perl, apt, debhelper (>= 5),
libconfig-auto-perl, libparse-debian-packages-perl
Replaces: emdebian-rootfs (<= 1.6.0)
Section: admin
Priority: extra
Homepage: http://www.emdebian.org/
Description: multiple repository bootstrap based on apt
debootstrap replacement with multiple repository support
using apt to handle all dependency issues and conflicts.
.
Includes support for foreign architecture multistraps that need
only minimal configuration on the final device. Supports cleaning
up the generated bootstrap filesystem to remove downloaded packages
and hooks to modify the files in the bootstrap filesystem after
the packages have been unpacked but before being configured.
Or for those who care about Twitter and Debian twitter.com/debianproject Now, the interesting part about this is that any Debian developer with a GPG key on the Debian keyring can tweet to it. You basically only have to do something like this: $ echo "Squeeze is scheduled for Winter 2014" gpg clearsign lwp-request -m POST http://twitter.debian.net/post or, what it's the same, just send a clearsigned POST data to http://twitter.debian.net/post. If the data is signed by a Debian developer, it'll go through and post it. The Debian uid is appended on the tweet, as found on Debian's LDAP DB, so if joetheplumber@d.o is the one posting, it'll be posted with "(via joetheplumber)" on it. If you are more interested about this, you can go to twitter.debian.net where you will find deeper information and details about this service. I encourage you, Debian user and advocate, to start following the @debianproject account; and I encourage you, Debian developer, to communicate with our users and advocates by using and posting to this service. More news to follow soon. UPDATE: Support for Identi.ca has been added and now both Twitter and Identi.ca accounts are updated at once and sync'ed.
Mar 5 09:24:17 co kernel: [461562.007153] clocksource/0: Time went backwards: ret=f03d318c7db9 delta=-200458290723043 shadow=f03d1d566f4a offset=143675d9
I've been trying to figure out what is different with Citrix and
Debian kernels, because the problem doesn't occur with the Citrix
provided kernel.
The final hint to solving this problem came from
Debian wiki. The same issue is mentioned there, but the
workaround is not something I like. I perfer making sure that the
host server has the correct time and the virtual machine just
follows that time.
But the real clue was the clocksource line. It turns out that
the Citrix kernel uses jiffies as the clocksource per default,
while Debian uses the xen clocksource. It would make sense that the
xen clocksource is more accurate since it's native to the
hypervisor.
So by just running this on the domU fixes the problem:
echo "jiffies"> /sys/devices/system/clocksource/clocksource0/current_clocksource
There is no need to decouple the clock from the host, which is
exactly what I needed. To make this change permanent, you need to
add clocksource=jiffies to the bootparameters of your
domU kernel.
You can do this by modifying grub configuration and adding
clocksource=jiffies to the kopt line and running
update-grub. Or you can use XenCenter and modify the virtual
machine parameters and clocksource=jiffies to boot
parameters.
It's also worth noting that this problem does apply to plain
vanilla Debian installations as well, so reading that whole
wiki page is a good idea.
Bear in mind that TV ratings themselves leave something to be desired; variations of several tenths of a ratings point are within the expected margin of measurement error.
There has been a lot of hype about ext4 lately, following an Ubuntu bug which rose a lot of concerns about ext4 security. I know these are no news, and I know also that I am not a kernel guru, but let s resume some important concepts.
I recently got my hands on a Lenovo IdeaPad S9e netbook for a short amount of time (I don't own it), so I did a few tests with Debian unstable (more or less Lenny right now) and a Linux 2.6.28 kernel on it, see results below.
The machine type is 4187-42G, and it features an Intel Atom N270 CPU (with HyperThreading) at 1.6 GHz, 1 GB of DDR2 RAM, an 80 GB SATA drive, an 8.9" WSVGA 1024x600 (glossy) screen, VGA port, LAN, wifi, bluetooth, 2xUSB, SD card slot, PCI ExpressCard slot, built-in microphone, and a webcam.
BIOS
You can enter the BIOS by pressing F2, the boot menu by pressing F12 during boot. Booting from USB works fine on this netbook. There's a Splashtop installation on the netbook (called "Lenovo Quickstart" here) which you can disable in the BIOS.
Installation
There's no CD-ROM drive, so the simplest way is to use a USB thumb drive for installation. Here's how you can prepare one containing a Lenny installer (assuming your USB thumb drive is /dev/sda):
$ wget http://cdimage.debian.org/debian-cd/5.0.0/i386/iso-cd/debian-500-i386-netinst.iso $ wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/boot.img.gz $ gunzip boot.img.gz $ dd if=boot.img of=/dev/sda1 $ mount -t vfat /dev/sda1 /mnt $ cp debian-500-i386-netinst.iso /mnt $ umount /mntIf the above USB thumb drive doesn't boot correctly (which it did not in my case: GRUB error 17) it's probably because of a messed-up MBR. This is how you can fix it:
$ apt-get install mbr $ install-mbr /dev/sda
Then insert the USB thumb drive in the Lenovo IdeaPad S9e, choose USB boot in the BIOS, and start the installer. Most of the process works as usual, the only small difference is that you might want to load the "parted" installer module in order to resize the Windows-partition on the disk (if you want to keep it) to make space for Linux. The second (fat32) partition seems to keep a restore image and/or the Splashtop stuff, not sure.
Audio
Works out of the box using the snd_hda_intel driver. The hardware is onboard audio in the southbridge (82801G / ICH7) and uses the Realtek ALC269 codec. If some programs don't have working audio, try modprobe snd-pcm-oss.
Built-in microphone
Untested so far.
Bluetooth
Works out of the box using the bluetooth and btusb driver. The laptop's Bluetooth device is USB-attached internally and shows up in lsusb as:
$ lsusb Bus 003 Device 002: ID 0a5c:2150 Broadcom Corp. $ dmesg usb 3-2: Product: BCM2046 Bluetooth DeviceAfter modprobe btusb you can use hcitool / hciconfig etc. as usual, and/or enable more related stuff with /etc/init.d/bluetooth start. Sensors The lm-sensors script detects the lm75, eeprom, i2c-dev, and i2c_i801 modules. The following is the 'sensors' output:
$ sensors acpitz-virtual-0 Adapter: Virtual device temp1: +36.0 C (crit = +95.0 C)The hard drive temperature can be viewed with:
$ hddtemp /dev/sda /dev/sda: FUJITSU MHZ2080BH G1: 44 CHPET The Intel ICH7 southbridge in this laptop supports High Performance Event Timers (HPET) which allows for more power savings and thus improved battery life.
$ dmesg grep -i hpet ACPI: HPET 3F6E1E41, 0038 (r1 INTEL CALISTGA 6040000 LOHR 5A) ACPI: HPET id: 0x8086a201 base: 0xfed00000 hpet clockevent registered HPET: 3 timers in total, 0 timers will be used for per-cpu timer hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0 hpet0: 3 comparators, 64-bit 14.318180 MHz counterYou can check the wakeups-per-second with powertop. SD card slot Works out of the box. It seems to be attached via USB internally (usb-storage driver).
$ lsusb Bus 001 Device 004: ID 0bda:0158 Realtek Semiconductor Corp. Mass Stroage DevicePCI ExpressCard slot Untested so far. ACPI Works fine, see comments for "acpitool" output. Network card Works out of the box using the tg3 driver.
$ modprobe tg3 tg3.c:v3.94 (August 14, 2008) tg3 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 tg3 0000:02:00.0: setting latency timer to 64 eth0: Tigon3 [partno(BCM95906) rev c002 PHY(5906)] (PCI Express) 10/100Base-TX Ethernet 00:11:22:33:44:55 eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[0] TSOcap[0] eth0: dma_rwctrl[76180000] dma_mask[64-bit]Touchpad Works out of the box, both in X as well as in the console using gpm.
$ dmesg Synaptics Touchpad, model: 1, fw: 7.2, id: 0x1c0b1, caps: 0xd04731/0xa40000Suspend-to-disk and suspend-to-RAM I'm using the hibernate Debian package. You can explicitly force the usage of either method in /etc/hibernate/hibernate.conf by uncommenting the respective lines.
TryMethod disk.conf # TryMethod ram.confSuspend does not yet work out of the box, however, as the machine is unknown:
$ s2ram -n
Machine unknown
This machine can be identified by:
sys_vendor = "LENOVO "
sys_product = "418742G "
sys_version = "Lenovo "
bios_version = "14CN51WW "
See http://suspend.sf.net/s2ram-support.html for details.
After a few test I found that s2ram -f -a 3 works fine (tested from console only so far). Now this needs to be integrated upstream and in the Debian package (I'll file a bug report). Update: Submitted bug #520848, and an email to the upstream mailing list.
Wireless
There doesn't seem to be a mainline driver for the Broadcom BCM4312 wifi card in the laptop, yet:
$ lspci -nn 05:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)Neither the b43 nor the b43legacy drivers work as of 2.6.28. For now, one of two possible options is to build a (partly non-free) driver provided by Broadcom from source (option 2 would be to use ndiswrapper, I guess, but that's untested):
$ wget http://people.debian.org/~adamm/kernel/linux-kbuild-2.6.28_2.6.28-0.1_i386.deb $ dpkg -i linux-kbuild-2.6.28_2.6.28-0.1_i386.deb (currently needed in unstable due to bug #518115) $ apt-get install build-essential linux-headers-2.6.28-1-686 $ mkdir temp; cd temp $ wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5_10_79_10.tar.gz $ tar xfvz hybrid-portsrc-x86_32-v5_10_79_10.tar.gz $ make -C /lib/modules/ uname -r /build M= pwd clean $ make -C /lib/modules/ uname -r /build M= pwd modulesIf that worked, you can load the driver via:
$ rmmod bcm43xx; rmmod b43; rmmod b43legacy (you could also permanently blacklist these modules) $ modprobe ieee80211_crypt_tkip $ insmod ./wl.ko $ dmesg wl: module license '' taints kernel. wl 0000:05:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18 wl 0000:05:00.0: setting latency timer to 64 eth1: Broadcom BCM4315 802.11 Wireless Controller 5.10.79.10You can now run iwconfig, iwlist, etc. from the command line, or use some GUIs such as kwifimanager. In order to disable wireless, run:
$ rmmod wlSo far, I only tested WEP (but not WPA). CPU frequency scaling Works out of the box using the acpi_cpufreq driver. Use cpufreq-set -c 0 -g performance if you need full CPU power, cpufreq-set -c 0 -g powersave otherwise. Use -c 1 to do the same with the other CPU/core. PC speaker Works fine out of the box using the pcspkr module, tested with beep. Graphics card Works out of the box using the intel X.org driver.
$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 600, maximum 1024 x 1024
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected 1024x600+0+0 (normal left inverted right x axis y axis) 195mm x 113mm
1024x600 60.0*+
800x600 60.3
640x480 59.9
TV disconnected (normal left inverted right x axis y axis)
DRI works out of the box with the (mainline, open-source) driver:
$ glxinfo grep direct direct rendering: YesIf you attach an external monitor or projector, you can enable it using xrandr as usual:
$ xrandr --output VGA --autoYou can also use a dual-head setup by adding this to your "Screen" section in /etc/X11/xorg.conf:
SubSection "Display"
Virtual 2048 2048
EndSubSection
After restarting the X server, you can play with xrandr and move the external screen (VGA) "below" the laptop's LCD screen (LVDS) for a simple dual-head setup. The GUI tools arandr or grandr are probably a bit simpler to use than plain command line xrandr.
USB
Works fine, of course. The only small problem is that there are only two USB ports, more would have been better.
Disk drive
Works fine, it's an 80 GB SATA drive.
Webcam
Works out of the box using the uvcvideo driver.
$ lsusb Bus 001 Device 005: ID 5986:0141 Acer, Inc $ modprobe uvcvideo uvcvideo: Found UVC 1.00 device Lenovo EasyCamera (5986:0141) input: Lenovo EasyCamera as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/input/input9 usb 1-3: New USB device found, idVendor=5986, idProduct=0141 usb 1-3: New USB device strings: Mfr=3, Product=1, SerialNumber=0 usb 1-3: Product: Lenovo EasyCamera usb 1-3: Manufacturer: BISON CorporationYou can use luvcvideo for webcam viewing. Battery Lasts for ca. 3.5 hours, probably less if the system is under high load. Special keys Fn+CursorUp / Fn+CursorDown (brightness), Fn+ESC (enable/disable webcam), Fn+F1 (sleep mode), Fn+F2 (enable/disable TFT backlight), Fn+F6 (enable/disable thouchpad), Fn+F7 (Num lock), Fn+F8 (scroll lock), and Fn+F11 (F12 key) all work fine. Fn+F3, Fn+F5, Fn+F9, Fn+F10, and all other special keys are untested. LEDs The power, disk activity, CAPS lock, Num lock, and battery charging LEDs all work fine out of the box. lspci -tvnn
-[0000:00]-+-00.0 Intel Corporation Mobile 945GME Express Memory Controller Hub [8086:27ac]
+-02.0 Intel Corporation Mobile 945GME Express Integrated Graphics Controller [8086:27ae]
+-02.1 Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller [8086:27a6]
+-1b.0 Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8]
+-1c.0-[0000:02]----00.0 Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express [14e4:1713]
+-1c.1-[0000:03-04]--
+-1c.2-[0000:05]----00.0 Broadcom Corporation BCM4312 802.11b/g [14e4:4315]
+-1d.0 Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 [8086:27c8]
+-1d.1 Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 [8086:27c9]
+-1d.2 Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 [8086:27ca]
+-1d.3 Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 [8086:27cb]
+-1d.7 Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller [8086:27cc]
+-1e.0-[0000:06]--
+-1f.0 Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge [8086:27b9]
+-1f.1 Intel Corporation 82801G (ICH7 Family) IDE Controller [8086:27df]
+-1f.2 Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller [8086:27c4]
\-1f.3 Intel Corporation 82801G (ICH7 Family) SMBus Controller [8086:27da]
cat /proc/cpuinfo
See comments.
Resources
My experience with LapStore's used-ThinkPad warranty repair
service
My ThinkPad T40 arrived back from warranty repair today
(well, actually
yesterday, but I had to run off to the Gnome-2.26
release
get-together in Munich so I did not have time to open the
box then). I bought
it used roughly two years ago at LapStore when my R51
had died. I had bought the R51 new with a one year
IBM warranty but unfortunately within two years the
graphics chip with got
damaged and would freeze the notebook after a couple of
minutes. I then
decided that I do not really need a new notebook anymore, and
opted for a used
T4x series (there were no used X40s available at that time).
I chose LapStore because they offered a one-year "Garantie"
(guarantee? warranty?), which was rather
unusual for used notebooks - at best, you would get a one-year
"Gewaehrleistung" which is the promise to fix things which
were supposedly
broken already by delivery. Even better, one could
optionally extend the
warranty to two years, which I did. The notebook they sent
was in pretty good
condition (apparently a business
out-of-warranty return)
and I put in my R51's hard disk, the ipw2100 WLAN card and
the RAM
(unfortunately, I realized too late that the keyboard and
the CDRW/DVD drive do
not fit).
I was pretty happy with it (and LapStore in general, I
recommended it to a
couple of friends since, and e.g. my current flatmate bought
a T42 there a while
ago as well) until the fan started dropping out and making
weird noises by the
end of 2008. So just before the end of warranty, I sent it
(after removing
hard disk, optical drive and battery) in to LapStore to see
how their service is.
I also mentioned a clear bright spot on the display (apparently
some fatigue, you see
it often mentioned in ThinkPad eBay descriptions) and a
crack in the palmrest
between the cursor-right key and the hard disk slot. When
they sent a mail that
the ThinkPad had arrived at their site, I also followed-up
via mail that the
"indestructible" keyboard caps stickers they used to mod a
Scandinavian(?)
keyboard into a German one were pretty much destroyed by now
and would also need
servicing.
I assumed that they would service the fan (which looked like
a clear-cut
warranty issue to me) without arguing, but probably not the
display and
palmrest (and did not know whether they got the mail about
the keyboard stickers),
so when they sent another mail two days ago that they sent
the notebook back
without asking further questions, I became worried about
what happened at all.
So, long story short, I was totally positively surprised
when I opened the box
today and read:
"Aktion: L fter, Display, Palmrest und Tastatur getauscht"
(action: fan, display, palmrest and keyboard replaced)
The replacements are still used parts (and the keyboard is
still not a real
German one, but one with new stickers on it), but they
basically changed my
almost-totally-broken-will-fall-apart T40 back into a
almost-as-good-as-new T40.
(not sure whether that is positive or negative, but they
also forgot to remove the
service-hard disk they put in to test things, I guess I will
send it back to them)
So all in all, I am very much impressed by their service. I
would have expected
this kind of service from IBM/Lenovo if I had a manufacturer
warranty, but not
from some random sell-used-ThinkPads shops on the net. I
can now even more
strongly recommend LapStore as the place to buy good
notebooks. Certainly you
can get cheaper prices at some eBay stores, but you do not
get real warranty then
and what about the service?
I recommend geting
a T42
- I believe the T43 is inferior to it and the T40s and T41s
don't have
"LapStore Garantie" anymore. You can
get them without operating system and can customize the hard
disk, memory and optical drives - unfortunately you cannot
downgrade those, which is my only gripe with them.
DVswitch is
a neat piece of software, but it only works with DV streams. If you want
to use something else (like, say, a webcam), you'll need to do something
'special':
wouter@celtic:~$ mkfifo dvsource-fifo wouter@celtic:~$ ffmpeg -f video4linux2 -r 25 -s vga -i /dev/video0 -target pal-dv - > dvsource-fifo wouter@celtic:~$ dvsource-file dvsource-fifoAnd there you are, a DV stream from my webcam. Not that this is very useful, probably but who cares, right?
Next.