Skype hat so ziemlich jeder auf seinem Computer installiert und das Produkt ist auch eine gute Sache. Auch in öffentlichen Bereichen kann man getrost chatten, reden und Daten austauschen, ohne sich Sorgen zu machen, dass beispielsweise im WLAN jemand mit Wireshark die Daten mitschneidet und auswertet. Auch im kabelgebundenen LAN ist dies von Vorteil. Also verschlüsselt sind die Daten und damit ist es sicher? Gewiss nicht. Genauer gesagt, nein.

Skype mag zwar die Daten von dem Nutzersystem verschlüsseln, aber wer hat denn nun den Schlüssel zum entschlüsseln? Ja gut, den hat der Gesprächspartner, aber wer noch? Diese Frage lässt sich nicht wirklich klären, der Phantasie ist hier keine Grenze gesetzt, da niemand wirklich genau weiß, wie Skype arbeitet.

Skype sagt, dass die Daten mit AES mit einem 256 Bit Schlüssel verschlüsselt werden. Dazu soll der Schlüssel mittels RSA mit einem 1024 bis 2048 Bit Schlüssel ausgetauscht werden. Gut, am Ende gibt es, ich sage mal, einen Session-Key der 256 Bit groß ist. Wie der Schlüssel zustande kommt, ist nicht gesagt.

Überlege man sich eine Möglichkeit. Ein AES Schlüssel wird aus dem Hashwert des Benutzernamens gebildet. Natürlich wäre das keine gute Idee, das doch der Benutzername auf jeden Fall bekannt ist. Na gut, der Hashwert des Benutzernamens bilden, davon die Hälfte der Zeichen mit der anderen Hälfte XORen und dazu etwas anderes hinzufügen. Etwas besser, nicht das Gelbe vom Ei, besonders, weil Teile in jedem Fall bekannt sind und ein Bruteforce nicht mehr in die weiteste Ferne rückt. Was gesagt werden soll: Eine gute Verschlüsselung ist wertlos, wenn die Erzeugung des Schlüssels murks ist oder er in falsche Hände gerät.

Schlimm wird es auch, wenn bekannt ist, wie das Schlüsselkomponieren zustande kommt. Wenn dieses noch dazu führt, den Schlüsselraum von 256 Bit auf ich sage mal 32 Bit zu reduzieren, dann sozusagen Gute Nacht. Nun, keiner weiß, wie Skype arbeitet und da noch keiner das Programm seziert hat, wird auch keiner sagen können, wie das nun geht mit der Schlüsselerzeugung.

Jetzt ein weiterer Aspekt. Wo befindet sich der Session Key? Normalerweise ist der ein geteiltes Geheimnis zweier Gesprächspartner. Wenn ein Dritter diese Schlüssel besitzt, so kann er einfach mit entschlüsseln, also mithören. Keiner weiß, ob die Software nicht irgendwo den Schlüssel an einer Stelle dem Server übermittelt oder nicht. Fakt ist, dass die chinesische Version das TOM-Skype eine Abhörfunktion beinhaltet. Im Jahre 2008 deckten Menschenrechtsaktivisten der Forschergruppe “Citizen Lab” der Universität Toronto auf, dass in China Skype Nachrichten auf gewisse Begriffe untersucht und diese speichert. Auch wurden laut Citizen Lab in diesem Zusammenhang Informationen mit persönlichen Daten, wie Benutzernamen, IP-Adresse oder die Telefonnummern mit protokolliert. Der Benutzer muss davon ausgehen, dass die Infrastruktur, auch hierzulande funktioniert. Ob das stimmt oder nicht, weiß niemand. Natürlich würde auch niemand so etwas zugeben. Nun stellt sich vermutlich jede Zweite die Frage, in wie weit dies relevant ist, da ja der Normalverbraucher nichts geheimes oder verwerfliches ausspricht. Nun ja, wir haben hier nicht umsonst ein Telekommunikationsgeheimnis. Spätestens, wenn hochprivate Daten der Normalverbraucher in Google auftauchen und öffentlich diskutiert wird, ändert sich die Sensibilität. Privatsphäre ist ein freiheitliches Gut.

