http://www.dcoul.de/faq/

3. Fragen zur Hardware

  1. Funktioniert Linux auf meinem Laptop?
  2. Funktionieren GDI-Drucker (auch als WinPrinter bezeichnet) unter Linux?
  3. Warum funktioniert mein internes Modem nicht unter Linux?
  4. Funktioniert das Parallelport-ZIP unter Linux?
  5. Funktionieren Parallelport-Streamer unter Linux?
  6. Kann ich mit meiner ISDN-Karte unter Linux Faxe empfangen?
  7. Warum funktionieren unter Linux zwar MO-Medien mit einer Kapazität von 230MB, nicht aber solche mit 640MB?
  8. Wenn ich ein externes SCSI-Gerät (z.B. einen Scanner) erst nach dem Booten einschalte, ist es nicht ansprechbar. Wie kann ich es trotzdem benutzen?
  9. Seit ich meinen Speicher aufgerüstet habe, ist Linux viel langsamer geworden. Unter DOS tritt der Effekt aber nicht auf. Woran liegt das?
  10. Welche CD-Brenner funktionieren unter Linux?
  11. Ich benütze einen ATAPI (IDE) CD-Brenner, wenn ich Audio-CDs brenne, ist das System zu 100% ausgelastet und es kommt sogar zu buffer-underruns. Bei Daten-CDs tritt das Problem nicht auf.
  12. Ich möchte einen Rechner ohne Tastatur und Monitor unter Linux (z.B. als Kommunikationsserver) betreiben. Wie geht das?
  13. Wie kann ich meine Festplatten nach einer gewissen Zeit der Inaktivität automatisch abschalten lassen (sog. Spindown)?
  14. Ich möchte den bei meinem Scanner mitgelieferten SCSI-Hostadapter AVA 1505 oder 1502 unter Linux benutzen, finde jedoch keinen Treiber.
  15. Welche Scanner funktionieren unter Linux?
  16. Unterstützt Linux USB-Geräte?
  17. Wie kann ich Disketten vom Amiga oder vom Mac auf einem PC unter Linux lesen?
  18. Wie kann ich die FritzX PC oder die Eumex 404 (ISDN-Anlagen) unter Linux benutzen?
  19. Läuft meine analoge TV-Karte unter Linux?


3.1 Funktioniert Linux auf meinem Laptop?
Informationen zur Lauffähigkeit von Linux auf Laptops und zu den besonderen Problemen von Laptops finden sich auf der Linux-Laptop-Page unter http://www.linux-on-laptop.com/. Zusätzlich empfiehlt es sich, http://tuxmobil.org/ zu Rate zu ziehen.

3.2 Funktionieren GDI-Drucker (auch als WinPrinter bezeichnet) unter Linux?
Im Regelfall nein, und sie werden es auch aller Voraussicht nach in näherer Zukunft nicht.
GDI-Drucker haben keine Eigenintelligenz und keinen oder kaum eigenen Speicher, sie verstehen daher auch keine Standard-Druckerkommandos. Sie funktionieren nur unter Windows mit dem mitgelieferten Treiber, unter DOS z.B. sind sie bereits nicht mehr nutzbar. Die Datenübertragung an einen solchen Drucker ist in der Regel sehr zeitkritisch und funktioniert in einer echten Multitasking-Umgebung meistens nicht sauber.
Weiterhin sind die verwendeten Protokolle proprietär, in den meisten Fällen nicht bekannt und man müsste für jeden Drucker- bzw. Protokolltyp einen eigenen Treiber schreiben. Im Printing HOWTO ist ein Abschnitt, der den Treiberstatus diverser GDI-Drucker wiedergibt.

3.3 Warum funktioniert mein internes Modem nicht unter Linux?
Wenn es sich um ein sogenanntes WinModem handelt, gilt das gleiche, wie im Abschnitt GDI-Drucker beschrieben. Ein WinModem ist kein Modem im herkömmlichen Sinn (ein Gerät mit einer seriellen Schnittstelle, das selbständig Daten in Töne und wieder zurück verwandelt und dabei gleichzeitig ggf. Fehler korrigiert). Bei einem WinModem muss der Prozessor des Computers all diese Aufgaben übernehmen. Die verwendete Hardware ist proprietär, die Ansteuerung ist extrem zeitkritisch und in einer Multitasking-Umgebung wie unter Linux derzeit nicht vernünftig zu realisieren. WinModems funktionieren nur unter Windows, unter DOS z.B. schon nicht mehr. Das gleiche Problem ergibt sich mit PCI-Modemkarten, die ebenfalls nur mit einem speziellen Treiber funktionieren. Über den aktuellen Stand der Entwicklung informiert die Webseite http://www.linmodems.org/.

