Archive for the ‘General’ Category

Testing SMART status of my USB harddrive

Monday, December 7th, 2009

I recently bought an external USB harddrive, made by Toshiba. It’s the HDDR500E03X model with 500GB space, internal shock sensor and ramp loading technology. Now yesterday I learned, that I can also cover its health status using the smartmontools. The usb* device types did not fit, but the sat type worked. It is as easy as running:

smartctl -d sat -c /dev/sdb
smartctl -d sat -t long /dev/sdb

Toshiba Tecra A10 (PTSB5E) - Part III

Friday, November 27th, 2009

Connecting a NOKIA 6310i mobile phone via serial DLR-3P cable and the serial connector of the laptop (for Bluetooth see part II): After installation of the gnokii package(s) the the configuration file says:

model = 6510
connection = dlr3p

Then gnokii reports:

$ gnokii --identify
GNOKII Version 0.6.28
IMEI         : XXXX
Manufacturer : Nokia
Modell       : 6310i
Product name : NPL-1
Revision     : V 5.22

Toshiba Tecra A10 (PTSB5E) - Part II

Thursday, November 26th, 2009

So I got a little bit further with my little toy.

Bluetooth

Bluetooth works. The packages gnome-bluetooth and bluez are installed and the kernel module bluetooth is loaded. hciconfig reports this:

# hciconfig
hci0:	Type: USB
	BD Address: XX:XX:XX:XX:XX:XX ACL MTU: 310:10 SCO MTU: 64:8
	UP RUNNING PSCAN
	RX bytes:11354 acl:105 sco:0 events:286 errors:0
	TX bytes:4012 acl:99 sco:0 commands:66 errors:0

I tried to connect to a SAMSUNG and a NOKIA mobile phone. After enabling visibility of the phone the bluetooth-applet (gnome-bluetooth) showed the device. However I got an error saying “The name org.openobex was not provided by any .service files” when trying to access the mobile device. This was solved by installing obexd-server obex-data-server. Then I was able to access the phone contents via Bluetooth.

Virtualization

I recently tried to debug the mopac7 build error. I installed the qemu(-qemu-kvm) emulator. Loading of the kvm_intel module failed with “kvm: disabled by bios”. But this was easy to solve by enabling the Intel virtualization technology in the BIOS: push and hold the ESC key during startup until the laptop tells you to press the F1 key. Then enable the related BIOS option and done.

Good bye Warren, …

Saturday, November 7th, 2009

A tragic loss has hit the open source software community. Warren Lyford DeLano, among other things, open source advocate, scientist and the author of the famous PyMOL molecular visualization system, suddenly passed away at the age of 37. I remember you as a genial, pleasent intelligent guy and software author. It has been a pleasure to work with you. Good bye.

Toshiba Tecra A10 (PTSB5E) - Part I

Tuesday, November 3rd, 2009

I recently got a Toshiba Tecra A10-1HU laptop. This is a series describing my experiences with this hardware using Debian Sid.

This one comes without any operating system. So I got a recent testing-netinstall CD-image and ran the installer procedure (in expert mode). Everything went fine and I ended with a shiny Squeeze and kernel 2.6.30. Because I use Sid as my usual system, my first action was a dist-upgrade to Sid.

This is what lspci -nn tells:

00:00.0 Host bridge [0600]: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub [8086:2a40] (rev 07)
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07)
00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a43] (rev 07)
00:03.0 Communication controller [0780]: Intel Corporation Mobile 4 Series Chipset MEI Controller [8086:2a44] (rev 07)
00:19.0 Ethernet controller [0200]: Intel Corporation 82567LM Gigabit Network Connection [8086:10f5] (rev 03)
00:1a.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 [8086:2937] (rev 03)
00:1a.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 [8086:2938] (rev 03)
00:1a.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 [8086:2939] (rev 03)
00:1a.7 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 [8086:293c] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e] (rev 03)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 [8086:2940] (rev 03)
00:1c.1 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 [8086:2942] (rev 03)
00:1c.2 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 [8086:2944] (rev 03)
00:1d.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2934] (rev 03)
00:1d.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 [8086:2935] (rev 03)
00:1d.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 [8086:2936] (rev 03)
00:1d.7 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 [8086:293a] (rev 03)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev 93)
00:1f.0 ISA bridge [0601]: Intel Corporation ICH9M-E LPC Interface Controller [8086:2917] (rev 03)
00:1f.2 SATA controller [0106]: Intel Corporation ICH9M/M-E SATA AHCI Controller [8086:2929] (rev 03)
01:00.0 Network controller [0280]: Intel Corporation Wireless WiFi Link 5100 [8086:4232]
05:0b.0 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev ba)
05:0b.1 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 IEEE 1394 Controller [1180:0832] (rev 04)
05:0b.2 SD Host controller [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 21)
05:0b.3 System peripheral [0880]: Ricoh Co Ltd R5C843 MMC Host Controller [1180:0843] (rev ff)
05:0b.4 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter [1180:0592] (rev 11)
05:0b.5 System peripheral [0880]: Ricoh Co Ltd xD-Picture Card Controller [1180:0852] (rev 11)

Things that worked out-of-the-box:

Display/Graphics (Intel GMA 4500M HD)

The integrated graphics chipset, an Intel GMA 4500M HD, works with the xserver-xorg-video-intel package and the default X.org configuration. No custom /etc/X11/xorg.conf is necessary.

The (IMHO non-reflecting?) display runs at 1280×800 at 60 Hz.

Cable network device

The integrated Intel 82567LM Gigabit Network device works with the e1000e kernel module. No customization was necessary.

Touchpad/Trackpoint

The notebook comes with the so called Toshiba Dual Pointing Device a touchpad (+2 buttons) and a trackpoint (+2 buttons). Both worked without customization.

Energy savings/Suspend/Resume

apmd and acpid handle this. No problems yet. Suspend/Resume works. I did not yet test (and I’m not sure if I should) hibernate and uswsusp.

Webcam

The webcam is a CNA7157 model or at least detected as such. The video4linux modules handle it and the cheese application produces pictures.

Volume-control wheel

It works. Module and package information will follow as soon as I figure them out.

Things that needed customization

WLAN (Intel WiFi Link 5100)

The notebook comes with an Intel WiFi Link 5100 device. It does not work out-of-the-box. Following this article, I’ve installed the firmware-iwlwifi package and loaded the iwlagn module.

Sound (Intel)

For the sound device to work the snd_hda_intel module is necessary. Further the following lines must be added to /etc/modprobe.d/alsa-base.conf

# not sure about the first line, start adding the second only
options snd-cmipci mpu_port=0x330 fm_port=0x388
options snd-hda-intel index=0 model=toshiba position_fix=1

Unsure/Not yet working

Temperature sensor

After installing the sensors-applet I got two identical temperature displays. I’m not sure what they show. Anybody an idea how to examine this?

Modem

The notebook comes with an internal modem device:

00:03.0 Communication controller [0780]: Intel Corporation Mobile 4 Series Chipset MEI Controller [8086:2a44] (rev 07)

From what I read I need hsfmodem or the sl-modem packages. “Unfortunately” the latest version is not available for amd64 from the archive, although it seems to have been built.

Untested

I did not yet test

  • Bluetooth (icon there, kernel module loaded)
  • Firewire (kernel module loaded)
  • Card-reader (kernel modules loaded)

Summit

This what lspci -k -nn tells about the used kernel modules:

00:00.0 Host bridge [0600]: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub [8086:2a40] (rev 07)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: agpgart-intel
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07)
	Subsystem: Toshiba America Info Systems Device [1179:0004]
00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a43] (rev 07)
	Subsystem: Toshiba America Info Systems Device [1179:0004]
00:03.0 Communication controller [0780]: Intel Corporation Mobile 4 Series Chipset MEI Controller [8086:2a44] (rev 07)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
00:19.0 Ethernet controller [0200]: Intel Corporation 82567LM Gigabit Network Connection [8086:10f5] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: e1000e
00:1a.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 [8086:2937] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: uhci_hcd
00:1a.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 [8086:2938] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: uhci_hcd
00:1a.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 [8086:2939] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: uhci_hcd
00:1a.7 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 [8086:293c] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: ehci_hcd
00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: HDA Intel
00:1c.0 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 [8086:2940] (rev 03)
	Kernel driver in use: pcieport-driver