Kurt Sauer, der Leiter der Sicherheitsabteilung von Skype, antwortete auf die durch ZDNet gestellte Frage, ob Skype die Gespräche abhören könnte, ausweichend: „Wir stellen eine sichere Kommunikationsmöglichkeit zur Verfügung. Ich werde Ihnen nicht sagen, ob wir dabei zuhören können oder nicht.“ Persönlich finde ich solch eine Antwort sehr interessant. Wo lang werden die Pakete eigentlich geroutet? Nicht immer direkt von A nach B.

Ein anderer technische Gedanke. Skype verfügt über sehr intensiven Systemzugriff. Daten lesen, Webcam aktivieren, Sound und so weiter. Im Prinzip lädt sich jeder Benutzer eine unbekannte Software auf sein System (weil keiner weiß, was sie genau eigentlich kann, bzw. alles so unsichtbar macht) und vertraut, dass sie nicht böse nicht. Vielleicht ist sie das auch nicht, vielleicht ist sie auch die interessanteste Art und Weise, die mit dem Wort Spionage beschrieben werden kann. Wieviele Firmen haben Skype im Betrieb? Skype ist sehr intensiv gegen Debugging und Analysen geschützt. Viele versteckte Integritätsprüfungen testen, ob etwas verändert worden ist oder nicht. Wenn ja, verhält sich das Programm anders. Letztendlich ist das Disassemblieren von Skype eine wirklich üble Angelegenheit. Das spricht nicht immer für ein gutes Gefühl, diesem Programm teils administrative Rechte zu geben. Auch die Fähigkeit durch NAT und Firewall sich durchzuwurschteln, erscheint einigen Benutzern als unheimlich. Allerdings ist das STUN Protokoll nichts neues und auch viele andere Produkte haben ähnliche Fähigkeiten.

Written on May 28th, 2010 , Gedachtes Tags: , ,

Nachdem beschrieben wurde, wie eine AVM Fritz!Card unter Linux zum Laufen zu bewegen ist und wie entsprechend die CAPI Schnittstelle eingerichtet werden muss, wird jetzt ein weiterer Schritt folgen. Das Verwenden der CAPI Schnittstelle mit HylaFax. Verwendet wurde hier Kubuntu 10.04 bzw. Ubuntu in der gleichen Version. Als Treiber der hier angesprochen fcpci Treiber, der entsprechend gepatched worden ist. Für einige Konfigurationsangelegenheiten wird das Paket dialog benötigt, falls es nicht bereits installiert worden ist. Der Anwender gibt ein:

# apt-get install dialog

Nun ist es an der Zeit das Paket für CAPI4HylaFax zu installieren. Wieder bemühen wir apt-get.

# apt-get install capi4hylafax

Nachdem das Paket installiert worden ist, müssen einige Konfigurationsänderungen durchgeführt werden. Falls nicht schon geschehen, werden die Rechte der CAPI Schnittstelle geändert. Der Benutzer uucp und die Gruppenmitglieder in der Gruppe dialout sollen auf diese zugreifen können. Hierzu gibt der Anwender folgendes ein:

# chown -R uucp:dialout /dev/capi*

Nun wird zur Gruppe dialout die Gruppe uucp hinzugefügt. Die dazu nötigen Informationen stehen in der Datei /etc/group. Diese wird mit einem Editor geöffnet. Jede Zeile beinhaltet eine Einstellung, so sucht der Benutzer die korrekte Zeile die ungefähr so lauten könnte: dialout:x:20:username. Hinter den Benutzernamen wird entsprechend die Gruppe eingetragen. Also lautet die Zeile dann folgendermaßen:

dialout:x:20:username,uucp

HylaFax verwendet standardmäßig das Gerät /dev/faxCAPI, um auf die CAPI-Schnittstelle zuzugreifen. Unsere CAPI-Schnittstelle liegt aber auf /dev/capi*, als Wildcard für meistens /dev/capi20. Unnötiges Geschrubbel soll vermieden werden, also lassen wir /dev/faxCAPI auf /dev/capi20 verweisen. Dies geschieht mit einem symbolischen Link, der auf das Dateisystem geschrieben wird. Um das zu bewerkstelligen, geben wir folgendes ein:

# ln -s /dev/capi20 /dev/faxCAPI

