opensync mit dem Nokia 9300i

openSUSE Nachdem ich in letzter Zeit regelmäßig bei der Audi AG in Ingolstadt unterwegs bin und dort mein Nokia E90 nicht benutzen kann, weil es eine Kamera hat, habe ich mir eine Alternative zugelegt: einen guten alten Nokia 9300i.

Zunächst hatte ich einige Probleme, den Communicator mit meinem Kontact zu synchronisieren, aber jetzt habe ich eine opensync-Konfiguration gefunden, die ziemlich gut funktioniert.
Continue reading

Update auf MagicDraw 16.0

openSUSE Heute habe ich (endlich) mal die MagicDraw-Pakete im openSUSE BuildService aktualisiert. Die Version 16.0 ist ja schon eine Weile verfügbar, aber die liebe Zeit…

Die Personal Edition ist verschwunden, ebenso wie der Floating Server, aber das sollte niemanden abschrecken.

Teamwork-Server und Teamwork-Administrator sind auch enthalten, hier sind ein paar Bugs in den Init-Scripten gefixed. Das RPMlint für das Hauptpaket funktioniert jetzt auch wieder korrekt und beschwert sich deutlich weniger :-)

Updates für Beautifier

openSUSE Endlich hatte ich mal wieder ein paar Minuten Zeit…
Die habe ich auch gleich sinnvoll genutzt und die Beautifier im openSUSE Build Service aktualisiert. Uncrustify liegt jetzt in der Version 0.53 vor und das UniversalIndentGUI ist auf die Version 1.1.0 aktualisiert.

Beide Pakete können wie üblich über home:/gerritbeine für die unterschiedlichen Versionen von openSUSE bezogen werden.

pam_encfs im openSUSE BuildService

openSUSE Nachdem ich schon eine ganze Weile mit encfs unter openSUSE arbeite, wollte ich probieren, ob es nicht möglich ist, das komplette Home-Verzeichnis mit encfs zu verschlüsseln und automatisch bei der Anmeldung zu mounten. Theoretisch sollte das möglich sein – und tatsächlich mit pam-encfs geht das auch wunderbar.

Da ich ein ordentlicher Mensch bin ;-)… habe ich auch gleich ein RPM auf den openSUSE BuildService gestellt, so dass auch andere in den Genuss von pam_encfs kommen. Das RPM ist unter home:gerritbeine auf den BuildService zu finden.

Drei Dinge sind bei der Verwendung zu beachten:

PAM-Integration

Am besten lässt sich pam_encfs unter openSUSE über die Datei /etc/pam.d/common-auth-pc integrieren. Normalerweise enthält diese Datei nur die beiden Module pam_env und pam_unix2. Genau dazwischen schaltet man nun pam_encfs, so dass die Datei wie folgt ausschaut:

auth required pam_env.so
auth sufficient pam_encfs.so
auth required pam_unix2.so

fuse-Konfiguration

Damit pam_encfs mit XDM & Co. verwendet werden kann, muss man in die Datei /etc/fuse.conf die Zeile user_allow_other eintragen.

Konfiguration von pam_encfs

Die Konfiguration von pam_encfs liegt unter /etc/security/pam_encfs.conf und ist recht gut dokumentiert. Allerdings habe ich festgestellt, dass die Standard-Konfiguration nicht immer funktioniert. Daher sollte statt jener lieber folgende verwendet werden:

#Username Source Target Encfs Fuse
- /home/enc --idle=1 allow_root

Dabei gehe ich davon aus, dass das verschlüsselte Verzeichnis unter /home/enc/ liegt und in das für den User gespeicherte Home-Verzeichnis (normalerweise /home/) gemountet wird. Eine Minute nachdem sich der User abgemeldet hat, wird das Verzeichnis wieder unmountet. Die Fuse-Option allow_root ist notwendig für XDM & Co.

