IO-Adresskonflikt ParallelPort <-> std io

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
Mirulan
Beiträge: 136
Registriert: 18.02.2005 19:20:08
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

IO-Adresskonflikt ParallelPort <-> std io

Beitrag von Mirulan » 05.03.2014 21:44:18

Hallo Leute.

Ich habe hier ein Problem, wo ich nicht mal weiss, wo ich einen vernünftigen Einstieg
in die Dokumentation finde.

Ich brach den Dosemu mit vollem Zugriff auf den parallelen und seriellen Port.
Parallel für ein Dosprogramm bd32.exe zum aufspielen von Bootloadern auf unsere Hardware.
Seriell mit einem anderen Programm (selbstgeschrieben glaube ich).

Ich bekomme aber folgendes zu sehen:

Code: Alles auswählen

mirulan@servicebox:~$ dosemu -s

Running privileged (via sudo) in full feature mode
ERROR: PORT: conflicting devices: Parallel printer & std port io for port 0x378
Can't create debugger pipes, dosdebug not available
Was kann ich tun, um das Teil auf einem aktuellen PC mit den eingebauten Ports zum
funktionieren zu bringen. Kenne da keine Skrupel, solange das Ergebnis stabil und sicher läuft.

Danke schon mal im voraus. :hail:

Mit freundlichen Grüßen

Mirulan

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: IO-Adresskonflikt ParallelPort <-> std io

Beitrag von rendegast » 06.03.2014 06:55:22

Code: Alles auswählen

# lsmod | grep par
parport_pc             26287  0 
parport                35743  1 parport_pc
Diese werden bei mir automatisch geladen, wohl aufgrund der hardware.
Würde es klappen, wenn Du diese vor dosemu entlädst?
Wenn darüber sonst nichts mehr gemacht wird (Drucken),
so könnten das Modul / die Module blacklisted werden?
(Nur das Modul parport geladen taucht noch nichts in /proc/interrupts / /proc/ioports auf.)




Code: Alles auswählen

# modinfo parport_pc 
filename:       /lib/modules/3.12-0.bpo.1-amd64/kernel/drivers/parport/parport_pc.ko
license:        GPL
description:    PC-style parallel port driver
author:         Phil Blundell, Tim Waugh, others
....
vermagic:       3.12-0.bpo.1-amd64 SMP mod_unload modversions 
parm:           io:Base I/O address (SPP regs) (array of int)
parm:           io_hi:Base I/O address (ECR) (array of int)
parm:           irq:IRQ line (array of charp)
parm:           dma:DMA channel (array of charp)
parm:           init_mode:Initialise mode for VIA VT8231 port (spp, ps2, epp, ecp or ecpepp) (charp)
Hier kann irq/io vorgegeben werden.
-> parport_pc nur an den Port einer separaten Karte gebunden? (zBsp. für Drucken)
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Mirulan
Beiträge: 136
Registriert: 18.02.2005 19:20:08
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: IO-Adresskonflikt ParallelPort <-> std io

Beitrag von Mirulan » 06.03.2014 08:49:35

rendegast hat geschrieben: Diese werden bei mir automatisch geladen, wohl aufgrund der hardware.
Würde es klappen, wenn Du diese vor dosemu entlädst?
Wenn darüber sonst nichts mehr gemacht wird (Drucken),
so könnten das Modul / die Module blacklisted werden?
(Nur das Modul parport geladen taucht noch nichts in /proc/interrupts / /proc/ioports auf.)
[\quote]
Wahrscheinlich steh ich jetzt auf den Schlauch, aber braucht der Dosemu, respektive der Kernel
nicht die beiden Module um überhaupt etwas auf den Parallelport zu schreiben?
Oder kann der Dosemu das selber?

Bin im Moment nicht zu Hause und habe keinen Zugriff auf den betreffenden Rechner, deswegen keine Auszüge.

Zur Beschreibung der Hardware. Ich habe hier eine kleine Hardwareschaltung, die bei uns im Laden über den Parallelport
von DOS Daten auf eine mit einem 68xxx Prozessor bestückten Flash schreibt. Die Anweisungen dazu stehen in einem
File, daß ich dem Aufruf von bd32.exe mitgebe. Soweit kein Problem.

Mein Problem, so wie ich es sehe:
LPT1 liegt io-technisch zwischen 0x378 und 0x37F bei alten Rechnern und damals bei DOS
std io sagt aber er benötigt 0x378, vielleicht noch mehr, keine Ahnung.

An das ummappen habe ich auch schon gedacht, zB auf den io-Bereich von LPT2 (0x278-0x27F). Ich vermute das
ist bei den beiden parport-Modulen kein größeres Problem.
Wie sieht's jetzt aber mit dem Dosemu aus, und da ich std io in /proc/ioports nicht wirklich erkannt/gesehen/? habe,
braucht der vielleicht in dem LPT2 Bereich auch nochmal eine IO-Adresse?

Ich kann in der Config von bd32 halt nur LPT1/2 bzw icd1(?- Adapter hängt auch am Parallelport) einstellen und denke,
daß ich somit von Seiten innerhalb des Dosemu auf die IO-Bereiche festgelegt bin.

In der Dosemu.conf muss ich dann schon nochmal den IO-Bereich angeben, für welchen Teil des ganzen habe ich bis
jetzt aber noch nicht kapiert. Ich vermute aber für den Linux-Treiber. (Ein einfaches wechseln des IO-Bereichs in der
Dosemu.conf war allerdings noch nicht zielführend.
rendegast hat geschrieben:-> parport_pc nur an den Port einer separaten Karte gebunden? (zBsp. für Drucken)
Nein, alles onboard. und ich brauche den Parallelport für sonst auch nichts mehr.
Die Geschichte hier muss aber flutschen.

Mirulan

Antworten