Nun wird alles von /dev/faxCAPI zu /dev/capi20 umgeleitet. Beim Systemneustart allerdings sind die Einstellungen nicht mehr vorhanden. Zumindest nicht alle. Die Rechte werden durch die Defaultwerte überschrieben. Also wird ein Startscript angepasst, das jene Dinge für uns macht, die sonst per Hand erledigt werden müßten. Dieses Script exestiert unter /etc/rc.local. Nun wird diese Datei mit einem Editor geöffnet und entsprechend angepaßt.

# pico /etc/rc.local

Diese Datei sollte folgendermaßen aussehen.

#!/bin/sh -e
#
# rc.local
#
/bin/chown -R uucp:dialout /dev/capi*
/bin/ln -s /dev/capi20 /dev/faxCAPI
/etc/init.d/capi4hylafax restart
/etc/init.d/hylafax restart

exit 0

Nun ist es fast soweit. Kleine weitere Änderungen müssen noch verrichtet werden, damit alles korrekt läuft. Die Datei /etc/default/capi4hylafax muss leicht angepaßt werden. Die Einstellung run_capi4hylafax muss auf true, also auf 1 gesetzt werden. Dies sieht in der Datei so aus:

run_capi4hylafax=1

Die obige Datei ist natürlich recht lang und besteht nicht nur aus einer Zeile. Nun wird die Datei /etc/default/hylafax etwas angepaßt.

# pico /etc/default/hylafax

In dieser Datei werden zwei Zeilen verändert. RUN_HYLAFAX wird entsprechend auf true, also 1 gesetzt und USE_FAXGETTY wird auf no, also nein, gesetzt. Es soll ja kein analoges Modem verwendet werden, sondern die CAPI Schnittstelle.

USE_FAXGETTY=no
RUN_HYLAFAX=1

Jetzt muss eine Datei in dem Verzeichnis /etc/init angelegt werden. Diese Datei lautet hylafax.conf.

# touch /etc/init/hylafax.conf

Diese Datei wird wieder mit einem Editor geöffnet und folgende Zeile wird eingefügt:

T5:23:respawn:/usr/bin/c2faxrecv

Nun die Datei /etc/hylafax/config bearbeiten, um folgende Zeilen zu ändern. Die Datei ist länger, hier sind nur die Änderungen aufgeführt.

# pico /etc/hylafax/config

SendFaxCmd: "/usr/bin/c2faxsend"
DialStringRules: "etc/dialrules"
InternationalPrefix: 011
SendFaxCmd: "/usr/bin/c2faxsend"
Use2D: "no"
MaxTries: 1
MaxDials: 3

Nun sollte geprüft werden, ob das Paket psrip installiert ist. Wenn nicht muss dieses nachinstalliert werden.

# apt-get install psrip

Nun muss die Datei /etc/hylafax/setup.cache verändert werden. Hier wird eine neue Zeile eingefügt.

IMPRIP='/usr/bin/psrip'

Nun die Datei /etc/hylafax/config.faxCAPI wieder mit einem Editor öffnen und entsprechend bearbeiten.

# pico /etc/hylafax/config.faxCAPI

SpoolDir: /var/spool/hylafax
FaxRcvdCmd: /usr/bin/c2faxrecv
PollRcvdCmd: /var/spool/hylafax/bin/pollrcvd
FaxReceiveUser: uucp
FaxReceiveGroup: dialout
LogFile: /var/spool/hylafax/log/capi4hylafax
LogTraceLevel: 4
LogFileMode: 0600
{
HylafaxDeviceName: faxCAPI
RecvFileMode: 0666
FAXNumber: +49.800.123456
LocalIdentifier: "DEIN NAME"
MaxConcurrentRecvs: 2
OutgoingController: 1
OutgoingMSN: 89012345
SuppressMSN: 0
NumberPrefix:
UseISDNFaxService: 0
RingingDuration: 0
{
Controller: 1
AcceptSpeech: 1
UseDDI: 0
DDIOffset: "12345"
DDILength: 3
IncomingDDIs:
IncomingMSNs: "8901234"
AcceptGlobalCall: 0
}
}

Nun die Dienste neu starten. Das geht so:

# /etc/init.d/hylafax restart
# /etc/init.d/capi4hylafax restart

Wenn keine Fehlermeldungen erscheinen, kann entsprechend nun gefaxt werden. Kabel anstecken nicht vergessen. Faxen geht in der Konsole so:

sendfax -n -d Faxnummer Datei.ps

Viel Spaß.