Jetzt kann man sein Home-Verzeichnis verschlüssel und in Zukunft wird es automatisch via encfs gemountet. Aber bitte: Backups nicht vergessen! Und falls was schiefläuft: Ich bin nicht schuld! ;-)

GPRS in Kyrgyzstan

openSUSE Seit dem 4.7. bin ich wieder einmal im schönen Kirgisistan. Hier ändert sich jedes Jahr alles und nichts, es ist faszinierend, zu beobachten wie die Kirgisen durch Bishkek wuseln. Man fühlt sich wie in einem Ameisenhaufen. Auch wenn alles sehr chaotisch wirkt, funktioniert das Leben hier doch auf eine interessante Weise unproblematisch. Wenn man die deutsche Eigenschaft des Vorausplanens abgelegt hat, kann man auch ganz gut alles so realisieren wie man sich das vorstellt.

Das beste Beispiel ist der Zugang zum Internet via GPRS. Wie in etlichen anderen Entwicklungsländern auch ist hier als mobiler Internetanschluss eher CDMA verbreitet. Nun spricht mein treuer Begleiter E90 leider kein CDMA, so dass ich ihn mit MegaCom bekannt machen musste. Nach anfänglichen Problemen funktioniert das auch sehr gut. Die Geschwindigkeit ist akzeptabel.

Was man benötigt ist folgende wvdial.conf:

[E90]
Modem = /dev/ttyACM0
Baud = 460800
SetVolume = 0
Dial Command = ATDT
FlowControl = NOFLOW

[Dialer MegaCom]
Username = internet
Password = internet
Phone = *99#
Stupid Mode = 1
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet"
Inherits = E90

Der erste Teil ist spezfisch für mein Handy (Nokia E90), der zweite Teil ist für MegaCom.
Nutzername und Passwort braucht man eigentlich nicht, aber wvdial möchte das gerne haben. Die Rufnummer für den Datendienst ist *99#, wie in Deutschland auch bei mittlerweile fast allen Anbietern. Wichtig ist für MegaCom der dritte Init, denn damit wird der APN gesetzt.

Ein wvdial --config=wvdial.conf MegaCom reicht dann, um die Internetverbindung herzustellen. Man kann die Konfigurationsdaten auch wunderbar via YaST für kinternet verwenden.

Was man sonst noch für MegaCom wissen muss:

  • *500# liefert einem wieviel Som man noch auf der Karte hat
  • *181#3# schaltet die Karte für GPRS frei (kostet nichts :-)
  • *181#1# schaltet den Billig-Tarif frei, so dass jedes Megabyte rund um die Uhr nur 2,95 Som kostet (kostet einmalig 15 Som und dann jeden Tag einen Som)
  • *181#0# schaltet den Billig-Tarif wieder aus – das kostet nichts

Damit macht das E-Mail-Lesen wieder spaß, Chats via Skype sind auch möglich, allerdings kein VoIP. Das kann man hier aber auch an jeder Straßenecke für ein paar Eurocent haben.

Scanner per YaST2 einrichten hängt

openSUSE Seit einiger Zeit verwende ich Mustek 1248UB Scanner. Die funktionieren mit sane und Kooka recht gut.

Allerdings machte der Scanner beim Einrichten unter openSUSE 11.0 Probleme (unter 11.1 habe ich es noch nicht getestet). YaST2 blieb einfach hängen, es tat sich nichts mehr.

Das Problem lies sich auf eine geradezu lächerlich triviale Weise beheben: In der Datei /etc/sane.d/dll.conf gibt es eine Liste mit Konfigurationsdateien zu den jeweiligen Scannermodellen. Die sind standardmäßig alle auskommentiert. Sobald man den Kommentar vor der jeweiligen Datei löscht, die für die Konfiguration des Scanner gebraucht wird, funktioniert die Erkennung des Scanners.

Im Fall des Mustek 1248UB muss also die Zeile

#gt68xx

durch

gt68xx

