Ticket #15870 (new defect)

Opened 4 years ago

Parallel port passthrough support - bug in I/O resource scanning

Reported by: lelekx Owned by:
Component: other Version: VirtualBox 5.1.4
Keywords: parallel port Cc:
Guest type: all Host type: Windows


English is not my mother tongue; please excuse any errors on my part.

In certain circumstances, Virtualbox is unable to detect correct base I/O address of a parallel port. This happens when the parallel port is an add-on card (PCI, PCIe, ExpressCard). The device driver consists of two parts: bus enumerator and the parallel port itself. The first device has assigned all I/O and IRQ, while the LPT port has no resources at all.

There are two functions involved:

drvHostParallelGetWinHostIoPorts(PDRVHOSTPARALLEL pThis)


drvHostParallelGetWinHostIoPortsSub(const DEVINST DevInst)

The second function looks for a device and enumerates its I/O resources. As the LPT port lacks of any resources, the function fails. The caller then fails silently, there is no evidence in log files that the passthrough is defunct.

I don't have VS2010 and I cannot make a build environment to test my changes to the code. If I could only create a build environment, I would attempt to make a workaround to let user specify LPT's I/O base (IRQ is not important), or fix it to make it list bus enumerators and query them for their I/O addresses.

Note: See TracTickets for help on using tickets.
ContactPrivacy policyTerms of Use