PCI Parport-Karte DMA zuweisen?
Jan 'RedBully' Seiffert
redbully at cc.hs-owl.de
Mon Feb 22 21:31:02 CET 2010
Stefan U. Hegner schrieb:
> Hi,
>
> ich bin scheinbar schon zu besoffen um noch Mails zu schreiben. Dabei
> habe ich gar nichts getrunken.
>
Das ist der magische Dampf aus den devices...
[snip]
>> Also Stefan, vergiss es, da is nix mit DMA, das Ding laeuft entweder schnell
>> genug, oder du musst das Multitasking ausmachen.
>>
>> Ist es denn irgendwie zu langsam fuer deinen Anwendungsfall?
>>
> Nicht direkt.
>
> Will damit unter lenny (amd64) einen alten Batronix Parport Eprommer ans
> Rennen bekommen. Am Notebook (lenny, i686; das hat noch einen
> ISA-Parport) tut das Ding. Einziger augenscheinlicher Unterschied war
> die Parport Konfiguration und da, dass am Notebook ein DMA-Kanal belegt war.
>
> Jedenfalls wolle zprommer (http://www.zut.de/zprommer.html) und
> beprommer (http://flup.homelinux.org/beprommer.html) nicht auf der
> amd64-Kiste. Zprommer tut teilweise, aber in absoluter Zeitlupe und
> nicht zuverlässig.
>
> Das ist ärgerlich, aber nicht kriegsentscheidend. Beide Apps sind betagt
> und scheinen direkt den Parport zu manipulieren.
Ach, der gute alte "mit iopl aus dem userspace bitbang"-trick?
Also, fuer deinen Anwendungsfall ist das DMA furz egal, denke ich, da das Ding
"eigentlich" einfach eh nur 8 Bit pio maessig entgegen nimmt. Die anderen
Draehte (ACK, ONLINE, Printer on fire) werden dann zum einstellen benutzt.
(das ist jetzt reine Spekulation, aber ich denke nicht das so ein Prommer
irgendwie EPP oder sowas implementiert, wofuer?)
Da sowas nicht direkt dem klaschiche "was auf Drucker ausgeben" entspricht,
bitbangen die meisten Programme da dann was auf dem Port raus. Dafuer koennen
sie nicht /dev/lp nehmen (zumindest nicht so richtig)
Nur, und da verschaetzen sich dann die Progies wohl, ist das eben kein ISA
parport mehr. Ich schreibe in die Hardware und *poff* aendert sich da der TTL-Pegel.
Das Geheimniss heist in deinem Fall wohl PCI-Posting.
Ein schreib auf PCI wird nicht sofort ausgefuehrt, sondern erst gesammelt, ob da
nicht noch mehr kommt um ein "Packet" voll zu bekommen.
Wenn die Soft da aber was toggeln will, dann ist das doof, das soll dann auch
bitte gleich so raus auf die Leitung gehen.
Da muesste man wohl im source noch ein bischen rumwursteln.
Und ganz nebenbei, die Parportadresse ist zumindest bei zprommer fest
verdrahted, wenn ich das jetzt richtig sehe. WTF???
Wie geht das denn dann ueberhaupt?
config.h:#define BE_BASE 0x378
main.c: if(ioperm(BE_BASE,3,1)!=0)
main.c: ioperm(BE_BASE,3,0);
Uhhh, das richt nach emulation im BIOS oder sowas...
Kann ich mal das /proc/ioports und das _ganze_ lspci -v der amd64 kiste mit der
Netmos Karte haben?
> Hat vielleicht noch wer einen Alternativvorschlag für
> eine Brennsoftware unter Linux?
>
> Gruß
>
> Stefan.
>
Gruss
Jan
--
It's always about money, "Money before People", thats the company
motho, engraved right there in the lobby hall, just looks more
heroic in latin.
More information about the Linux
mailing list