ersetzt werden.
Schon klappt die Konfiguration mit YaST2 und Kooka erkennt den Scanner auch wieder.
(Achja: Das Firmware Image SBSfw.usb von der Treiber-CD für den Scanner muss noch ins Verzeichnis /usr/share/sane/gt68xx.)

Nokia E90 mit udev

openSUSE Das E90 von Nokia und vermutlich etliche andere Handys, die per USB angeschlossen werden können, verleiten etliche Leute zu ziemlicher Akrobatik, was chmod unter /dev angeht. Störend ist das vor allem, wenn man mit opensync oder ähnlichen Tools zugreifen will.

Es gibt aber auch eine sehr schöne, saubere, geradzu elegante Lösung.
Man überlädt die udev-Regeln, die von openSUSE mitgebracht werden.

Für openSUSE 11.1 funktioniert das wie folgt:

Normalerweise werden die Gerätedateien unterhalb von /dev/bus/usb nach einer Regel angelegt, die in der Datei /lib/udev/rules.d/50-udev-default.rules steht. (Bei openSUSE 11.0 lag die Datei noch unter /etc/udev).
Die Regel lautet:

# libusb device nodes
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"

Diese Regel bewirkt, dass die Gerätedatei unterhalb von /dev/bus/usb mit dem Modus 644 angelegt wird. Außerdem gehört sie standardmäßig root:root.

Da die Datei bei einem Update wieder überschrieben würde, muss eine neue Datei anlegt werden, die /etc/udev/rules.d/99-local.rules heißen soll. 99 damit sie nach den Default-Regeln gelesen wird.
In diese Datei wird folgende Regel geschrieben:

# libusb device nodes
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0664"

Damit gehören die Gerätedateien in Zukunft der Gruppe uucp und alle Mitglieder der Gruppe können auf die Dateien schreiben.

Um in diese Gruppe zu gelangen, muss in der Datei /etc/group der Nutzeraccount bei der Gruppe root ergänzt werden: root:x:1:gustav

Das war’s schon. Funktioniert prima.

CAcert.org Zertifikate in openSUSE

openSUSE Heute hatte ich das Problem, die CAcert.org CA für curl nutzbar zu machen… Leider findet man dazu rein gar nichts im Internet.

Naja, der Trick, CAcert.org allen auf OpenSSL basierenden Anwendungen bekannt ist relativ einfach:

Man lädt die Zertifikate root.crt und class3.crt im PEM-Format von CAcert.org und speichert sie als ca-root.pem und ca-class3.pem im Verzeichnis /etc/ssl/certs.

Anschließend führt man als root folgendes Kommando aus:

c_rehash

Jetzt werden die Hash-Links auf die neu installierten CA angelegt und das war’s schon!

MagicDraw 14.0

openSUSE Heute habe ich die MagicDraw RPM Pakete im openSUSE BuildService auf die Version 14.0 aktualisiert. Neu dazugekommen ist der Floating License Server.

Da die Abhängigkeiten mittlerweile recht komplex geworden sind, habe ich sie in einer Mindmap dargestellt:

RPM Dependencies MagicDraw 14.0

RPM Dependencies MagicDraw 14.0

Man kann immer nur eine der vier MagicDraw-Editionen installieren: den Reader, die Community, die Personal oder die Standard bzw. Enterprise Edition. Ebenso ist es bei den Servern. Auch hier kann nur entweder der Floating License Server oder der Teamwork Server installiert werden.

MagicDraw im openSUSE BuildService

openSUSE Heute habe ich offiziell die Erlaubnis von NoMagic, Inc. bekommen, MagicDraw über den openSUSE BuildService zu publizieren.

Angefangen habe ich mit Version 12.5, die wir derzeit an der Westsächsischen Hochschule Zwickau in unserem Forschungsprojekt einsetzen. Vermutlich werden ich in den nächsten Tagen ein Upgrade auf die 14.0 veröffentlichen.