The host is running on Windows 7 64 bit with 8GB of RAM. The motherboard has an on-board parallel port at address 378. The guest machine is running Windows XP 32 bit. I could not get the printer to work in VirtualBox as it kept reporting paper empty status. I tried setting the host BIOS port settings at standard parallel port, bi-directional, and ECP+EPP modes. I also tried various on/off combinations of interrupt configurations in the host and guest but that did not change the symptoms.
The printer is a Xerox XD100 (which is essentially the same as a Sharp AL1000). The driver is very fussy and will only work with onboard parallel adapters. It will not work with USB parallel converters or PCI add-in cards because they don't provide the standard I/O addresses of 378/278/3BC, even in a non-virtualized environment. However, as I mentioned before, it does work under Virtual PC 2007 SP1.
The VirtualBox Manager does not have a section for managing parallel ports the way it does for serial ports. I manually edited the configuration file.
<LPT> <Port slot="0" enabled="true" IOBase="0x378" IRQ="7"/> <Port slot="1" enabled="false" IOBase="0x278" IRQ="4"/> </LPT>With the above configuration changes in version 4.2 RC2 and RC3, the virtual machine fails to start with the following error:
Failed to open a session for the virtual machine XP Pro.
Parallel#0 could not open '' (VERR_PATH_NOT_FOUND).
Parallel device 0 cannot attach to host driver (VERR_PATH_NOT_FOUND).
Result Code: E_FAIL (0x80004005)
Component: Console
Interface: IConsole {db7ab4ca-2a3f-4183-9243-c1208da92392}
I had to set the port enabled value back to false to allow the VM to start succesfully.