Neulich wollte ich eine CSV Datei in eine kleine MySQL Datenbank einfügen. Doch wie war das doch gleich? Die CSV Datei hatte 5 Spalten und entspechend viele Elemente. Im Editor sieht soetwas ungefähr so aus.

CSV Datei:

text1,text2,text3,text4,text5
text2,text3,text4,text5,text6

Damit die MySQL Datenbank auch etwas mit den Daten anfangen kann, muss einmal eine Datenbank bestehen, wo die Daten hinein geladen werden sollen. Weiter müssen die Tabellen in der Datenbank eingerichtet sein. Die Datenbank heißt in diesem Fall iplist. Die Tabelle habe ich auch iplist genannt. Der Anwender erkennt das leicht anhand des Punkt-Operators iplist.iplist unten in der Erzeugung der Tabellen. Nungut, die Tabellen habe ich wie unten gezeigt erzeugt. Der Datentyp VARCHAR sollte bekannt sein, die Programmierer denken an dieser Stelle gerne an einen String. In Klammern ist die Größe, bzw. die maximale Länge definiert. Details zum Rest gibt es in der MySQL Doku.

CREATE TABLE `iplist`.`iplist` (
`eins` VARCHAR( 15 )
CHARACTER SET latin1
COLLATE latin1_german1_ci NOT NULL ,

`zwei` VARCHAR( 27 )
CHARACTER SET latin1
COLLATE latin1_german1_ci NOT NULL ,

`drei` VARCHAR( 2 )
CHARACTER SET latin1
COLLATE latin1_german1_ci NOT NULL ,

`vier` VARCHAR( 50 )
CHARACTER SET latin1
COLLATE latin1_german1_ci NOT NULL ,

`fuenf` VARCHAR( 2 )
CHARACTER SET latin1
COLLATE latin1_german1_ci NOT NULL
) ENGINE = MYISAM ;

So, die Tabellen sind erzeugt und nun kann entsprechend die CSV Datei geladen werden. Das wird wie unten gezeigt vollführt.

LOAD DATA LOCAL INFILE 'C:/xampp/htdocs/datei.csv'
INTO TABLE iplist
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
(eins, zwei, drei, vier, fuenf);

In Worten bedeutet das ungefähr soetwas, das die Datenbank Daten extern laden soll. Diese befinden sich in einer lokalen Datei. Diese Daten sollen in die Tabelle iplist übertragen werden. In dieser Datei sind die einzelnen Datensätze mit einem Komma getrennt. So spaltet die Datenbank gleich unsere Strings einander auf. Optional mit einem Hochkomma abgeschlossen. In Klammern stehen entsprechend die Spaltenbezeichner der Tabelle, damit die Datenbank weiß, worein sie die Daten zu schreiben hat. Das wars schon.

Written on May 11th, 2010 , Interessantes, Technik Tags: , ,

Nachdem beschrieben wurde, wie die Fritz!Card ISDN A1 PCI Karte unter Linux zum Laufen gebracht werden kann, werden nun weitere Schritte beschrieben, die zeigen sollen, wie die CAPI unter Linux zu konfigurieren ist, dass schlußendlich auch Hylafax damit arbeiten kann.

Der Anwender editiert die Datei /etc/isdn/capi.conf und kommentiert aus dieser Liste die Raute in der Zeile für fcpci aus. Hierzu sind ebenfalls root-Rechte von Nöten.

# pico /etc/isdn/capi.conf

So sieht schließlich diese eine Zeile final aus. (nach dem Entfernen der Raute vorne)
fcpci - - - - - -
Die anderen Zeilen für andere AVM Karten gedacht, die hier nicht weiter behandelt werden.

Nun müssen in die Datei /etc/modules einige Zeilen eingefügt werden, damit die Module beim Systemstart geladen werden. Hierbei handelt es sich um das Modul capi und capidrv. Bei Ubuntu 9.04 sowie älteren Versionen muss zusätzlich fcpci angegeben werden. An dieser Stelle ist das unter Ubuntu 10.04 nicht nötig.

# pico /etc/modules

capidrv
capi

Hinter dem Wort capi im Editor bitte ein abschließendes Enter. Jetzt das System neu starten. Das funktioniert schön mit dem Befehl reboot.

# reboot