Handelt es sich nicht um ein WinModem, aber um einen plug'n play-Typ, kann es sein, dass die Einstellungen für IRQ und Basisadresse nicht stimmen. Sind diese bekannt, können sie dem System mit dem Kommando setserial übermittelt werden. Ggf. muss man mit Hilfe der isapnptools das Modem umkonfigurieren.

3.4 Funktioniert das Parallelport-ZIP unter Linux?
Ja. Wenn ein neuer Kernel mit make config konfiguriert wird, ist der Parallelport-Treiber unter den anderen SCSI-Treibern zu finden, da es sich bei dem Parallelport-ZIP eigentlich um ein SCSI-ZIP mit einem Parallelport->SCSI-Wandler handelt.
Eine Alternative zu dem (vergleichsweise langsamen) Standard-Treiber gibt es unter http://people.redhat.com/twaugh/parport/.
Ab Kernel 2.2 wird auch das ZIP-Plus unterstützt. Neuere Zip-Laufwerke haben anscheinend eine gegenüber dem ursprünglichen Parallelport-ZIP geänderte Schnittstelle. In diesen Fällen soll u.U. die Verwendung des ZIP-Plus-Treibers helfen.

3.5 Funktionieren Parallelport-Streamer unter Linux?
Nicht mit dem in den 2.0.X-Kerneln integrierten FTape-Treiber. Unter http://www.instmath.rwth-aachen.de/~heine/ftape/ ist jedoch ein aktuelleres FTape-Paket zu finden, welches einige Parallelport-Streamer unterstützt (u.a. einige Iomega-Ditto-Parallelport-Laufwerke). Genauere Informationen zu den unterstützten Typen sind dem Paket zu entnehmen.

3.6 Kann ich mit meiner ISDN-Karte unter Linux Faxe empfangen?
Mit manchen aktiven Karten oder Karten mit integriertem Analogteil ist analoges Faxen teilweise möglich. Der Empfang analoger Faxe mit isdn4linux ist bei passiven ISDN-Karten nicht möglich.
Da das Programmieren der sehr zeitkritischen Routinen für die passiven Karten bisher noch niemand übernommen hat (und es auch relativ kompliziert ist), wird dies wahrscheinlich auch in der näheren Zukunft nicht möglich sein.
Digitale G4-Faxe werden bisher ebenfalls nicht unterstützt.
AVM stellt aber auch für seine passiven Karten wie z.B. FRITZ!Card PCI eine Implementierung von CAPI 2.0 für Linux, CAPI4Linux, zur Verfügung, die auch analogen Faxversand und -empfang ermöglicht. Genauere Hinweise zur Konfiguration und Installation sind auf den WWW-Seiten von AVM unter http://www.avm.de/ zu finden.

3.7 Warum funktionieren unter Linux zwar MO-Medien mit einer Kapazität von 230MB, nicht aber solche mit 640MB?
Linux unterstützt mit Kernel 2.0.x auf MOs nur eine Blockgröße von 512 Bytes, wie sie bei den 230MB-Medien verwendet wird, die 640MB-Medien benutzen jedoch eine Blockgröße von 2048 Bytes. In den 2.2-Kernels befindet sich auch Unterstützung für Blöcke mit 2048 Bytes.
Es wird dazu geraten, beim Erzeugen des Ext2-Filesystems auf einem 640MB-MO mittels mke2fs explizit eine Blockgröße von 2048 Bytes anzugeben, da es ansonsten zu Problemen kommen kann.
Außerdem sind alte a.out-Binaries im QMAGIC-Format nur von Medien zu starten, deren Blockgröße identisch mit der des Gerätes ist, auf dem sie erzeugt wurden, da die Headerinformationen im QMAGIC-Format abhängig von der Blockgröße sind. Mit a.out-ZMAGIC und den aktuellen ELF-Binaries tritt das Problem nicht auf.

3.8 Wenn ich ein externes SCSI-Gerät (z.B. einen Scanner) erst nach dem Booten einschalte, ist es nicht ansprechbar. Wie kann ich es trotzdem benutzen?
Der SCSI-Bus wird normalerweise nur bei der Initialisierung des Hostadapters nach Geräten abgesucht. Initialisiert wird der Hostadapter entweder beim Booten, wenn der Treiber fest eincompiliert ist, oder, falls er als Modul vorliegt, beim Laden des Moduls. Wenn ein SCSI-Gerät zu diesem Zeitpunkt nicht eingeschaltet ist, kann es nicht gefunden werden. Neben der unbefriedigenden Lösung, beim Systemstart alle Geräte einzuschalten, besteht die Möglichkeit, dem Kernel auch im laufenden Betrieb mitzuteilen, dass nach einem SCSI-Gerät gesucht werden soll. Dazu wird das Kommando

