This document explains the current behavior and
limitations of parallel ports under VMware for Linux.
VMware for Linux supports two types of virtual parallel port
devices: the unidirectional ports (SPP) supported in VMware for
Linux versions prior to 1.0.8, and a partial emulation of
bidirectional PS/2-style ports. Unidirectional ports are supported
in all Linux host versions. Bidirectional ports require Linux
kernel versions 2.2.5 or later.
Unidirectional
Ports
Unidirectional ports are supported for backward compatibility. They
are used typically to connect to printers or to send the printer
output to a file. The speed is usually adequate for printing text,
but expect long delays when printing images.
The pathnames of the host devices for unidirectional ports are
typically /dev/lp0, /dev/lp1, etc.
Bidirectional Ports
Bidirectional ports are used by a variety of devices (printers,
scanners, dongles, disk drives).
Currently, VMware provides only partial emulation of PS/2 hardware.
Specifically, interrupts requested by a device connected to the
physical port are not passed to the virtual machine. Also, the guest
operating system cannot
DMA (direct memory access) data to or from the port. This will be resolved in the future.
For this reason, and for the time being, not all devices that attach
to the parallel port are guaranteed to work correctly. Below is a
partial list of devices, which we will update as we gain further
information. If you try out a device that's not in the list, we
would like to hear about it.
Bidirectional emulation is slower than native access, but faster
than unidirectional emulation, so this is the recommended mode, when
possible, even when the device is unidirectional (printers).
The pathnames of the host device for bidirectional ports are
usually /dev/parport0, /dev/parport1, etc.
Default Configuration
Parallel ports by default are bidirectional on Linux hosts 2.2 or
later, unidirectional otherwise. Their default base addresses are,
in order, 0x3bc, 0x378 and 0x278. None of the ports have an
assigned IRQ or DMA channel. The ports are not present by default.
Installation on Guest Operating
Systems
Most guest operating systems automatically detect
the parallel port(s) at installation time, and install the required
drivers. Some operating systems, including Linux, Windows NT, and
Windows 2000, auto detect the port(s) at boot time. Others, like
Windows 9x, do not.
On Windows 9x, when a port is changed from unidirectional to
bidirectional or vice versa, it is necessary to remove the device
driver for that port (from the System icon in the Control Panel),
and add a new one. Adding a new driver is also required when a new
port is added. In both cases use the Add New Hardware icon in the
Control Panel and let Windows detect the new device(s). Manually
selecting the devices from a list may result in an incorrect
configuration.
Troubleshooting
If an error message is displayed at poweron stating the parallel
port on the host does not have an ECR (Extended Control Register),
it is possible the hardware supports it but it has been disabled in
the BIOS. In this case, reboot your host, enter the BIOS
configuration editor (typically by holding down the DELETE key
during early execution of the BIOS), find the parallel port field,
and enable ECP mode (or other combination of modes which include
ECP). Most modern computers should support ECP mode.
Devices Known to Work |
Adobe dongle |
Windows 95 guest |
RIO MP3 player |
Windows 95 guest |
UMAX Astra 1220 P scanner |
Windows 95 guest |
Hewlett-Packard LaserJet 5MP
printer |
Windows 9X and Windows
NT/2000 guests |
Canon Bubble Jet BJ-200e printer |
Windows 9X and Windows
NT/2000 guests |
Iomega ZIP drive |
Linux and Windows NT/2000 guest only (see note below). |
|
Devices That
Probably Work
|
Dongles |
Most dongles are likely to work. |
Printers |
Most printers are likely to work. |
HP Deskjet 722C |
Reported by customer. |
CARDport Swift Smart Media Digital
Image Reader/Writer from Chase Advanced
Technologies |
Reported by customer. |
Logitech Scanman Color 2000
(parallel port hand scanner) |
Reported by customer. |
Creative Labs WebCam II (parport
version) |
Reported by customer. |
Epson 750 printer in bidirectional
mode |
Reported by customer. |
Special Notes For
The Iomega ZIP drive
The Iomega Zip drive currently works reliably on
Linux and NT guests only. On Windows 95 or 98 guests, it
intermittently locks up the guest at boot time or during
installation. However, there is a workaround. The lockups happen
only when using the newer drivers provided directly by Iomega. If,
instead, the older drivers available from the Microsoft ftp site are
used, the drive works reliably. The drivers are available at:
ftp://ftp.microsoft.com/Softlib/MSLFILES/PPA3.EXE.