Dear All,
I'm trying to setup a parallel port passthrough using a 32-bit Windows XP guest on VirtualBox 4.2.6 r82870 (my host is a Windows 7 Ultimate 32-bit).
I have a PCI expansion card with 2 serial and 1 parallel port (I am only interested in the parallel port...). After installing the driver for this PCI card, Windows 7 shows me the following ports (Device Manager):
PCI_COM (COM7) - I/O range B020-B027 and IRQ 0x14 (20)
PCI_COM (COM8) - I/O range B030-B037 and IRQ 0x14 (20)
PCI_LPT(LPT1) - I/O range B010-B017 and IRQ not specified
I have tested them and they are running. The guest (Windows XP), shows me one parallel port ("by default", before doing anything):
Printer port (LPT1) - I/O range 0x0378-037F AND 0x0778-077F. IRQ not specified.
I've tried enabling the port in VirtualBox with these commands:
vboxmanage modifyvm "My_VB" --lptmode1 LPT1
vBoxManage modifyvm "My_VB" --lpt1 0x0378 7
and a lots of commands with the IRQ and I/O range previously mentioned. And so... absolutely nothing happens with the guest machine. Here is a little part of my vbox file:
<LPT>
<Port slot="0" enabled="true" IOBase="0x378" IRQ="7" path="LPT1"/>
<Port slot="1" enabled="false" IOBase="0x378" IRQ="4"/>
</LPT>
2 questions:
1) What combination of IRQ and base address do you suggest?
2) Does the guest show something when the parallel port runs? Does the Device Manager show something?
Thanks,
DLuca
Unable to use Parallel port passthrough
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: Unable to use Parallel port passthrough
Have you read the tutorial?
Re: Unable to use Parallel port passthrough
Thank you mpack,
I have just read. Much of the information contained there I already knew (after reading many comments through this forum).
I have tried these commands:
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyvm "Teste_VM" --lptmode1 "LPT1:"
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyvm "Teste_VM" --lpt1 0x378 7
and after
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyvm "Teste_VM" --lptmode1 "LPT1"
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyvm "Teste_VM" --lpt1 0x378 7
I am trying to configure the LPT in two different guests (I know it is only possible to use one LPT at the same time) and I realized that, after executing these commands, the following error happens when I try to start the second guest (this guest does not start) after having successfully started the first one:
Parallel#0 could not open 'LPT1' (VERR_ACCESS_DENIED).
Parallel device 0 cannot attach to host driver (VERR_ACCESS_DENIED).
This is a "good error" and means that the first guest has taken the LPT1 (I think). But when I try any kind of communication in this first guest, nothing happens.
Do you have any suggestion?
I am trying to communicate the Microsoft Visual Studio with an embedded system which needs a parallel port to debug the system. This runs in a computer with Windows XP (without using virtual machines). That's why I think the problem is in the parallel port when I try to use the Virtual Machine with Windows XP. Do you suggest some software to test the LPT? I googled it but I found only very old software and they did not run.
If you need more information about my system, please, let me know.
Thank you,
DLuca
I have just read. Much of the information contained there I already knew (after reading many comments through this forum).
I have tried these commands:
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyvm "Teste_VM" --lptmode1 "LPT1:"
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyvm "Teste_VM" --lpt1 0x378 7
and after
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyvm "Teste_VM" --lptmode1 "LPT1"
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyvm "Teste_VM" --lpt1 0x378 7
I am trying to configure the LPT in two different guests (I know it is only possible to use one LPT at the same time) and I realized that, after executing these commands, the following error happens when I try to start the second guest (this guest does not start) after having successfully started the first one:
Parallel#0 could not open 'LPT1' (VERR_ACCESS_DENIED).
Parallel device 0 cannot attach to host driver (VERR_ACCESS_DENIED).
This is a "good error" and means that the first guest has taken the LPT1 (I think). But when I try any kind of communication in this first guest, nothing happens.
Do you have any suggestion?
I am trying to communicate the Microsoft Visual Studio with an embedded system which needs a parallel port to debug the system. This runs in a computer with Windows XP (without using virtual machines). That's why I think the problem is in the parallel port when I try to use the Virtual Machine with Windows XP. Do you suggest some software to test the LPT? I googled it but I found only very old software and they did not run.
If you need more information about my system, please, let me know.
Thank you,
DLuca
Re: Unable to use Parallel port passthrough
just to be clearer, the commands I shown in the last message were applied to the first guest. My tests are being done in this one.
I have configured the second guest to use parallel port just to see that error I told you. Purposely...
I have configured the second guest to use parallel port just to see that error I told you. Purposely...
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: Unable to use Parallel port passthrough
The device name AFAIK should be "LPT1:", i.e. with the colon. Without the colon you are opening a file called "LPT1" in the current folder, which won't work.
"Access Denied" can mean the device doesn't exist, or its already in use, or you don't have permission to access it. I've never heard of that last one being an issue with a parallel port. So I guess that leaves one of the first two.
On the "already in use" thing. I don't know what you mean about the first guest taking the port. The guest can only take a port when its running. Merely configuring a guest does not cause a port to be in use. If the host says the port is already in use when you try to run a first VM then it would have to be something other than VirtualBox which is using the port, e.g. other software or a printer driver.
Why do you want a virtual parallel port anyway?
"Access Denied" can mean the device doesn't exist, or its already in use, or you don't have permission to access it. I've never heard of that last one being an issue with a parallel port. So I guess that leaves one of the first two.
On the "already in use" thing. I don't know what you mean about the first guest taking the port. The guest can only take a port when its running. Merely configuring a guest does not cause a port to be in use. If the host says the port is already in use when you try to run a first VM then it would have to be something other than VirtualBox which is using the port, e.g. other software or a printer driver.
Why do you want a virtual parallel port anyway?