Nun wiederum als root in die Console sich einloggen und die CAPI Schnittstelle testen. Dies kann einfach mit capiinit und capiinfo erledigt werden. capiinit initialisiert die CAPI Schnittstelle und sorgt dafür, dass alles entsprechend gestartet und betriebsbereit ist. capiinfo gibt alle Informationen zur CAPI Schnittstelle des Systems aus. Darunter liegen auch die Informationen zu den B-Kanälen und dem D-Kanal. Geprüft werden sollte umbedingt, ob beide B-Kanäle und der D-Kanal korrekt erkannt wurde.

# capiinit
# capiinfo

Number of Controllers : 1
Controller 1:
Manufacturer: AVM GmbH
CAPI Version: 2.0
Manufacturer Version: 3.11-07 (49.23)
Serial Number: 1000001
BChannels: 2
Global Options: 0x00000039
	internal controller supported
	DTMF supported
	Supplementary Services supported
	channel allocation supported (leased lines)
B1 protocols support: 0x4000011f
	64 kbit/s with HDLC framing
	64 kbit/s bit-transparent operation
	V.110 asynconous operation with start/stop byte framing
	V.110 synconous operation with HDLC framing
	T.30 modem for fax group 3
	Modem asyncronous operation with start/stop byte framing
B2 protocols support: 0x00000b1b
	ISO 7776 (X.75 SLP)
	Transparent
	LAPD with Q.921 for D channel X.25 (SAPI 16)
	T.30 for fax group 3
	ISO 7776 (X.75 SLP) with V.42bis compression
	V.120 asyncronous mode
	V.120 bit-transparent mode
B3 protocols support: 0x800000bf
	Transparent
	T.90NL, T.70NL, T.90
	ISO 8208 (X.25 DTE-DTE)
	X.25 DCE
	T.30 for fax group 3
	T.30 for fax group 3 with extensions
	Modem

0100
0200
39000000
1f010040
1b0b0000
bf000080
00000000 00000000 00000000 00000000 00000000 00000000
01000001 00020000 00000000 00000000 00000000

Supplementary services support: 0x000003ff
	Hold / Retrieve
	Terminal Portability
	ECT
	3PTY
	Call Forwarding
	Call Deflection
	MCID
	CCBS

Solch eine Meldung sollte erscheinen. Funktioniert etwas nicht, so erscheint eine Fehlermeldung. Dann sollte der Anwender prüfen, ob die CAPI Schnittstelle unter /dev/capi* (/dev/capi20 in diesem Falle) existiert und dort ein Gerät angebunden ist. Die vorherigen Schritte auf Tippfehler prüfen und weiter probieren. Wurde das Kernel-Modul richtig eingebunden? Läßt es sich mit modprobe richtig laden und entladen? Alle Pakete korrekt installiert? Normalerweise sollte aber alles glatt gegangen sein und der Anwender freut sich über die wunderschöne Ausgabe. :-)

Und woran sieht man, dass alles erkannt wurde? “LAPD with Q.921 for D channel X.25” hier steckt im wesentlichen drin, dass die D-Kanal Funktionalität gegeben ist. Unten auf der Ausgabe steht etwas wie: “T.30 for fax group 3” und “T.30 for fax group 3 with extensions” und “Modem“. Hieran erkennt der Anwender rasch, dass entsprechend die Karte Voice-Modem Emulation unterstützt, wie auch das übliche ISDN Fax selbst, also ein Fax der Klasse 3.

Im nächsten Eintrag wird die Installation von CAPI4Hylafax beschrieben. Bald kann Linux faxen machen. :-)

Mehr dazu bei: Installation von CAPI4Hylafax
Auch nützlich hierzu: Installation einer AVM Fritz!Card unter Linux

Written on May 7th, 2010 , Interessantes, Technik Tags: , , , , , , , ,

Es wird hier kurz beschrieben werden, wie ein automatisches Anmelden eines Benutzer ohne die Eingabe eines Kennwortes unter Windows 7 zu konfigurieren ist. Nützlich ist diese Funktion beispielsweise für das Bereitstellen eines öffentlichen Rechners auf einer Party für die Musikgestaltung.

Der Anwender öffne das Startmenü (das Windows-Logo unten links) und gebe in die Suchmaske “Ausführen” ein. Das System beginnt mit der Suche und wird rasch oben “Ausführen” anzeigen. Dort draufklicken. Anschließend öffnet sich ein Fenster mit der Überschrift Ausführen. Schneller geht es mit der Tastenkombination Windows Taste + R. Nun folgendes dort eingeben:

control userpasswords2

Nun öffnet sich die Benutzerkonteneinstellung. Dort den Benutzer markieren, der sich automatisch Anmelden soll und oben den Hacken „Benutzer müssen Benutzernamen und Kennwort eingeben” entfernen. Jetzt “Übernehmen” drücken und fertig. Verwendet der Anwender sein System in einer Domäne, erscheint der Hacken oben in der Benutzerkonteneinstellung nicht.

Written on May 7th, 2010 , Interessantes, Technik Tags: ,

Für Anfänger ist die Installation einer ISDN Karte nicht immer einfach. Es gibt viele verschiedene Kartentypen, einige sind sehr günstig zu beschaffen, einige weniger. In erster Linie wird hier die Installation einer A1 Karte (PCI) behandelt. Besser, allerdings auch teurer, arbeitet die B1 Karte, da sie das System durch eine interne CPU weniger belastet und zusätzlich die Treiberunterstützung besser sein soll. Zu meinem Erstaunen hat AVM keine vernünftig funktionierde Treiber für A1 Karten für die aktuellen Linux Versionen bereitgestellt. Mit den Suchmaschinen konnte schließlich eine Variante von Lutz Willek, die für die Kernelversionen 2.6.24 bis 2.6.28 gepatched wurde, beschafft werden. Kubuntu/Ubuntu 10.04 hat einen neueren Kernel. Auch mit diesem funktionieren die Treiber einwandfrei.

Der Treiber kann hier geladen werden: fritz-fcpci-src-2.6.31.zip
Nun wird von vorne begonnen. Die Kubuntu bzw. Ubuntu 10.04 Installation ist normal abgeschlossen und alles funktioniert soweit. Für das Ändern von Textdateien kann pico/nano oder schlicht der Midnight Commander (mc) verwendet werden. Die Pakete müssen ebenso nachinstalliert werden. Hat der Anwender einen Editor seiner Wahl, dann sollte dieser installiert werden.

Als erstes müssen die Kernel-Header installiert werden, damit der Treiber kompilieren werden kann. Das erledigt fix apt-get mit entsprechenden root-Rechten. Der Anwender gibt ein:

# apt-get install linux-headers-2.6.32-21-generic

An dieser Stelle muss angemerkt werden, dass dies die Kernel-Header von der Kubuntu 10.04 sind. Wurde ein anderer Kernel installiert, so müssen entsprechend diese Header installiert werden. Nun werden die benötigten Teile des Compilers installiert, damit überhaupt etwas übersetzt werden kann. Die nötigen Bestandteile werden mit dem Paket build-essential installiert. Der Anwender gibt ein:

# apt-get install build-essential

Nun wird die Linux CAPI installiert, damit die ISDN Karte auch später mit der Außenwelt sprechen kann. Dazu sind drei Pakete nötig: capi-utils, libcapi20-3 und libcapi20-dev. Dazu wird das Paket pppdcapiplugin installiert. Dazu gibt der Anwender ein:

# apt-get install capi-utils
# apt-get install libcapi20-3
# apt-get install libcapi20-dev
# apt-get install pppdcapiplugin

Das Paket libcapi20-3 wird sehr wahrscheinlich in Abhängigkeit mit capi-utils automatisch mitinstalliert. Das Eingeben des Befehls schadet nicht, es erscheint ggf. die Meldung, dass dieses Paket bereits installiert worden ist.

Nun ist es an der Zeit die Sourcen des Fritz-Karten Treibers zu entpacken. Geeignet ist das Home-Verzeichnis des normalen Benutzers. Entpackt werden kann entsprechend mit Root, entsprechende Rechte werden für die Kompilierung benötigt. Nun kopiert der Anwender die komprimierte Datei in ein Verzeichnis seiner Wahl. Bei .tar.gz Dateien lautet das Parameter -xvzf. Zum Entpacken wird folgendes eingegeben:

Originalfile von Lutz Willek:
# tar -xvjf fritz-fcpci-src-2.6.31.tar.bz2

Oben zur Verfügung gestelltes Zip-File:
# unzip fritz-fcpci-src-2.6.31.zip

