SuSE Linux: Versionen 6.2 bis 7.3
Kernel: Versionen ab 2.2
Sie möchten Ihre zusätzliche parallele Schnittstelle einrichten.
Ab SuSE Linux 8.0 siehe das "Referenz"-Handbuch.
Sie verwenden einen Kernel ab Version 2.2.xx .
Standardmäßig ist nur die erste parallele
Schnittstelle /dev/lp0
verfügbar.
Diese ist durch folgenden Eintrag in der
Datei /etc/conf.modules
bzw. ab SuSE Linux Version 6.3
in der Datei /etc/modules.conf
konfiguriert:
alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: # options parport_pc io=0x378,0x278 irq=none,noneBei io=0x... steht die IO-Adresse der parallelen Schnittstelle und bei irq=... steht normalerweise none für Polling-Betrieb des Druckers oder der Interrupt der parallelen Schnittstelle. Der Polling-Betrieb ist im allgemeinen unproblematischer als der Interrupt-Betrieb und auch nicht langsamer (außer bei ganz alten Rechnern).
Test der ersten parallelen Schnittstelle:
Angenommen an /dev/lp0
hängt ein normaler Drucker
(kein sog. GDI-Drucker), dann sollte man als Benutzer root mit
echo -en "Hallo\f" >/dev/lp0
eine Seite mit dem Wort Hallo ausgedruckt bekommen.
(Vergl. die Artikel
GDI-Drucker und
Drucker-Kauf und Kompatibilität)
Angenommen, Sie haben eine zweite parallele Schnittstelle, die
unter der Standard-IO-Adresse 278 (hexadezimal) ansprechbar
ist (z.B. per Jumper auf einer ISA-Schnittstellenkarte
einstellbar), dann genügt folgender Eintrag
in /etc/conf.modules
bzw.
ab SuSE Linux Version 6.3 in /etc/modules.conf
alias parport_lowlevel parport_pc # options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: options parport_pc io=0x378,0x278 irq=none,noneund nach einem Reboot steht die zweite parallele Schnittstelle zur Verfügung.
/dev/lp1
hängt ein normaler Drucker
(kein sog. GDI-Drucker), dann sollte man als Benutzer root mitecho -en "Hallo\f" >/dev/lp1
Problematischer ist es, wenn die IO-Adresse der zusätzlichen
parallelen Schnittstelle nicht vorher bekannt ist.
Hier muß die IO-Adresse der zusätzlichen parallelen Schnittstelle
vorher ermittelt werden.
I) ISA PnP Karten:
Manchmal lassen sich auf solchen Karten auch feste Werte für
IO-Adresse, Interrupt und Modus einstellen:
Entweder über Jumper oder - falls Sie DOS/Windows haben - über
ein mitgeliefertes DOS/Windows Programm.
Wenn dies möglich ist, stellen Sie feste Werte für IO-Adresse, Interrupt
und Modus ein.
Andernfalls werden aber die Werte für IO-Adresse, Interrupt und Modus
erst beim Starten von Linux auf der ISA PnP Karte eingetragen.
Welche Werte eingetragen werden, läßt sich entweder in den
Bootmeldungen von Linux finden, oder analog zum Handbuch
Kapitel "Hardware rund um den Linux-Rechner" wie folgt vorgehen:
/etc/isapnp.conf
schon existiert, die
bestehende Datei sichern mitmv /etc/isapnp.conf /etc/isapnp.conf.bak
/etc/isapnp.conf
erzeugen mitpnpdump -c >/etc/isapnp.conf
isapnp /etc/isapnp.conf
pnpdump -c >/etc/isapnp.conf
II) PCI Karten:
Welche IO-Adressen und welche Interrupt bei einer PCI-Karte in Frage
kommt können Sie als Benutzer root duch folgenden Befehl sehen:
lspci -v
bzw. ausführicher mit
lspci -vv
Beispielauszug aus der Ausgabe von lspci -v
für
eine PCI Schnittstellenkarte mit zwei parallelen Schnittstellen:
... 00:0a.0 Parallel controller: ... ... Flags: stepping, medium devsel, IRQ 10 I/O ports at b400 I/O ports at b000 I/O ports at a800 I/O ports at a400 ...Jeweils zwei um 400 (hexadezimal) versetzte IO-Adressen gehören zusammen zu einem parallelen Port.
/etc/conf.modules
bzw.
ab SuSE Linux Version 6.3 in /etc/modules.conf
alias parport_lowlevel parport_pc # options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: options parport_pc io=0x378,0xb400,0xa800 irq=none,none,noneund nach einem Reboot stehen alle drei parallelen Schnittstellen zur Verfügung.
echo -en "Hallo\f" >/dev/lp0
echo -en "Hallo\f" >/dev/lp1
echo -en "Hallo\f" >/dev/lp2
Hinweis:
Statt eines Reboots genügt es, als Benutzer root, die Liste der
Kernel-Modulabhängigkeiten zu aktualisieren und - sofern an den
parallelen Ports nur Drucker angeschlossen sind - den Druckerdämon zu stoppen,
die Kernelmodule, die die parallelen Schnittstellen betreffen, zu entladen
und wieder neu zu laden und den Druckerdämon wieder zu starten:
/sbin/depmod -a 2>/dev/null >/dev/null
rclpd stop
rmmod lp
rmmod parport_probe
rmmod parport_pc
rmmod parport
modprobe parport
modprobe parport_pc
modprobe parport_probe
modprobe lp
rclpd start
Wenn der Test der zusätzlichen parallelen Schnittstellen erfolgreich war,
können z.B. zusätzliche Drucker eingerichtet werden.
Dabei ist nur statt /dev/lp0
als Druckerdevice
/dev/lp1
oder /dev/lp2
anzugeben.