scsi add-single-device <Host> <Channel> <ID> <LUN>"

in die Pseudo-Datei /proc/scsi/scsi geschrieben. Dabei bedeuten

Host : die Nummer des Hostadapters (bei nur einem Hostadapter wird hier 0 angegeben),

Channel : die Nummer des SCSI-Kanals auf dem ausgewählten Hostadapter (bei einem einkanaligen Adapter, was wohl der häufigste Fall sein wird, wird eine 0 angegeben),

ID : die SCSI-ID des neu hinzugekommenen Gerätes,

LUN : soweit mit LUNs (Logical Unit Numbers) gearbeitet wird, die LUN des hinzugekommenen Gerätes.


Um also z.B. einen Scanner mit der SCSI-ID 6 an einem einzelnen einkanaligen Hostadapter nachträglich anzumelden, genügt in der Shell das Kommando

echo "scsi add-single-device 0 0 6 0 " >/proc/scsi/scsi

Dabei sollte das später eingeschaltete Gerät die höchste SCSI-ID im Strang haben, da es ansonsten zu Problemen mit der Vergabe der Device-Namen kommen kann. SCSI-Devicenamen (/dev/sdx für Festplatten, /dev/stx für Streamer, /dev/scdx für CDROMs und /dev/sgx für generic SCSI-Devices wie z.B. Scanner oder CD-Brenner) werden in der Reihenfolge der SCSI-IDs vergeben. Damit wäre z.B. sda die Platte mit der kleinsten SCSI-ID, sdb die Festplatte mit der nächstgrößeren SCSI-ID etc. Es gibt aber keine feste Kopplung der Buchstaben an die SCSI-ID, sondern es kommt nur auf die Reihenfolge an, d.h. die erste Festplatte muss nicht unbedingt ID 0 und die zweite Festplatte ID 1 haben, sondern sie könnten z.B. auch die IDs 3 und 6 haben.
Wird jetzt nachträglich ein Gerät eingebunden, das eine kleinere ID hat, als ein bereits angemeldetes, würden sich die Devicenamen aller Geräte mit einer höheren ID verschieben, was ein ziemliches Chaos zur Folge hätte.
WICHTIG: Auch wenn es möglich ist, nachträglich eingeschaltete Geräte zu erkennen, dürfen während des Betriebes keine Geräte physikalisch an den Bus angeschlossen oder von ihm abgetrennt werden (sogenanntes Hot-Plugging), da das zu schweren Hardwareschäden führen kann. Dies ist nur mit speziell dafür ausgelegten Hostadaptern und SCSI-Geräten möglich.

3.9 Seit ich meinen Speicher aufgerüstet habe, ist Linux viel langsamer geworden. Unter DOS tritt der Effekt aber nicht auf. Woran liegt das?
Dieser Effekt tritt auf, wenn mehr Speicher im Rechner vorhanden ist, als die Cache-Logik des Mainboards verwalten kann. Das führt dazu, dass Speicher, der oberhalb einer gewissen Grenze (häufig 64MB, bei vielen 486er-Boards aber auch schon 32MB) liegt, nicht mehr gecachet wird, so dass Zugriffe in diesem Bereich sehr langsam sind.
Dies ist eine Hardwarebeschränkung, die nichts mit Linux zu tun hat, aber unter Linux sichtbar wird, da Linux den Speicher vollständig nutzt und viele Daten im oberen Adressraum ablegt. Unter DOS werden standardmäßig nur die unteren 640KB verwendet, die natürlich innerhalb des cachebaren Bereichs liegen, und bei der Verwendung von EMS/XMS wird der Speicher von unten nach oben belegt, so dass der Effekt erst sichtbar wird, wenn ein DOS-Programm wirklich mehr als die o.g. Obergrenze verwendet. Ein DOS-Programm, das mehr als 64MB Speicher anspricht, ist mir bisher allerdings noch nicht untergekommen.

