PDA

View Full Version : Determining the parallel port device's PCI ID



epretorious
03-Mar-2013, 08:26
I've got a few Supermicro P8SCi motherboards (http://www.supermicro.com/products/motherboard/p4/e7221/p8sci.cfm) that I'm using as Xen hosts and I'd like to configure configure PCI-passthrough so that I can create a print server PVM. However, I can't seem to find the parallel port in the output of lspci (so I'm not able to determine the PCI ID of the parallel port device [i.e., required for hiding the parallel port from Dom0]). I believe that the parallel port is discovered during system start up:

san1:~ # dmesg | grep parp
[ 24.076657] parport_pc 00:09: reported by Plug and Play ACPI
[ 24.076856] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[3494671.839064] parport_pc 00:09: disabled
[3494671.861520] parport 0x378 (WARNING): CTR: wrote 0x0c, read 0xff
[3494671.861528] parport 0x378 (WARNING): DATA: wrote 0xaa, read 0xff
[3494671.861532] parport 0x378: You gave this address, but there is probably no parallel port there!
[3494671.861549] parport0: PC-style at 0x378 [PCSPP,TRISTATE]
[3494671.961841] lp0: using parport0 (polling).
[3494672.007485] parport_pc 00:09: activated
[3494672.007495] parport_pc 00:09: reported by Plug and Play ACPI
[3494672.007555] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[3494672.122588] lp0: using parport0 (interrupt-driven).
[3494673.167681] parport_pc 00:09: disabled
[3494673.188811] parport 0x378 (WARNING): CTR: wrote 0x0c, read 0xff
[3494673.188819] parport 0x378 (WARNING): DATA: wrote 0xaa, read 0xff
[3494673.188823] parport 0x378: You gave this address, but there is probably no parallel port there!
[3494673.188839] parport0: PC-style at 0x378 [PCSPP,TRISTATE]

san1:~ # lspci
00:00.0 Host bridge: Intel Corporation E7220/E7221 Memory Controller Hub (rev 05)
00:01.0 PCI bridge: Intel Corporation E7220/E7221 PCI Express Root Port (rev 05)
00:02.0 VGA compatible controller: Intel Corporation E7221 Integrated Graphics Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (rev 03)
00:1d.0 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
00:1d.3 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d3)
00:1f.0 ISA bridge: Intel Corporation 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801FR/FRW (ICH6R/ICH6RW) SATA Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)
01:00.0 PCI bridge: Intel Corporation 6702PXH PCI Express-to-PCI Bridge A (rev 09)
01:00.1 PIC: Intel Corporation 6700/6702PXH I/OxAPIC Interrupt Controller A (rev 09)
02:01.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet Controller (rev 05)
02:04.0 SCSI storage controller: Adaptec AIC-7902B U320 (rev 10)
02:04.1 SCSI storage controller: Adaptec AIC-7902B U320 (rev 10)
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 11)
05:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 11)
Am I overlooking something here?

Eric Pretorious
Truckee, CA

jmozdzen
05-Mar-2013, 11:14
Hi Eric,

> Am I overlooking something here?

probably yes - parallel ports are no PCI devices :D

Those interfaces hung off some peripheral chip ("super i/o") connected to the south bridge... or, going even further back in time, were implemented as discreet chips on the mobo.

Regards,
Jens

epretorious
06-Mar-2013, 01:42
...parallel ports are no PCI devices :D

Those interfaces hung off some peripheral chip ("super i/o") connected to the south bridge... or, going even further back in time, were implemented as discreet chips on the mobo.

Thanks, Jens:

Do you know if there's anything that I'll need to do in order for the PVM to access that parallel port? :confused:

Eric Pretorious
Truckee, CA

jmozdzen
07-Mar-2013, 12:48
Hi Eric,


Thanks, Jens:

Do you know if there's anything that I'll need to do in order for the PVM to access that parallel port? :confused:

Eric Pretorious
Truckee, CA

as far as I know there's no support in the virtualization products to hand a parallel port device to the VM.

I've been told there may be add-on cards that put a parallel port device on the PCI bus, which then could be forwarded to the VM in the way you already tried - but I have absolutely no experience with such a setup. I would assume that it'd be far cheaper and easier to set up a network print server box for the actual printer access and, if that is what you're actually after, a print *spooler* inside your VM (sending the jobs to the print server box via IP). OTOH, you might be successful by using a USB-based printer port, forwarding that USB device to the VM.

Regards,
Jens