Jeg kan godt tænke mig at få fat i min parport2 og parport3 i linux med
henblik på styring.
Jeg har fået mit program til at virke på parport1 (lp0).
Mit spørgsmål går nu på hvordan access'er jeg porten?
Ifølge nogle tutorials jeg har fundet, skal jeg bruge følgende:
iopl(), da ioperm() kun tillader op til adresse 0x3ff.
Men hvad er min baseaddress?
Lidt information:
linux$ cat /proc/pci
[SNIP]
Bus 0, device 11, function 0:
Communication controller: NetMos Technology VScom 021H-EP2 \
2 port parallel adaptor (rev 1).
IRQ 11.
Master Capable. Latency=32.
I/O at 0xbc00 [0xbc07].
I/O at 0xc000 [0xc007].
I/O at 0xc400 [0xc407].
I/O at 0xc800 [0xc807].
I/O at 0xcc00 [0xcc07].
I/O at 0xd000 [0xd00f].
[SNIP]
linux$ cat /proc/ioports
[SNIP]
bc00-bc07 : NetMos Technology VScom 021H-EP2 2 port parallel adaptor
bc00-bc02 : parport1
c000-c007 : NetMos Technology VScom 021H-EP2 2 port parallel adaptor
c400-c407 : NetMos Technology VScom 021H-EP2 2 port parallel adaptor
c400-c402 : parport2
c800-c807 : NetMos Technology VScom 021H-EP2 2 port parallel adaptor
cc00-cc07 : NetMos Technology VScom 021H-EP2 2 port parallel adaptor
d000-d00f : NetMos Technology VScom 021H-EP2 2 port parallel adaptor
[SNIP]
linux$ cat /var/log/syslog
[SNIP]
kernel: parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
kernel: parport_pc: Via 686A parallel port: io=0x378
kernel: PCI parallel port detected: 14d2:8001, I/O at 0xbc00(0xc000)
kernel: parport1: PC-style at 0xbc00 (0xc000) [PCSPP,TRISTATE]
kernel: PCI parallel port detected: 14d2:8001, I/O at 0xc400(0xc800)
kernel: parport2: PC-style at 0xc400 (0xc800) [PCSPP,TRISTATE]
[SNIP]
Ud fra ovenstående, har jeg så ikke ret i at baseaddress for parport1 er
0xbc00 og baseaddress for parport2 er 0xc400?
Hvis der mangler oplysninger, don't hesitate to ask for 'em!
/Mikael
--
My mailserver uses TMDA. (
http://tmda.net)
Therefore if you mail me you need to reply to my autogenerated message
to be put in my whitelist. Then I will be able to receive your mail.