Bei manchen Boards kann man im BIOS einen Wert für die cacheable area setzen. Dieser sollte natürlich möglichst hoch eingestellt werden. Die maximale Größe der cacheable area ist von mehreren Faktoren abhängig: von der Größe des Cache, von der Breite des Tag-RAMs und vom Chipsatz. Von den Intel-Chipsätzen für Pentiums (FX, HX, VX, TX) haben AFAIK alle bis auf den HX eine im Chipsatz liegende Beschränkung auf 64MB cacheable area, auch wenn der Chipsatz insgesamt mehr Speicher verwalten kann, der jedoch dann nicht gecachet wird.
Bei einem HX-Board muss außerdem für eine cacheable area über 64MB ein 11 Bit breites Tag-RAM verwendet werden. Manche HX-Boards werden standardmäßig mit einem 8Bit breiten Tag-RAM ausgeliefert und müssen mit einem 11 Bit breiten Tag nachgerüstet werden, um mehr als 64MB cachen zu können.
Der ALI Aladin 4/4+ und seine Clones sowie der VIA Apollo VPX/VP-2 können wie der HX-Chipsatz bis zu 512MB cachen, SiS 5581/82 und 5597/98 schaffen immerhin bis zu 128MB RAM (alle Angaben ohne Gewähr). Die Fähigkeit des Chipsatzes alleine reicht allerdings nicht, das Board muss ebenfalls für eine entsprechend große cacheable area ausgelegt sein. Je nach Board/Chipsatz kann eine Erweiterung des Tags und/oder der Cachegröße notwendig sein. PII und Celeron(A) haben den 2nd-Level-Cache bereits im Prozessor integriert und können daher unabhängig vom Chipsatz mindestens 512MB cachen.

3.10 Welche CD-Brenner funktionieren unter Linux?
Eigentlich müßten alle heutzutage verkauften CD-Brenner funktionieren.
Für Linux gibt es derzeit zwei Programme zum Brennen von CDs, cdrtools (cdrecord) und cdrdao (interessant vor allem für Audio-CDs). Zum Erzeugen von Daten-CDs benötigt man mkisofs aus den cdrtools. Auf den Homepages beider Programme finden sich Listen von unterstützten und nicht unterstützten (alten) Geräten.
Beides sind Kommandozeilenprogramme, für die es eine Reihe graphischer Frontends wie z.B. X-CD-Roast und GCDMaster gibt. Oft (meist?) ist es aber schneller und komfortabler, direkt auf die Komandozeilenprogramme zurückzugreifen, anstatt auf ein Frontend zurückzugreifen, als kleines Beispiel möge cdrecord meincd-image.iso (Brennen eines heruntergeladenen CD-Images) dienen.
Lesetipps: CD-Writing-HOWTO und die ausführliche Dokumentation, die cdrecord beiliegt.

3.11 Ich benütze einen ATAPI (IDE) CD-Brenner, wenn ich Audio-CDs brenne, ist das System zu 100% ausgelastet und es kommt sogar zu buffer-underruns. Bei Daten-CDs tritt das Problem nicht auf.
Das ist ein bekanntes Problem des Linux Kernels, genauer gesagt im ide-scsi Modul: Der resourcenschonende DMA Modus wird nur bei der Standardblockgröße (2048 Bytes/Sektor) verwendet, d.h. für "normale" Daten CDs verwendet. Das Erstellen von Audio CDs oder von Daten CDs mit cdrecord -raw -data blah.iso bzw. cdrdao lastet das System stark aus.
Seit Linux 2.6 gibt es eine alternative, besser funktionierende Zugriffsmethode, die nicht unter dieser Beschränkung leidet. Sie wird bei cdrecord durch dev=ATA:1,0,0 (ab 2.01a25) bzw. dev=/dev/hdc ausgewählt. cdrdao unterstützt diese Zugriffsmethode ab Version 1.1.8 (--device ATA:1,0,0 bzw. --device /dev/hdc).

3.12 Ich möchte einen Rechner ohne Tastatur und Monitor unter Linux (z.B. als Kommunikationsserver) betreiben. Wie geht das?
Soweit es Linux betrifft, problemlos. Ob es in der Praxis funktioniert, ist abhängig vom BIOS. Viele BIOS-Versionen prüfen, ob eine Tastatur angeschlossen ist und booten nicht, falls das nicht der Fall ist. Meistens gibt es jedoch eine BIOS-Option, mit der man diese Überprüfung deaktivieren kann. Ein weiteres Problem kann die Grafikkarte bzw. deren BIOS sein. Einige Karten prüfen bei der Initialisierung des VGA-Bios, ob ein Monitor angeschlossen ist und liefern einen POST-Error (Piepser), falls nicht. In einem solchen Fall hilft in der Regel leider nur der Austausch der Karte oder der Anschluss eines entsprechend verdrahteten Blindsteckers, welcher der Karte einen angeschlossenen Monitor vorgaukelt.