00:1c.1 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 [8086:2942] (rev 03)
	Kernel driver in use: pcieport-driver
00:1c.2 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 [8086:2944] (rev 03)
	Kernel driver in use: pcieport-driver
00:1d.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2934] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: uhci_hcd
00:1d.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 [8086:2935] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: uhci_hcd
00:1d.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 [8086:2936] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: uhci_hcd
00:1d.7 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 [8086:293a] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: ehci_hcd
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev 93)
00:1f.0 ISA bridge [0601]: Intel Corporation ICH9M-E LPC Interface Controller [8086:2917] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
00:1f.2 SATA controller [0106]: Intel Corporation ICH9M/M-E SATA AHCI Controller [8086:2929] (rev 03)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: ahci
01:00.0 Network controller [0280]: Intel Corporation Wireless WiFi Link 5100 [8086:4232]
	Subsystem: Intel Corporation Device [8086:1201]
	Kernel driver in use: iwlagn
05:0b.0 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev ba)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: yenta_cardbus
05:0b.1 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 IEEE 1394 Controller [1180:0832] (rev 04)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: firewire_ohci
05:0b.2 SD Host controller [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 21)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
	Kernel driver in use: sdhci-pci
05:0b.3 System peripheral [0880]: Ricoh Co Ltd R5C843 MMC Host Controller [1180:0843] (rev ff)
	Kernel driver in use: ricoh-mmc
05:0b.4 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter [1180:0592] (rev 11)
	Subsystem: Toshiba America Info Systems Device [1179:0001]
05:0b.5 System peripheral [0880]: Ricoh Co Ltd xD-Picture Card Controller [1180:0852] (rev 11)
	Subsystem: Toshiba America Info Systems Device [1179:0001]

Green IT - a GSoC topic?

Thursday, September 17th, 2009

I’m back from the conference at Berlin “Faktor X - Tag der natürlichen Ressourcen”, a side-conference of the World Resources Forum 2009 in Davos.

It was pretty interesting, although the topic is not new. If you don’t know it: We are running out of (several) resources. The main topics going through the media are often “energy” and “oil”. Well, several metals will become much more problematic much more earlier! So, what is the aim: material-, product- and production-efficiency and recycling/upcycling(/downcycling).

One of the topics mentioned at the conference was the IT industry. One of the keywords is “green IT” - more efficiency through IT, more efficiency by more efficient hardware, better recycling of hardware, …. Another point was “more efficiency by more efficient software”. One of the questions mentioned was “how much resources costs a click at google”. I think, one can adapt this question to almost every software. We have several software, which is widely used. I’ll just mention the apache web-server. Would’t it be good to know, that this widely used software won’t waste CPU cycles for nothing?

So what about a GSoC project checking such “often/widely used” software for efficiency (besides checking for buffer or heap overflows or NULL pointer dereferences)? Can anybody imagine such a project? What is your opinion?

Writing manual pages in GROFF (1)

Tuesday, September 15th, 2009

I always wanted to write a short howto for Debian package maintainers, how to write a manual page in GROFF. This is useful for short documents (for longer documents, docbook/docbook-xsl can be a good choice). I already have written some parts. However, here is the first part of hints. More might follow later.

The delimiter in the NAME section

The name section is (probably) the only place, where exactly one hypen-minus \- must appear. The hyphen-minus is the delimiter between the command name and one-line description.

.SH NAME
foo-bar \- foos the template foo-what-bar

Typical mistakes regarding paragraphs

Using a .PP macro directly following a .SH or .SS macro is useless. This macro should be used between paragraphs:

.SH OPTIONS
The program follows the usual GNU command line syntax, with long options starting with
two dashes (`\-').
.PP
A summary of options is included below.

Options/File descriptions

To describe options or files it’s usually useful to make use of the .TP macro.

.SH OPTIONS
.TP
.B \-f, \-\-force
Force the execution of the specified command.
.SH FILES
.TP
.I ~/.foobar
Per user configuration file.

To create more than one intended paragraph the .IP macro can be used.

.TP
.B \-f, \-\-force
Force the execution of the specified command.
.IP
This option has no effect in conjunction with \fB\-\-foo\fP.

Avoid hyphenation in URLs/URIs/paths

Usually we don’t want URLs or URIs to be hyphenated. This can be done using the \% sequence. Typical examples:

A short tutorial is available online at \fI\%http://foo.tld/some/path/here/manual.html\fP.
On a Debian system the complete text of the GNU General Public License
version 2 can be found in the file \fI\%/usr/share/common-licenses/GPL\-2\fP.

Referencing persons and their mail address

The common markup is to write the person name in bold letters and the mail address in roman letters is put into angle brackets. It’s usually a good idea to mark where the mail address starts and ends. We can use the \& sequence as shown in the following example:

\fBDaniel Leidert\fP <\&daniel.leidert@wgdd.de\&>

Abit AirPace, ath5k and eduroam

Friday, April 10th, 2009

I tried to connect my university workstation to the wireless eduroam network on the campus. The workstation was delivered with an Abit AirPace wlan card (probably an Atheros 5006 chipset). The first thing necessary was the ath5k kernel module (my first shot using ndiswrapper didn’t work). Both Debian lenny and Ubuntu intrepid-updates provide it.

Now there are generally 3 ways to connect to the AP. All making use of wpasupplicant. Further the certificate (may differ for the universities) is necessary.

/etc/wpa_supplicant/wpa_supplicant.conf

This is described at the sites of my university. It’s written in German, but it should still be easy to understand. Let’s just mention the snippet for /etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=2
ap_scan=1
fast_reauth=1

network={
	ssid="eduroam"
	key_mgmt=WPA-EAP
	proto=RSN
	pairwise=CCMP
	group=TKIP
	eap=TTLS
	anonymous_identity="anonymous@tu-dresden.de"
	identity="****@tu-dresden.de”
	password=”****”
	ca_cert=”/etc/wpa_supplicant/TUD-CACert.pem”
	phase2=”auth=PAP”
}

Instead of the script suggested at the site above, you can also use this snippet in /etc/network/interfaces:

auto wlan0
iface wlan0 inet dhcp
	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/etc/network/interfaces

It is also possible to put the values directly into /etc/network/interfaces:

auto wlan0
iface wlan0 inet dhcp
	wpa-ssid eduroam
	wpa-proto RSN
	wpa-group CCMP TKIP
	wpa-pairwise CCMP TKIP
	wpa-key-mgmt WPA-EAP
	wpa-eap TTLS
	wpa-ca-cert /etc/wpa_supplicant/TUD-CACert.pem
	wpa-phase2 "auth=PAP"
	wpa-anonymous-identity anonymous@tu-dresden.de
	wpa-identity ****@tu-dresden.de
	wpa-password ****

network-manager

Here is a screenshot of the authentication dialog.

So now everybody at the University of Dresden wanting to use eduroam should hopefully be able to configure this connection on his Debian/Ubuntu system.

Update to Lenny

Tuesday, February 17th, 2009

Now that Lenny has been released I’ve updated some machines and found just one flaw. There is a cvsd installation, which has been extended with an OpenSSH server. After the upgrade the server refused the connection. Enabling debugging output showed:

sshd[...]: fatal: ssh_selinux_getctxbyname: ssh_selinux_getctxbyname: security_getenforce() failed

in the log. Searching the web a bit revealed, that the CHROOT now needs a mounted /proc. Done and everything works :)

Danke! Gratulation! … Und tragt keine Trauer!

Sunday, June 29th, 2008

Gratulation und ein riesiges “Danke!” an unsere Deutsche Nationalmannschaft für diese schöne und eigentlich grandiose Europameisterschaft. Ihr habt uns auch ohne den Titel Spaß und Freude gebracht und das Sommermärchen fortgesetzt. In 2 Jahren geht’s weiter ;)

[DSA 1571-1] New openssl packages fix predictable random number generator

Wednesday, May 14th, 2008

Ok, shit sometimes also happens to Debian users.

Now I read a lot of FUD, flames, arrogant claims and much more bad things, including blaming of downstream in general.

Well, Debian maintainers are NOT upstream authors. Maintainers often care about a lot more than just 1 package. Now I wonder if one can really expect, that maintainers know the source code of their packages as good as upstream authors do? Is this, what the user or the Debian project expects from a package maintainer? I agree, that this would be the ideal situation. But how realistic is it, if one maintains 10, 20 or more packages?

Normally users report us issues. We take a look at the source, try to catch the issue, track it down and fix it. And IMHO in almost all cases this is enough and it lets us handle several packages. And maybe this is also, what happened here. The maintainer got a report, tracked it down and tried to fix it. It seems, he posted it to the openssl-dev list, which is to my reading considered for such questions, and got a positive response. And with fixing it, he made a horrible mistake. But apparently it also seems, that the question had been discussed earlier more than just once (I wish, the OpenSSL guys would have created the FAQ entry earlier).

I don’t want to blame the maintainer for doing this mistake. We are humans. But do we need another instance, that (periodically) checks (probably only Debian-specific) patches/changes to security relevent software or do we need different requirements for maintainers of such software [1] or should we simply archive this under “Shit sometimes happens … even to Debian users”?

[1] Consider gnupg which is currently almost unmaintained. It also has Debian specific patches applied and I wonder, which skills the new maintainer should or must(?) have (IIRC this question was raised in the linked threads too)?

Sorry

Tuesday, April 29th, 2008

I’m sorry for any inconvenience you had yesterday or today trying to access my web services. But I had to perform some long standing maintenance tasks. The service is now running again. If you still observe problems, please don’t hesitate to tell me.

DIN bestreitet Verfahrensmängel bei der Abstimmung zu OOXML mit 7 zu 13 Stimmen

Monday, March 31st, 2008

Wie vor wenigen Tagen veröffentlicht, hat das Lenkungsgremium des DIN-Normenausschusses Informationstechnik und Anwendungen (NIA) entschieden, dass bei der Abstimmung zum OOXML-Schrott “nach formalen Kriterien der Prozessablauf in der ISO nach Meinung des Lenkungsgremiums” nicht “fehlerhaft gewesen sei”.

Bei gerade einmal 7(!) von insgesamt 20 Stimmen, die dafür stimmten (6 stimmten explizit dagegen und eine Ja-Stimme holte man sich auch noch vom hauptamtlichen Mitarbeiter des DIN), bleibt mir nur zu sagen: Wohl kaum, liebes DIN! Mit diesem Ergebnis dann auch noch von einer “falschen und irreführenden” Berichterstattung bei den objektiven Berichterstattern zu sprechen, ist einfach nur unverschämt. Wenn gerade einmal 1/3 der Stimmberechtigten votieren, dass ein Verfahren keine Verfahrensmängel hatte und das als Beweis dieser These herangezogen wird, dann spreche ich von einer falschen und irreführenden Berichterstattung bei der DIN.

“Einschüchterung” hier und “Gelassenheit” da

Thursday, March 20th, 2008

Gestern hat das Bundesverfassungsgericht per Eilentscheidung die Vorratsdatenspeicherung zunächst einmal eingeschränkt. Dabei bescheinigten die Richter dieser Maßnahme einen “erheblichen Einschüchterungseffekt”. Der stellvertrendende Regierungssprecher Thomas Steg sagte dazu: “Im Kabinett jedenfalls ist die Entscheidung nicht lange diskutiert worden und sie ist mit großer Gelassenheit zur Kenntnis genommen worden.”. Wie bitte? Mir ist nicht ganz klar, wie sich die Einschüchterung der Bevölkerung mit der freiheitlich demokratischen Grundordnung vereinbaren lässt. Offenbar ist diese Regierung an letzterem nicht länger interessiert, sonst hätte man die Aussage der roten Roben nicht mit großer Gelassenheit zur Kenntnis genommen.

Es bleibt nur zu hoffen, dass das Bundesverfassungsgericht die Zugriffsmöglichkeiten und die Speicherfristen in seiner endgültigen Entscheidung weiter beschränken wird. Nach bisherigem Vernehmen wird das Gesetz selber wohl nicht gekippt werden (AFAIK und IANAL).

LDFLAGS = −Wl,−−as−needed

Tuesday, November 27th, 2007

Now that I discovered this nice flag I checked a few of my packages. It works nice for the gnome-chemistry-utils application packages. Unfortunately libgcu0 does not benefit from the flag because of libtool bug #347650. However there is an appreciably difference in the dependencies for the plugin and application packages, where the amount of dependencies decreased. For example compare the old

Depends: iceweasel | iceape-browser | xulrunner, libart-2.0-2 (>= 2.3.18),
libatk1.0-0 (>= 1.20.0), libc6 (>= 2.6.1-1), libcairo2 (>= 1.4.0), libgcc1 (>= 1:4.2.1), libgconf2-4 (>= 2.13.5),
libgcu0 (<< 0.9), libgcu0 (>= 0.8), libgl1-mesa-glx | libgl1, libglade2-0 (>= 1:2.6.1), libglib2.0-0 (>= 2.14.0),
libglu1-mesa | libglu1, libgnomecanvas2-0 (>= 2.11.1), libgnomeprint2.2-0 (>= 2.17.0),
libgnomeprintui2.2-0 (>= 2.17.0), libgnomevfs2-0 (>= 1:2.17.90), libgoffice-0-4 (>= 0.4.2),
libgsf-1-114 (>= 1.14.7), libgtk2.0-0 (>= 2.12.0), libgtkglext1, libice6 (>= 1:1.0.0), libnspr4-0d (>= 1.8.0.10),
libopenbabel2, liborbit2 (>= 1:2.14.1), libpango1.0-0 (>= 1.18.3), libsm6, libstdc++6 (>= 4.2.1), libx11-6,
libxml2 (>= 2.6.27), libxmu6, libxt6, zlib1g (>= 1:1.2.3.3.dfsg-1)

and the new Depends field for gcu-plugin:

Depends: libc6 (>= 2.6.1-1), libgcc1 (>= 1:4.2.1), libgcu0 (<< 0.9),
libgcu0 (>= 0.8), libglib2.0-0 (>= 2.14.0), libgnomevfs2-0 (>= 1:2.17.90), libgtk2.0-0 (>= 2.12.0),
libnspr4-0d (>= 1.8.0.10), libstdc++6 (>= 4.2.1), libx11-6, libxml2 (>= 2.6.29), iceweasel | iceape-browser |
xulrunner

As another example bluefish now (the next upload) really only shows the necessary dependencies. Compare the current:

Depends: libart-2.0-2 (>= 2.3.18), libaspell15 (>= 0.60),
libatk1.0-0 (>= 1.20.0), libbonobo2-0 (>= 2.15.0), libbonoboui2-0 (>= 2.15.1), libc6 (>= 2.6.1-1),
libcairo2 (>= 1.4.0), libfontconfig1 (>= 2.4.0), libgconf2-4 (>= 2.13.5), libglib2.0-0 (>= 2.14.0),
libgnome2-0 (>= 2.17.3), libgnomecanvas2-0 (>= 2.11.1), libgnomeui-0 (>= 2.17.1),
libgnomevfs2-0 (>= 1:2.17.90), libgtk2.0-0 (>= 2.12.0), libice6 (>= 1:1.0.0), liborbit2 (>= 1:2.14.1),
libpango1.0-0 (>= 1.18.2), libpcre3 (>= 6.0), libpopt0 (>= 1.10), libsm6, libx11-6, libxcomposite1 (>= 1:0.3-1),
libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3 (>= 1:4.0.1), libxi6, libxinerama1,
libxrandr2 (>= 2:1.2.0), libxrender1

to the “upcoming” Depends field:

Depends: libaspell15 (>= 0.60), libc6 (>= 2.7-1), libglib2.0-0 (>= 2.14.0),
libgnomeui-0 (>= 2.17.1), libgnomevfs2-0 (>= 1:2.17.90), libgtk2.0-0 (>= 2.12.0), libpango1.0-0 (>= 1.18.3),
libpcre3 (>= 6.0)

Nice result. I should check (my) other packages too :) Maybe that’s also something for debichems TODO list.

GNU make vs. BSD make - a practical problem experience

Monday, November 12th, 2007

I’m currently evaluating Olivier Sessinks jailkit to maintain a small cvsd CHROOT with an included SSH server. The cvsd-buildroot command e.g. doesn’t handle the libpam-modules dependency in the CHROOT. So I tried to update the Debian packaging files included in the jailkit source. During this work I found some issues with the build environment - e.g. no DESTDIR support and some other stuff (another user already complained, that there might be problems with the SUID installation part for jk_chrootsh, jk_uchroot and jk_procmailwrapper of the Makefiles).

So I began to check and “fix” the Makefiles and the configure script and then sent everything to Olivier. I did not only add the DESTDIR variables. I also made use of built-in rules, common variables (also for implicit rules), … and such stuff to make the Makefiles shorter and easier to maintain. My fault: I tested everything with GNU make. Now Olivier complained, that BSDs make doesn’t work anymore. So we began a short hack session to check for the problems.

My first issue: I had to find some BSD make to test it myself. I found it in the freebsd5-buildutils, that contains the freebsd-make command. Then we began to check for incompatibilities and that’s the result:

  1. ifdef statements differ in syntax
    • GNU make uses ifdef VAR
    • BSD make uses .ifdef VAR

    solution: We replaced the statement with a construct similar to AM_CONDITIONAL. But we do not use this macro, because it would need to be shipped in aclocal.m4, which is currently not necessary. The code simply sets a variable foo_TRUE to ‘# ‘, if the condition is wrong, or the variable is left empty, if the condition is true:

    if test "x$my_condition" != "xno" ; then
        AC_SUBST([foo_TRUE], [])
    else
        AC_SUBST([foo_TRUE], [# ])
    fi
    FILES = bar
    @foo_TRUE@FILES += foo
  2. prerequisite variables differ in syntax
    • GNU make uses $<, $^, $@, …
    • BSD make uses ${.IMPSRC}, ${.ALLSRC}, ${.TARGET}, … (note, that both *SRC variables hold a list of source files)

    Unfortunately both make implementations don’t seem to share a variable for the list of prerequisites. So the only solution is to list all prerequisites in the rule again. A variable would be much more comfortable. Maybe one could write a function, that first tests ${.IMPSRC} and falls back to $^. Maybe that’s an alternative, but it’s IMHO not a very good solution. We’ve chosen to write down all prerequisites in a rule instead of using a variable. This is a little bit “harder” to maintain, but it works.

  3. built-in rules are not shared and do not use the same variables
    • GNU make ships built-in rules to build objects from sources and link them; rules consider CPPFLAGS
    • BSD make ships built-in rules to build objects from sources, but there are no rules to link them; rules do not consider CPPFLAGS

    In the case of GNU make, one can simply write:

    myprog: foo.o bar.o

    and GNU make will automatically create foo.o from foo.c (.c.o:, ditto for bar.o) and at least link myprog (.o:). But BSD make will only create the object files. There is no final link-step. So we had to include the rule to link the program in the Makefile.

Finally we got it and it looks good now. I/We learned a lot of new things (I learnd a lot about BSD make) ;), but it took us 1-2 hours to understand and fix the problems.

Here a list of URLs, that might give some more information about the programs, their syntax and limitations:

Experiences with the “new” fglrx-driver 8.42.3 package

Tuesday, November 6th, 2007

Yesterday I found some minutes to update my kernel. Because I did not have time to compile a 2.6.22 kernel, I simply installed linux-source-k7 (linux-source-2.6-k7). This was a “welcome” occassion to update the ATI/AMD Linux driver for my Radeon X1650 Pro graphics card to their latest version 8.42.3.

As a first step I had to find out, that upgrade from my 8.38.x version did not seem to work properly. I got some error messages regarding the diversions in /usr/lib/fglrx/diversions/. So I purged the fglrx* packages. Then I manually removed the diversions, the (now) empty /usr/lib/fglrx/diversions/ directory and the configuration directory /etc/ati:

$ apt-get remove --purge fglrx-driver fglrx-kernel-src fglrx-control
$ dpkg-divert --remove /usr/llib/libGL.so.1
$ dpkg-divert --remove /usr/llib/libGL.so.1.2
$ rm -rf /usr/lib/fglrx /etc/ati

Then I reinstalled the fglrx* packages, installed the headers linux-headers-2.6-k7 and prepared the flgrx module package with m-a:

$ m-a prepare
$ m-a -l 2.6.22-3-k7 build fglrx

Installing the package and rebooting brought up the system again. glxgears shows around 3000 FPS. However, although everything seems to work properly, I found some log entries and errors, that concern me.

First thing is, that fgl_glxgears refuses to work.

$ fgl_glxgears
Using GLX_SGIX_pbuffer
X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  131 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  42
  Current serial number in output stream:  43

Looking into the Xorg.0.log shows me this error:

(EE) fglrx(0): Failed to enable interrupts.

And dmesg shows this:

[fglrx] IRQ_MGR is disabled untill GART_CACHABLE memory will be implemented<6>
[fglrx] Internal AGP support requested, but kernel AGP support active.
[fglrx] Have to use kernel AGP support to avoid conflicts.
[fglrx] AGP detected, AgpState   = 0×1f000217 (hardware caps of chipset)
agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.
agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode
agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode
[fglrx] AGP enabled,  AgpCommand = 0×1f000314 (selected caps)
[fglrx:firegl_lock] *ERROR* Process 32648 is using illegal context 0×00000003

This is very similar to everything I read at e.g. phoronix.com. So if you read between the lines: I did not find a solution nor an answer to the shown error message(s) nor the runtime error. So if you know, what’s causing this and how it can be solved, please let me know.

At least the good news is: XVideo seems to work again. No juddering video playback. I like that. Now the bad news: It still burdens my CPU (causes a constant usage of 50-70%). I can even observe this effect when the screensaver is running … and I think, this is NOT the intended design. So I turned off the screensaver for now and simply make the screen go black and lock.

PS: Maybe I will have a look at updating the fglrx manpages (@ATI/AMD: They are still offered for adoption!)

Etch, sftp and the rssh shell

Monday, May 14th, 2007

And finally I discovered an issue. SFTP did not work anymore. The debug session showed:

[..]
debug1: Sending subsystem: sftp
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: Transferred: stdin 0, stdout 0, stderr 0 bytes in 0.2 seconds
debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 0.0
debug1: Exit status 0

The user only has the RSSH shell (sftp enabled) and he is further limited by the following entry in .ssh/authorized_keys:

command="/usr/lib/sftp-server" [SSH-key]

But this doesn’t work anymore. /usr/lib/sftp-server now is a symlink to /usr/lib/openssh/sftp-server and I had to change the .ssh/authorized_keys for the user to:

command="/usr/lib/openssh/sftp-server" [SSH-key]

and access is granted again.

Update

This one can be found in syslog:

rssh[xxx]: user XXX attempted to execute forbidden commands
rssh[xxx]: command: /usr/lib/sftp-server

Sarge -> Etch transition

Monday, May 14th, 2007

Yesterday I’ve finally updated my server from Sarge to Etch (around 300 packages to update, 100 newly installed, 15 to remove). The whole transition went smooth in a screen session in about 4 hours or so.

  1. I began with a normal upgrade as suggested by the release notes.
  2. The next step introduced the new initrd-tools and libc6 to the system …
  3. … followed by the installation of a new linux-image and udev.
  4. The last step in updating the packages involved a complete dist-upgrade.
  5. Then it was time for a reconfiguration of all the services, that installed massively changed config files [1] and fixing all the chroots and broken package configurations caused by package transitions.
  6. The reboot brought up the system at first go. Checking with dmesg and bootlogd did not show any serious issues: /dev ok and all services up and running with the new kernel. So besides a few modules, which are not longer available or changed their name, no issues occured.
  7. With the new system up and running I did some cleanup, removing unused packages and those, that were removed in Etch (all together around 25).

That’s all. New system up and running (with a few configuration works left) and no need to restore the system from the image :). So yes, I’m satisfied. Let’s see, if issues will occur later.

[1] In this case I installed the package maintainers version and re-added my changes later.

[SOLVED] Evolution mail view always showing mail bottom

Wednesday, November 15th, 2006

Issue

I noticed, that my evolution was always directly scrolling to the end of a mail in the mail view. That was really annoying.

Solution

This is the “Cursor mode”. Just pressing F7 disables it and the mails are shown from the beginning. Source: MID <rj9914-vjk.ln1@calamity.informatik.uni-bremen.de>