Author Archive
pastecode.org relaunched
by carsten on Nov.28, 2010, under PHP
Auf pastecode.org läuft nun ein neues pastebin Setup, das alte originale pastebin wurde leider extrem mit Spam zugemüllt. Die neue Software nennt sich stikked und ist ebenfalls vollständig in PHP geschrieben und sehr modular aufgebaut, was mir diverse Anpassungen sehr vereinfacht hat. Im Originalquellcode war die PHP Einstellung “short_open_tag = On” eine Vorraussetzung, was in aktueller Software nicht mehr genutzt werden sollte. Der Patch diese Vorraussetzung zu entfernen, war relativ schnell erstellt und steht auf meiner OSS Seite zum download bereit und wurde auch im Bugtracker des Projektes hochgeladen.
Neues Spielzeug – Lenovo X201 12″ Notebook
by carsten on Oct.10, 2010, under Hardware, Mobile, RPM Packageing, SLE
Diese Woche habe ich mir endlich mein neues Notebook gegönnt. Bisher hatte
ich ein HP nx8220 15″ Notebook was innerhalb von 4 Jahren drei mal
den gleichen Defekt hatte (Mainboard Fehler, kein Power-On oder kein WLAN).
Zum Glück konnten zwei dieser Defekte innerhalb der Garantiezeit repariert werden.
Leider häuften sich die Berichte zu diesem Modell im Netz, die genau
mein Fehlerbild wieder spiegelten. Das ganze ist nun zum Glück Geschichte
und ist natürlich in die Auswahl für das neue Notebook mit eingeflossen.
– kein HP mehr (auch beruflich habe ich hier sehr schlechte Erfahrungen mache müssen)
– unbedingt mit Garantieverlängerung kaufen
Weitere Kriterien für das neue Notebook waren:
– standard Tastaturlayout
– mattes Display
– SSD Festplatte
– niedriges Gewicht
– lange Akkulaufzeit
– möglichst viele integrierte Netzschnittstellen (LAN,WLAN,Bluetooth,UMTS)
– hohe Auflösung im Verhältnis zur Bild diagonale
Daraus habe ich mich für das Lenovo Thinkpad X201 Bundle NUSREGE entschieden,
bei dem zum eigentlichen Notebook auch eine Dockingstation mit integriertem
DVD Brenner mitgeliefert wird.
Die technischen Details des Notebooks im Überblick:
– Intel Core i5-520M(2,4GHz)
– 4GB RAM
– 128GB SSD SAMSUNG
– 12,1″ Display 1280×800 LCI
– Intel HD Graphics
– Intel 802.11agn Wireless
– WWAN
– Bluetooth
– Modem
– 1Gb Ethernet
– Ultranav
– Secure Chip
– Fingerprint Reader
– Camera
– 9c Li-Ion
– Windows 7 Pro64
Da ich nun kein wirklicher Freund von Windows bin war der erste Schritt
nach dem auspacken, ein Backup der bestehenden Daten in ein Image (falls
man es später irgendwann doch mal brauchen sollte). Ok, es war
nicht ganz der erste Schritt, ich habe mir erst mal die mitgelieferte
Lenovo Managementsoftware angesehen. Diese erlaubt es sehr komfortabel
alle Treiber und Firmwareupdates für das Gerät auf einen Schlag herunterzuladen
und zu installieren. Daher habe ich erst alle verfügbaren Updates inkl.
BIOS Update eingespielt. Im Anschluss wurde das Backup mittels CloneZilla
erstellt und auf meinem lokalen NAS gespeichert.
Als neues Betriebssystem hatte ich mir SuSE Linux Enterprise Desktop 11 SP1
ausgesucht. Bei der Basishardware hatte ich keine Bedenken was die Treiberunterstützung
angeht. Lediglich UMTS & Fingerprint stellten sich nach der Installation
als etwas problematisch heraus.
Die Installation habe ich mittels eines vorbereiteten Autoyast Profils
durchgeführt, welches ich zuvor schon für andere Desktopinstallationen
vorbereitet hatte.
Die Installation lief reibungslos durch, allerdings startete der X Server
nach der Installation nicht. Den gleichen Fehler hatte ich bereits
bei einer früheren Installation festgestellt und damit konnte dieser
schnell behoben werden. Die Fehlermeldung dazu war:
kdm[5974]: X server “-br” cannot be executed
Diese Meldung deutet auf eine unvollständiges Kommando hin, was aus
nicht definierten Variablen hervorgeht.
Die Lösung dazu ist sehr einfach, in der Datei /usr/share/kde4/config/kdm/config/kdmrc
die während der Installation angelegt wird sind die meisten Parameter
auskommentiert. Die beiden wichtigsten muss man einfach nur ein kommentieren:
ServerArgsLocal=-nolisten tcp
ServerCmd=/usr/bin/X
Danach kann der X Server mittels ‘/etc/init.d/xdm start’ normal
gestartet werden.
Eine weitere kleine Hürde war die Soundausgabe. In Skype wurde
bei den Audiogeräten nur “Pulseaudio” zur Auswahl angeboten, damit
war es mir nicht möglich ein eingeschlossenes USB Headset direkt
auszuwählen. Unter KDE4 kann dies über Phonon in den KDE Systemeinstellungen -> Multimedia
normaler Weise direkt fest konfiguriert werden, allerdings hatte
das erstens keine Auswirkung auf Skype und zweites gab es den
Nebeneffekt das z.B. Flashvideos in Firefox manchmal ohne Ton
abgespielt wurden. Die Lösung dafür ist auch relativ einfach.
Man öffnet eine root Konsole und deinstalliert pulseaudio.
zypper remove pulseaudio
Zypper bittet dafür um Bestätigung und listet eine Reihe von
weiteren pulseaudio Unterpaketen auf, die ebenfalls deinstalliert werden.
Nach einem Neustart/Neulogin können in Skype die gewohnten
Audiogeräte ausgewählt werden.
Um Phonon noch um das xine Audiobackend zu erweitern und
auch andere Multimedia Applikationen zur Verfügung zu haben
(z.B. Mplayer & VLC) habe ich einige Packman Pakete für SuSE Linux Enterprise 11 SP1
in meine Buildservice rekompiliert. Das daraus erstellte Repository
habe ich einfach in Yast eingetragen und die nötigen Pakete
phonon-backend-xine, vlc und MPlayer installiert. Fragen
nach einem Anbieterwechsel habe ich natürlich bestätigt.
Eine etwas größere Herausforderung war der Fingerprint Leser.
Hierzu gibt es im Netz zum Glück schon eingie Berichte, Patches
und diverse Software die eine Nutzung ermöglichen. Allerdings
waren diese zum Release von SLES/SLED11 noch nicht verfügbar bzw.
im aktuellen Entwicklungsstadium. In openSUSE 11.3 sollten
alle relevanten Pakete von Haus aus enthalten sein und
somit dürfte die Hardware dort von Haus aus funktionieren.
Ich habe mich also daran gemacht die nötigen Pakete auf SLES/SLED11
zurück zu portieren. Dazu habe ich ebenfalls ein Repository in
meinem Buildservice angelegt.
Dort sind neben einer neueren libusb auch eine aktuelle libfprint
enthalten und das Paket pam_fprint. Nach der Installation dieser Pakete
habe ich nur noch die Datei /etc/pam.d/common-auth um die Zeile
für pam_fprint erweitert.
auth required pam_env.so
auth sufficient pam_fprint.so
auth required pam_unix2.so
Mittels pam_fprint_enroll kann man den eigenen Fingerprint einlesen.
Dies muß als Benutzer root durchgeführt werden, da das Tool schreibende
Rechte auf den Fingerprint Leser benötigt. Die eingescannten
Fingerprints können einfach auf einen beliebigen Nutzeraccount
übertragen werden. Dazu muß der Ordner .fprint im Homeverzeichnis
des Benutzers root in das gewünschte Homeverzeichnis umkopiert werden
(Rechte auf den neuen Benutzer anpassen nicht vergessen).
Bei grafischen Logins (KDM, Screensaver) wird eine Meldung angezeigt
die um Scan des Fingers bittet und bestätigt werden muß. Sobald
der Scan erwartet wird, leuchtet am Fingerprint Sensor die grüne LED.
Bei Programmen die z.B. mittels KDESU gestartet werden (z.B. Yast)
kommt leider keine Meldung die zum Scan auffordert, allerdings
leuchtet auch hier die grüne LED des Sensors. Daher kann
man einfach “blind” scannen und dann startet das Programm.
Bei mehrfach fehlgeschlagenem Scan erscheint die übliche Passwortabfrage.
Die wohl größte Tüftelei war das UMTS Modem in Gang zu bekommen.
Auch hierzu gibt es diverse Erfahrungsberichte und Anleitungen im Netz
die mir sehr geholfen haben. Das verbaute UMTS Modem ist von Qualcomm Inc., die Ausgabe von ‘lsusb’
Bus 002 Device 010: ID 05c6:9204 Qualcomm, Inc.
Wichtig ist hier die ID des Gerätes, diese wird sich später leicht
ändern sobald Treiber und Firmware geladen sind.
Leider liegen bei SLES/SLED11 weder der passende Treiber noch Firmware
Dateien bei. Allerdings gibt es für den Kernel passende Patches
und einen extra Firmwareloader mit denen die Nutzung möglich wird.
Die Patches für den Kernel habe ich auf das Originalkernelmodul
angewendet und in einem Kernelmodulpaket bereitgestellt.
Neben dem Kernelmodul ist im gleichen Repository
auch die Firmware inkl. Loader hinterlegt. Der Loader läd
mittels udev Regel beim booten die Firmwares sobald der angepasste
Treiber “qcserial” geladen wird. Sobald dieser aktiv ist erscheint
in ‘dmesg’ folgende Ausgabe:
qcserial 2-1.4:1.2: Qualcomm USB modem converter detected
usb 2-1.4: Qualcomm USB modem converter now attached to ttyUSB0
Zudem ändert sich die Geräte ID in der Ausgabe von ‘lsusb’
Bus 002 Device 010: ID 05c6:9205 Qualcomm, Inc.
Hier ist zu sehen das sich die letzte Stelle der ID von 4 auf 5 geändert
hat. Das deutet darauf hin das die Firmware ordnungsgemäß
geladen wurde. Bisher konnte ich allerdings noch keinen Einwahltest
durchführen, da mir aktuell noch eine SIM fehlt.
Als letztes habe ich noch einige Optimierungen/Anpassungen für die SSD vorgenommen. Dazu gehören neben tmpfs Einträgen in der Datei /etc/fstab auch die Anpassung des Standard Schedulers für die Festplattennutzung.
tmpfs /tmp tmpfs size=25%,noexec,nosuid 0 0
/tmp /var/tmp auto rw,bind,noexec,nosuid 0 0
Die Anpassung des Schedulers findet in /boot/grub/menu.lst statt, dabei werden die Parameter des Kernels um folgenden ergänzt.
elevator=noop
Zur Laufzeit kann diese Änderung mit folgendem Befehl durchgeführt werden.
echo noop > /sys/block/sda/queue/scheduler
Andernfalls tut es auch ein reboot des Systems.
Soweit läuft das neue Notebook nun absolut einwandfrei, auch
das an- und abdocken funktioniert prima. An der Dockingstation habe
ich zusätzlich einen 24″ Samsung LCD Monitor angeschlossen
der beim Andocken automatisch erkannt wird und konfiguriert werden
kann. Auch die integrierte LAN Schnittstelle und USB Ports
werden automatisch benutzt.
Stresslinux 0.6.101 basierend auf openSUSE 11.3
by carsten on Sep.29, 2010, under Hardware, RPM Packageing, Virtualization, VMware
Die erste Version von stresslinux basierend auf openSUSE 11.3 steht zum download bereit. Neben den Neuerungen der Basisdistribution (von 11.2 auf 11.3) sind auch einige
zusätzliche Pakete aktualisiert worden, dazu gehören:
- bandwidth 0.23a
- busybox 1.17.2
- memtester 4.2.0
- stressapptest 1.0.3
- x86info 1.27
Leider gibt es seitens SUSESTUDIO noch keine Möglichkeit PXE Versionen zu erstellen, daher sind weiterhin nur ISO, USB und VMware Images verfügbar.
Viel Spaß beim Testen!
SLED/SLES11 SP1 – CIFS Kernel Fix
by carsten on Sep.10, 2010, under SLE
Gestern habe ich von Novell einen aktualisierten Kernel bekommen in dem der CIFS Bug
behoben ist. Der Kernel hat, zumindesst vorübergehend (bis zum finalen release),
die Version 2.6.32.13-0.5.1.1726.0.PTF-default.
Im changelog findet sich folgender Eintrag:
– patches.fixes/cifs-fix-vfs-busy-inode-errors: Revert the commit that fixes
page refcount leak which is not required but causes hangs (bnc#627518).
Der neue Kernel ist noch nicht öffentlich verfügbar, die Änderung wird
aber aller vorrausicht nacht so in den Hauptkernel und somit das nächste
Update einfließen.
Update (13.09.2010 21:13):
Das offizielle Update des Kernels wurde heute frei geben, neben diversen Sicherheitsfixes wurden auch einige Bugs beseitigt.
Details dazu gibt es hier
SLES 10 SP3 DomU auf SLES 11 SP1 Host
by carsten on Aug.17, 2010, under SLE, Virtualization, XEN
Bei einem Kernelupdate eines SLES 10 SP3 Gastsystems auf einem SLES 11 SP1 XEN Host
kam es bei mir, während der letzten Kernelupdates in den DomUs vor,
das ich erst von PV auf HVM und nun wieder auf PV wechseln mußte
damit die virtuellen Maschinen wieder booten konnten.
Das erste Update war von 2.6.16.60-0.62.1 auf 2.6.16.60-0.66.1
und dann kam das heutige auf die Version 2.6.16.60-0.67.1
Nach dem einspielen des letzten Updates kamen meine DomUs nicht mehr hoch.
Ein ‘xm list’ zeigte einen normalen status. Ein Versuch die Console der VM
zu öffnen mittels ‘xm console <domain>’ wurde mit folgendem Fehler abgebrochen:
xenconsole: Could not read tty from store: No such file or directory
Ein neustart des xend und auch ein reboot des gesamten Hostsystems hat
nicht geholfen, da mein erster Verdacht in Richtung xenconsoled ging hatte
ich dies zuerst versucht. Leider bis hierher vergebens.
Dann erinnerte ich mich das ich beim Kernelupdate davor auf HVM wechseln
mußte damit meine DomUs wieder hoch kamen. Also war der nächste Schritt
diese Umstellung rückgängig zu machen.
Das ganze klappte auf Anhieb und alle VMs laufen nun wieder paravirtualisiert.
SuSE Linux Enterprise Desktop 11 SP1 – CIFS Kernel BUG
by carsten on Aug.13, 2010, under SLE
Anfang dieser Woche ist mir nach der Neuinstallation einer Workstation bzw. beim updaten vorhandener Systeme ein Kernel BUG im CIFS Treiber untergekommen.
Bei gemounteten Freigaben unseres Samba Servers kommt es beim Lesen oder Schreiben (Verzeichnislisting funktionert – “ls -al”) auf die Freigabe zu einem Lockup, welcher sich im Systemlog wie folgt darstellt.
Aug 10 12:26:03 linux-l4nm kernel: [ 213.425273] BUG: Bad page state in process cp pfn:694cc
Aug 10 12:26:03 linux-l4nm kernel: [ 213.425276] page:ffffea0001708ca0 flags:0020000000000010 count:0 mapcount:0 mapping:ffff880069c62ea8 index:e
Aug 10 12:26:03 linux-l4nm kernel: [ 213.425279] Pid: 3289, comm: cp Tainted: G B W X 2.6.32.13-0.5-default #1
Aug 10 12:26:03 linux-l4nm kernel: [ 213.425281] Call Trace:
Aug 10 12:26:03 linux-l4nm kernel: [ 213.425286] [<ffffffff810061dc>] dump_trace+0x6c/0x2d0
Aug 10 12:26:03 linux-l4nm kernel: [ 213.425291] [<ffffffff81394848>] dump_stack+0x69/0x71
Aug 10 12:26:03 linux-l4nm kernel: [ 213.425296] [<ffffffff810b9343>] bad_page+0xe3/0x170
Aug 10 12:26:03 linux-l4nm kernel: [ 213.425300] [<ffffffff810bc729>] __pagevec_free+0x39/0x50
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425305] [<ffffffff810bf65a>] release_pages+0x1fa/0x250
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425311] [<ffffffff810bf890>] ____pagevec_lru_add+0x1e0/0x200
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425320] [<ffffffffa04c06fc>] cifs_readpages+0x3dc/0x4d0 [cifs]
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425335] [<ffffffff810be83a>] __do_page_cache_readahead+0x14a/0x220
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425340] [<ffffffff810be92c>] ra_submit+0x1c/0x30
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425345] [<ffffffff810b5a5e>] do_generic_file_read+0x33e/0x460
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425350] [<ffffffff810b6296>] generic_file_aio_read+0xd6/0x1f0
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425355] [<ffffffff810fc7e3>] do_sync_read+0xe3/0x130
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425360] [<ffffffff810fcf87>] vfs_read+0xc7/0x130
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425365] [<ffffffff810fd0f3>] sys_read+0x53/0xa0
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425370] [<ffffffff81002f7b>] system_call_fastpath+0x16/0x1b
Aug 10 12:26:04 linux-l4nm kernel: [ 213.425376] [<00007f05e409df30>] 0x7f05e409df30
Ich habe dazu bei Novell einen Service Request geöffnet welcher, derzeit vom Engineering bearbeitet wird und vorraussichtlich mit einem neuen Kernelupdate gefixt wird.
Novell: SUSE Linux Enterprise (Server/Desktop) 11 SP1 offiziell verfügbar
by carsten on Jun.03, 2010, under SLE, Virtualization, XEN
Gestern hat Novell das Service Pack 1 für SUSE Linux Enterprise 11 offiziell zugänglich gemacht. Sowohl neue ISO Images als auch die nötigen Updatepakete werden verteilt.
Die neue Version bringt neben XEN 4.0 nun auch KVM mit und läuft mit einem aktualisierten Kernel 2.6.32.
Die wichtigsten Links im Netz:
Novell Announcement
How to update
MMS Empfang auf T-Mobile G1 / G2 Touch / HTC Hero
by carsten on Sep.06, 2009, under Mobile
Seit etwa einer Woche bin ich im Besitz eines HTC Hero von T-Mobile. Heut erst ist mir aufgefallen das ich eine eingehende MMS Nachricht nicht korrekt empfangen konnte.
Es wurde nur ein Hinweis angezeigt das die Nachricht heruntergeladen werden könne, was allerdings während eines Telefonats direkt fehlschlägt.
Sobald nicht telefoniert wird dauert es einige Sekunden bis der Vorgang mit der Meldung “Nachricht kann nicht herunter geladen werden” abgebrochen wird.
Ich habe dann die T-Mobile Hotline mit meinem Problem konfrontiert, scheinbar war der Fehler dort noch nicht in Zusammenhang mit diesem Gerät bekannt. Nach etwa 20 Minuten habe ich dann zu Testzwecken einfach mal WiFI am Handy deaktiviert …. TADA schon gings. Nach Aussage des Supportmitarbeiters von T-Mobile ist das auch beim iPhone so. Er hatte zum Testen nur ein G1 zur Hand, dort war es aber scheinbar das gleiche Problem.
Bei meinem Nokia E61i hatte ich dieses Problem nie, aber da war man auch nicht “always on” mit dem WLAN.
RIP Shuttle SN41G2
by carsten on Sep.06, 2009, under Hardware
Hardware lebt nicht ewig, aber das Shuttle SN41g2 hat mir sechs Jahre lang gute Dienste geleistet und das sogar 24×7 😉
Nun beulen sich so langsam einige Kondensatoren wodurch das System extrem instabil und somit mehr oder weniger unbrauchbar wurde.
Die letzte Hardwarekonfiguration sah wie folgt aus:
- Shuttle SN41g2 + Athlon XP 2800+
- 2x 1GB DDR 400
- AOPEN NVIDIA Geforce 6800GT (Single Slot)
- Maxtor 250GB IDE HDD
Das ganze wurde vom passenden Shuttle Netzteil (250W) getrieben was ich aufgrund der Grafikkarte nachgerüstet hatte.
Das Gehäuse und Netzteil konnten von meinem Bruder für sein Athlon64 Shuttle sogar noch als Ersatzteil verwendet werden, ganz begraben
muß ich das System also nicht.
Als neues Ersatzsystem habe ich mir nun ein Intel Core i7 2,66GHz mit folgender Ausstattung zugelegt:
- ASUS P6T Motherboard
- Corsair 3x 2GB DDR3 1333
- Corsair 550W Netzteil
- Sparkle NVIDIA Geforce 9800GT (passiv gekühlt)
- WD 500GB 32MB Caviar Black SATA HDD
- Coolermaster Elite 333 Gehäuse
Nach wie vor läuft auf meinem Desktop ein openSUSE 11.1 nun allerdings mit KDE 4.3. Im Zusammenspiel mit der neuen Grafikkarte laufen meine beiden SAMSUNG 24″ LCD Monitore nun in Full HD Auflösung. Bei der Auswahl der Komponenten habe ich großen Wert auf ein leises System gelegt
was sehr gut gelungen ist. Im Netzteil steckt ein 12cm Lüfter, ebenso im Gehäuse welcher vom Mainboard gesteuert wird. Der CPU Lüfter
ist ein Boxed Kühler von Intel, ebenso vom Board geregelt.
Backupscript fuer Askozia PBX
by carsten on Jun.10, 2009, under Backup, VoIP
Vor einigen Tagen hatte ich mir Askozia als mögliche PBX für eine kleine
VoIP Umstellung angesehen. Dabei viel mir positiv die Backupfunktion in der Weboberfläche auf.
Nach kurzer Überlegung war mir klar das die Backups automatisiert durchgeführt werden müssen um immer
ein aktuelles Backup parat zu haben. Daraus ist dann in wenigen Minuten mein askozia-backup.sh Script entstanden.