3.13 Wie kann ich meine Festplatten nach einer gewissen Zeit der Inaktivität automatisch abschalten lassen (sog. Spindown)?
Bei IDE-Platten geht das mit hdparm -S, für SCSI-Platten ist ein Kernelpatch (SCSI-Idle) notwendig. In der Praxis ist ein solcher Spindown aber nur selten sinnvoll. Unter Linux, wie unter jedem Unix, erfolgt normalerweise spätestens alle paar Minuten irgendein Plattenzugriff, es sei denn, es handelt sich z.B. um eine reine Datenplatte, die nicht gemountet ist. Dadurch wird eine Platte, falls der Timeout so kurz ist, dass sie zwischen den Zugriffen den Motor abschalten kann, dauernd herunter- und und wieder heraufgefahren, was die Lebensdauer der Platte rapide verkürzen kann, insbesondere, wenn es sich um eine Desktopplatte handelt, die im Gegensatz zu einer Notebookplatte nicht für solche Stromsparmaßnahmen ausgelegt ist. Abhilfe schaffen kann hier der noflushd/, der die Zugriffe bei Inaktivität unterbindet. Unbedingt die Warnhinweise im README beachten!

3.14 Ich möchte den bei meinem Scanner mitgelieferten SCSI-Hostadapter AVA 1505 oder 1502 unter Linux benutzen, finde jedoch keinen Treiber.
Sowohl der AVA 1505 wie auch der 1502 funktionieren mit dem Treiber für die Adaptec 152x-Reihe. Wichtig ist, dass die Typen 1505 und 1502 kein BIOS haben und deshalb vom Treiber nicht automatisch erkannt werden können. Es ist daher nötig, dem Kernel IRQ und IO-Basisadresse als Bootparameter zu übergeben, z.B. durch einen Eintrag in /etc/lilo.conf in der Form append="aha152x=0x340,11" (für Basisadresse 0x340 und IRQ 11). Nähere Erläuterungen zu Bootparametern finden sich im BootPrompt-HOWTO.

3.15 Welche Scanner funktionieren unter Linux?
Unter http://www.mostang.com/sane/sane-backends.html stehen die von SANE (Scanner Access Now Easy) unterstützten Scanner-Typen. SANE bietet ein einheitliches API für verschiedene Scanner-Treiber und verfolgt insoweit einen ähnlichen Ansatz wie TWAIN unter Windows.

3.16 Unterstützt Linux USB-Geräte?
Erst ab Kernel 2.2.9 standardmäßig, allerdings hat auch dort die USB-Unterstützung den Status experimentell. Informationen zu USB unter Linux sind unter

http://www.linux-usb.org/

erhältlich.
Ab Kernel 2.2.18 ist der USB-Backport von 2.4 offiziell auch in den 2.2er Kerneln enthalten. Damit muss man keinen Patch mehr einspielen oder auf den 2.4er-Zweig upgraden, wenn man USB unter Linux nutzen will.

3.17 Wie kann ich Disketten vom Amiga oder vom Mac auf einem PC unter Linux lesen?
Amigadisketten im normalen AmigaDOS-Format mit 880KB (DD) oder 1,72MB (HD) lassen sich auf einem PC prinzipiell nicht lesen, da der PC-Diskettenlaufwerkscontroller dazu hardwaremäßig nicht in der Lage ist.
Beim Mac muss auch zwischen dem alten 800KB-Format und dem 1,44-MB-Format unterschieden werden. Bei den 800KB-Disketten gilt das gleiche wie beim Amiga, die 1,44-MB-Disketten sind physikalisch in einem PC lesbar. Für den Zugriff auf die Disketten stehen die hfs-utils zur Verfügung (ähnlich den mtools).

3.18 Wie kann ich die FritzX PC oder die Eumex 404 (ISDN-Anlagen) unter Linux benutzen?
Gar nicht. Beide Geräte verwenden ein eigenes Protokoll zur Kommunikation mit dem Rechner, welches vom jeweiligen Hersteller nicht zugänglich gemacht wird, so dass entsprechende Treiber nicht entwickelt werden können.

3.19 Läuft meine analoge TV-Karte unter Linux?
Momentan werden fast alle erhältlichen Karten grundsätzlich unterstützt, es gibt allerdings deutliche Unterschiede im nötigen Aufwand. Siehe auch http://www.multimedia4linux.de/.

Build: 29.01.2005