PCI Parallel Port I/O card

Michael Powell nightrecon at hotmail.com
Thu Nov 25 20:59:50 UTC 2010


Jonathan Chen wrote:

> Hi,
> 
> I've got a system which has a PCI I/O card with a parallel port
> on it. I'd like my 8-STABLE/amd64 machine to recognise this card.
> 
> The relevant bits of "pciconf -lcv" is:
> 
>     none2 at pci0:4:6:0:   class=0x070103 card=0x2000a000 chip=0x98659710
>     rev=0x00 hdr=0x00
>         vendor     = 'MosChip Semiconductors (Was: Netmos Technology)'
>         class      = simple comms
>         subclass   = parallel port
>         cap 01[48] = powerspec 2  supports D0 D3  current D0
> 
> However, a verbose boot reveals:
>     ppc0: cannot reserve I/O port range
>     ppc0: <Parallel port> failed to probe at irq 7 on isa0
> 
> which is due to /boot/device.hints of:
>     hint.ppc.0.at="isa"
>     hint.ppc.0.irq="7"
> 
> How can I configure my system to recognise the parallel port on the
> PCI bus?

You might try using the system BIOS to assign a known unused IRQ such as 
maybe IRQ 5 to the PCI slot where the card is located. Then modify the hints 
entries above to "pci" and "5" and reboot. 

I'm not sure whether the hint.ppc.0.at="pci" entry would need to be 
expanded, but if so the information is present in the [none2 at pci0:4:6:0:] 
from your pciconf -lv noted above. I believe as long as it finds and 
initializes on the IRQ 5 the entry "pci" as all that is needed.

What I am unsure of is exactly what to do if the card is using some 
proprietary non-standard I/O port address. Since it is an add-in card it is 
highly likely that it will be on some I/O port that is different from the 
default parallel port you would find built-in on a motherboard.

In this case you would need to discover what this I/O port address is (and 
it might even be configurable with jumpers - see card docs). If the 
motherboard already has a parallel port the PCI card will need to have I/O 
ports that are not in conflict with the one on the motherboard. Then a third 
line would need to be added to device.hints specifying this I/O port address 
after the two lines you indicated above.

Hope it helps. Not sure it will work, but this is the approach I would 
pursue.

-Mike





More information about the freebsd-questions mailing list