Jetzt muss definiert werden, um welche Prozessor-Architektur es sich handelt, worauf der Treiber kompiliert und gestartet werden soll. Handelt es sich um einen 32-Bit Prozessor, so muss die 32-fcpci-lib.o verlinkt werden. Kann der Prozessor 64-Bit Befehle verarbeiten und ist auch ebenso ein entsprechender Kernel installiert, was meist bei der Installation automatisch entschieden wird, so muss die Datei 64_fcpci-lib.o verlinkt werden. Beispielsweise handelt es sich bei einem Pentium 4 um einen 32-Bit Prozessor, während ein AMD Phenom 64-Bit fähig ist. Besteht an dieser Stelle Unsicherheit, so hilft Wikipedia entsprechend weiter. Der Anwender wechselt in das lib-Verzeichnis des Source-Codes.

# cd fritz-fcpci-src-2.6.24-2.6.31
# cd lib

In diesem Verzeichnis existieren zunächst einmal drei Dateien, nämlich 32_fcpci-lib.o, 64_fcpci-lib.o und fcpci-lib.o. Bei der letzten Datei handelt es sich um einen Dummy, der ausgetauscht wird durch einen sog. symbolischen Link, der auf eine der anderen Dateien verweisen wird. Die Dummy-Datei hat 0 Byte. Der Dateiname wird kurz gemerkt und die Datei wird gelöscht.

# rm fcpci-lib.o

Nun muss ein neuer symbolischer Link erzeugt werden, der entsprechend Zugriffe auf diesen Namen zu einer anderen Datei umleitet.

# ln -s 64_fcpci-lib.o fcpci-lib.o
Für 64-Bit Prozessoren eingeben

# ln -s 32_fcpci-lib.o fcpci-lib.o
Für 32-Bit Prozessoren eingeben

Soll überprüft werden, ob die Verlinkung funktioniert hat, so kann dies leicht mit dem Befehl ls -l gemacht werden. Hat alles geklappt findet sich ein Eintrag, ähnlich wie dieser: fcpci-lib.o -> 64_fcpci-lib.o

Nun ist die Voreinstellung abgeschlossen. Jetzt wird entsprechend in das Verzeichnis fcpci-3.11.07 gewechselt.

# cd ..
# cd fcpci-3.11.07

In diesem Verzeichnis befinden sich entsprechend die c-Dateien und die make-Dateien. Falls mit dem Code bereits gearbeitet wurde, sollte vorhei ein make clean ausgeführt werden, um alte Binärdateien zu löschen. Der Befehl make all erzeugt nun automatisch die entsprechend Kernelobjekte.

# make all

Hat alles geklappt ist nun viel auf dem Bildschirm erschienen und es existieren einige neue .ko Dateien im gleichen Verzeichnis. Jetzt müssen die Dateien an die richtige Stelle kopiert werden. Dazu wird zunächst ein Verzeichnis angelegt, wo diese Objekt für den Kernel abgelegt werden. Der Anwender gibt ein:

# mkdir /lib/modules/`uname -r`/extra

Jetzt werden die Kernel-Objekts in dieses Verzeichnis kopiert. Entsprechend wird folgendes eingegeben:

# cp fcpci.ko /lib/modules/`uname -r`/extra

Nun muss entsprechend das neue Objekt eingerichtet werden. Dies erledigt der Befehl depmod.

# depmod -a

Jetzt ist das Kernel-Objekt bereit und kann geladen werden. Der Befehl modprobe wird Kernel-Objekte laden und entladen. Es wird zunächst das Kernel-Modul geladen und anschließend getestet, ob es auch geladen worden ist.

# modprobe -rf fcpci
# modprobe -v fcpci

Hat alles geklappt, nun freuen. Oft funktioniert es an dieser Stelle gerade nicht. Es erscheint eine Fehlermeldung …device or ressource busy… Kein Grund zur Panik. Ein anderes Kernel-Modul verhindert das Laden von fcpci. Dabei handelt es sich häufig um das Modul mit dem Namen avmfritz. Dies kann wiederum mit modprobe entladen werden. Anschließend der neue Versuch mit den neuen Treibern.

# modprobe -r avmfritz
# modprobe -rf fcpci
# modprobe -v fcpci

