WinXP LPT1 Port Not Working
WinXP LPT1 Port Not Working
I followed the same advice from viewtopic.php?t=54187, running guest WinXP32 on Windows 11 with VB Version 7.0.10 r158379 (Qt5.15.2)
Just using: VBoxManage modifyvm "WinXP32" --lptmode1 "LPT3" causes no problems, but port not found in Guest. Manually added LPT1 inside WinXP32, but shows error and does not work.
When I add the setting: VBoxManage modifyvm "WinXP32" --lpt1 0x378 7 the Guest VM fails to execute, with the message "A critical error has occurred while running the virtual machine and the machine execution has been stopped."
Any suggestions?
---Robert
Just using: VBoxManage modifyvm "WinXP32" --lptmode1 "LPT3" causes no problems, but port not found in Guest. Manually added LPT1 inside WinXP32, but shows error and does not work.
When I add the setting: VBoxManage modifyvm "WinXP32" --lpt1 0x378 7 the Guest VM fails to execute, with the message "A critical error has occurred while running the virtual machine and the machine execution has been stopped."
Any suggestions?
---Robert
-
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: PUEL
- Guest OSses: Mostly XP
Re: WinXP LPT1 Port Not Working
LPT3 is possible, say if he's using a USB adapter. But then again USB adapters are not real LPT ports.
Re: WinXP LPT1 Port Not Working
Gents,
First, I didn't know there had been any responses here -- thought I'd receive an email for them. Plus I have to come here and then click "Notifications" to find it. Sorry, I'm not familiar with this platform!
When I look at Device Manager in Win11, it shows:
WCH PCI Express-PARALLEL (LPT3)
then clicking on it and selecting Resources it shows I/O Range DEFC-DEFF, IRQ 0x00000010 (16)
So I tried VBoxManage modifyvm "WinXP32" --lptmode1 "WCH PCI Express-PARALLEL (LPT3)"
and VBoxManage modifyvm "WinXP32" --lpt1 0xDEFC 16
no complaints at the command line, but when bringing up the VM I get:
Parallel#0 could not open 'WCH PCI Express-PARALLEL (LPT3)' (VERR_FILE_NOT_FOUND).
Parallel device 0 cannot attach to host driver (VERR_FILE_NOT_FOUND).
Result Code:
E_FAIL (0X80004005)
Component:
ConsoleWrap
Interface:
IConsole {6ac83d89-6ee7-4e33-8ae6-b257b2e81be8}
Then I tried the same thing except with VBoxManage modifyvm "WinXP32" --lptmode1 "LPT3"
bringing up the VM I get:
"A critical error has occurred while running the virtual machine and the machine execution has been stopped."
I tried VBoxManage modifyvm "WinXP32" --lpt3 0xDEFC 16
but the command line returned "error: Parallel port slot 2 is out of bounds (max 2)"
I got my VM back with VBoxManage modifyvm "WinXP32" --lpt1 off
I interpret this as meaning that the name LPT3 alone is correct as it seems to find what it needs, it then creates a critical error.
This is a PCI plugin parallel port, not a USB interface. I have one of those but I don't even think it can work as a bare parallel port without a printer attached. My limited understanding is that if the host is LPT3 it will actually show up as LPT1 in the guest anyway. I could change the Win11 setting to LPT1 I think (don't remember how it ended up on LPT3 when I installed it but there is an option under Device Manager to change it).
Any suggestions?
Thanks,
---Robert
First, I didn't know there had been any responses here -- thought I'd receive an email for them. Plus I have to come here and then click "Notifications" to find it. Sorry, I'm not familiar with this platform!
When I look at Device Manager in Win11, it shows:
WCH PCI Express-PARALLEL (LPT3)
then clicking on it and selecting Resources it shows I/O Range DEFC-DEFF, IRQ 0x00000010 (16)
So I tried VBoxManage modifyvm "WinXP32" --lptmode1 "WCH PCI Express-PARALLEL (LPT3)"
and VBoxManage modifyvm "WinXP32" --lpt1 0xDEFC 16
no complaints at the command line, but when bringing up the VM I get:
Parallel#0 could not open 'WCH PCI Express-PARALLEL (LPT3)' (VERR_FILE_NOT_FOUND).
Parallel device 0 cannot attach to host driver (VERR_FILE_NOT_FOUND).
Result Code:
E_FAIL (0X80004005)
Component:
ConsoleWrap
Interface:
IConsole {6ac83d89-6ee7-4e33-8ae6-b257b2e81be8}
Then I tried the same thing except with VBoxManage modifyvm "WinXP32" --lptmode1 "LPT3"
bringing up the VM I get:
"A critical error has occurred while running the virtual machine and the machine execution has been stopped."
I tried VBoxManage modifyvm "WinXP32" --lpt3 0xDEFC 16
but the command line returned "error: Parallel port slot 2 is out of bounds (max 2)"
I got my VM back with VBoxManage modifyvm "WinXP32" --lpt1 off
I interpret this as meaning that the name LPT3 alone is correct as it seems to find what it needs, it then creates a critical error.
This is a PCI plugin parallel port, not a USB interface. I have one of those but I don't even think it can work as a bare parallel port without a printer attached. My limited understanding is that if the host is LPT3 it will actually show up as LPT1 in the guest anyway. I could change the Win11 setting to LPT1 I think (don't remember how it ended up on LPT3 when I installed it but there is an option under Device Manager to change it).
Any suggestions?
Thanks,
---Robert
-
- Posts: 59
- Joined: 29. Jan 2022, 15:31
- Primary OS: openSUSE
- VBox Version: OSE other
- Guest OSses: Old & New Windows, Linux
Re: WinXP LPT1 Port Not Working
What was the error with what you tried on the original post? Can you also attach log files for this case?
Everything else you have been trying makes little sense. Quote from the LPT advice thread :
Code: Select all
VBoxManage modifyvm "WinXP32" --lptmode1 "LPT3"
VBoxManage modifyvm "WinXP32" --lpt1 0x378 7
So it makes no sense to pass "--lpt1 0xDEFC" (that's your host's IO address!), or "--lpt3 0xDEFC" (same reason).
Step 1: Understanding
Configuring an LPT port requires that you supply the host device name, plus I/O base address and IRQ (Interrupt ReQuest) selections for the guest.
[...]
Just because the application simulates hardware doesn't make its own hardware requirements anything special. Hence the base address and IRQ settings for your host LPTx port is totally irrelevant, all you need to know is the device name, e.g. "LPT1" ("/dev/parport0" on Linux I think).
Re: WinXP LPT1 Port Not Working
I see your point (:>)
Changed back to --lpt1 0x378 7 and I found the log. I can't glean any meaning from it, maybe you can -- it's attached zipped to fit here.
Thanks.
Changed back to --lpt1 0x378 7 and I found the log. I can't glean any meaning from it, maybe you can -- it's attached zipped to fit here.
Thanks.
- Attachments
-
- VBox.zip
- (53.8 KiB) Downloaded 371 times
-
- Volunteer
- Posts: 5678
- Joined: 14. Feb 2019, 03:06
- Primary OS: Mac OS X other
- VBox Version: PUEL
- Guest OSses: Linux, Windows 10, ...
- Location: Germany
Re: WinXP LPT1 Port Not Working
First of all, the parallel port configuration looks correct, and the host's parallel port was reported by the Windows host OS at I/O port 0xdefc. When the VirtualBox BIOS tried to access the virtual control port at 0x037a (0x0378+2), a Guru Meditation -37 (VERR_NOT_SUPPORTED) happens.VBox.log wrote:00:00:05.897926 [/Devices/parallel/0/] (level 3) 00:00:05.897927 00:00:05.897927 [/Devices/parallel/0/Config/] (level 4) 00:00:05.897928 IOBase <integer> = 0x0000000000000378 (888) 00:00:05.897929 IRQ <integer> = 0x0000000000000007 (7) 00:00:05.897930 00:00:05.897930 [/Devices/parallel/0/LUN#0/] (level 4) 00:00:05.897931 Driver <string> = "HostParallel" (cb=13) 00:00:05.897931 00:00:05.897931 [/Devices/parallel/0/LUN#0/Config/] (level 5) 00:00:05.897932 DevicePath <string> = "LPT3" (cb=5) [...] 00:00:05.898167 HM: HMR3Init: Attempting fall back to NEM: VT-x is not available [...] 00:00:07.375585 drvHostParallelGetWinHostIoPortsSub: Count=0 Type=0x28 Base=0xdefc End=0xdeff Flags=0x131 [...] 00:00:07.434061 !! VCPU0: Guru Meditation -37 (VERR_NOT_SUPPORTED) 00:00:07.434086 Guest CPUM (VCPU 0) state: 00:00:07.434094 eax=01240000 ebx=00000000 ecx=00000014 edx=0000037a esi=00000000 edi=0000fff0 00:00:07.434268 CPUM0: f000:ecf0 ec in AL, DX
Unfortunately, I cannot deduce the real cause for the Guru. The port access got intercepted, and VirtualBox normally should access the physical port 0xdefe (0xdefc+2) instead.
As a wild guess: Perhaps it plays a role that Hyper-V is active on the host ...
Re: WinXP LPT1 Port Not Working
Not that I can say I understand any of this, but I went to "turn windows features on or off" and found all of the Hyper-V settings. None of those checkboxes are enabled.
-
- Site Moderator
- Posts: 20945
- Joined: 30. Dec 2009, 20:14
- Primary OS: MS Windows 10
- VBox Version: PUEL
- Guest OSses: Windows, Linux
Re: WinXP LPT1 Port Not Working
The Windows Features box isn't conclusive. Do you see a green turtle in the VM's status bar? If so, host Hyper-V is enabled. See viewtopic.php?t=99390
Re: WinXP LPT1 Port Not Working
Wow, this is getting quite complicated! Indeed I do have the green turtle.
It looks like quite a few steps to deactivate Hyper-V (which I had not heard of prior to this thread). Most troubling are various sections that state that the registry has to be changed on every boot, I guess via a batch file in the startup path.
I am running Win11 Pro so it seems it will require all of the posted steps. I'll note that my WinXP VM works perfectly fine other than I can't get the parallel port to run. Plus I don't know for sure if disabling Hyper-V will fix my LPT problem. My question is: What negative ramifications (if there are any) will come from disabling Hyper-V?
Now I'm thinking that perhaps it would be better to pursue dual-booting to either Win11 or a non-VM WinXP, although then I wouldn't have easy file transfers between the two. Or just keep around an old WinXP machine alongside the newer Win11.
Thanks for the advice!
It looks like quite a few steps to deactivate Hyper-V (which I had not heard of prior to this thread). Most troubling are various sections that state that the registry has to be changed on every boot, I guess via a batch file in the startup path.
I am running Win11 Pro so it seems it will require all of the posted steps. I'll note that my WinXP VM works perfectly fine other than I can't get the parallel port to run. Plus I don't know for sure if disabling Hyper-V will fix my LPT problem. My question is: What negative ramifications (if there are any) will come from disabling Hyper-V?
Now I'm thinking that perhaps it would be better to pursue dual-booting to either Win11 or a non-VM WinXP, although then I wouldn't have easy file transfers between the two. Or just keep around an old WinXP machine alongside the newer Win11.
Thanks for the advice!
-
- Volunteer
- Posts: 5678
- Joined: 14. Feb 2019, 03:06
- Primary OS: Mac OS X other
- VBox Version: PUEL
- Guest OSses: Linux, Windows 10, ...
- Location: Germany
Re: WinXP LPT1 Port Not Working
I don't know it either. But it would be interesting to know, so that other users with the same problem could profit. Perhaps you could try it for a test, if you prefer not to disable Hyper-V in the end.
Your Windows 11 host would be missing some of the stronger Windows security features. If you need/want them or not is a highly debatable topic. For example, some gamers disable them for performance reasons, and people with the need for the strongest security don't. In consequence, I won't try to persuade you to either side.
Re: WinXP LPT1 Port Not Working
The parallel port passthrough code on Windows host was disabled with VirtualBox 7.0.0. Since then it gives this not so great diagnostics. On Linux it probably will still work (because it doesn't need such horrible hacks), without making any promises. It was never officially supported...
Re: WinXP LPT1 Port Not Working
If I downgraded to VirtualBox 6.1.50 on Win11 do you think the LPT configurations above will work? If so, will I lose my guest WinXP VM (it is all set up and I'd rather not have to go to the trouble of remembering how I got it created and configured)?
-
- Site Moderator
- Posts: 20945
- Joined: 30. Dec 2009, 20:14
- Primary OS: MS Windows 10
- VBox Version: PUEL
- Guest OSses: Windows, Linux
Re: WinXP LPT1 Port Not Working
Downgrading to 6.1.50 should not kill your XP VM. That said, a backup is always a good idea.
Re: WinXP LPT1 Port Not Working
Keep in mind that 6.1.50 is the very final update of VirtualBox 6.1 which is past end of life since December 2023. There will be no fixes for it any more, no matter how serious the bugs are.
If someone would have an idea how to do parallel port passthrough safely on Windows we'd gladly accept a contribution. On Linux this is reasonably simple with a handful of ioctls, but on Windows we couldn't find a reasonable equivalent which works without kernel level trickery (and that's what we dropped for 7.0 and it won't come back).
If someone would have an idea how to do parallel port passthrough safely on Windows we'd gladly accept a contribution. On Linux this is reasonably simple with a handful of ioctls, but on Windows we couldn't find a reasonable equivalent which works without kernel level trickery (and that's what we dropped for 7.0 and it won't come back).