Hat alles funktioniert, so erscheint unten im Text eine entsprechende zweizeilige Erfolgsmeldung. Das ist schonmal ganz gut, allerdings wird beim Neustart des System das Problem wieder auftreten. Damit das vermieden wird, so ist es nötig entsprechend dem System klar zu machen, dass es das Modul avmfritz nicht mehr lädt. Das Setzen von avmfritz auf eine Blacklist schafft dauerhaft Abhilfe und fcpci kann beim Start normal laden. Es wird eine neue Datei erzeugt.

# pico /etc/modprobe.d/blacklist-avmfritz.conf

In dieser Datei wird folgendes eingetragen:

blacklist avmfritz

Die Zeile bitte mit einem Enter abschließen, so dass der Cursor links unter dem Text steht. Nun speichern und neu starten. Entsprechend wieder einloggen und in die Root-Console wechseln.

Die ISDN Karte ist nun installiert. Jetzt muss die CAPI eingerichtet werden. Hierzu gibt es einen seperaten Blogeintrag.

Mehr dazu bei: Installation von CAPI4Hylafax
Auch nützlich hierzu: CAPI einrichten unter Ubuntu 10.04

In Ubuntu 6.06 ließ sich trotz normaler Installation nicht der XServer starten. Es erschien, folgende Fehlermeldung.

X: cannot stat /etc/X11/X (No such file or directory), aborting.

Erscheint dieser Fehler oben, so fehlt etwas wichtiges, nämlich der X-Server. Der Splashscreen anfangs erscheint, der so ein wenig grafisch ist, aber nichts mit dem X-Server zu tun hat. Der Anfänger sollte sich hier nicht täuschen lassen. Anschließend versucht gdm oder kdm bzw. der Manager Ihrer Wahl den X zu starten. Das klappt aber nicht. Nicht immer wird eine Ausgabe erzeugt. Hat sich der Benutezr unter der Console eingeloggt (Strg+Alt+1 usw.) so bekommt er meist mit startx etc. eine entsprechende Meldung wie oben.

Warum auch immer der X-Server bei der Installation nicht immer mitinstalliert wurde… Abhilfe schafft das Packet xserver-xorg, dass folgendermaßen installiert wird.

# apt-get install xserver-xorg

Nun befindet sich der xorg X-Server auf dem System und kdm, wdm, gdm und so weiter sollte nun entsprechend starten. Natürlich sollte ein Window-Manager ihrer Wahl nicht fehlen, kde bzw. gnome oder fluxbox sollte ebenso installiert werden. Natürlich gibt es auch die stark resourcenschonenden Oberflächen, falls RAM und Leistung sehr knapp sind, aptitude hilft entsprechend bei der Auswahl.

Written on May 5th, 2010 , Interessantes, Technik Tags: , , , , , , , , ,

Ich habe sehr alte Skripte, die nur unter PHP4 laufen. Natürlich könnten diese auf PHP5 angepasst werden, aber dazu ist keine Zeit und vermutlich auch sehr wenig Lust vorhanden. Also ein älteres Linux mit PHP4 ausstatten und gut ist. Natürlich lassen wir die Sicherheitsaspekte an dieser Stelle außen vor. Das System sollte intern verwendet werden und möglich keinen Internetzugang haben. Sonst ist man möglicherweise fix nicht mehr alleine.

Der Benutzer wird schnell feststellen, dass nach der einfachen Ubuntu 6.06 Installation kein PHP4 Paket mit apt-cache angezeigt wird. Eine kleine Anpassung in /etc/apt/sources.list schafft hier Abhilfe.

Editieren der Datei mit root-Rechten.
# pico /etc/apt/sources.list

Folgende Zeilen sollten dort vorhanden sein:

deb http://archive.ubuntu.com/ubuntu/ dapper main restricted
deb-src http://archive.ubuntu.com/ubuntu/ dapper main restricted

Diese Zeilen etwas anpassen, etwa so:

deb http://archive.ubuntu.com/ubuntu/ dapper main restricted universe
deb-src http://archive.ubuntu.com/ubuntu/ dapper main restricted universe

Speichern und folgendes ausführen:
# apt-get update

Dies updated das Repository und fügt entsprechend alle Dateien, die in universe vorhanden sind in apt ein.

Written on May 5th, 2010 , Interessantes, Technik Tags: , , , , , ,

Projekt: Neurodump is proudly powered by WordPress and the Theme Adventure by Eric Schwarz
Entries (RSS) and Comments (RSS).

Projekt: Neurodump

Gedankenauszüge eines Datenreisenden