I need to call on the lazyweb once more.
The odd Windows program (Ashlar Vellum) that I need to use inside vmware has a copy-protection dongle that attaches to the parallel port. But vmware can’t seem to find the parallel port. By default it looks for /dev/parport0, which does not exist. If I use /dev/lp0 then it says “parallel0: We have detected an LP style device. This type of device has been deprecated in VMware Workstation. We have guessed that “/dev/parport0” corresponds to “/dev/lp0″ and will use that instead.”
So I guess that /dev/parport is the new thing in Linux, so I wonder why I don’t have it (with Ubuntu Breezy).This doesn’t seem like a vmware problem.
I have tried changing the IRQ number used for the parallel port in the BIOS, without effect.
Update:
$ lsmod | grep ppdev
$ insmod ppdev
insmod: can’t read ‘ppdev’: No such file or directory
But
$modprobe ppdev works
and it is loaded at startup if I put it in /etc/modules.
But I need to
$rmmod lp
to prevent it from claiming the port. I have added lp to /dev/hotplug/blacklist and a few other files that look similar, but it is still loaded at startup.
The dongle still isn’t recognised, but I haven’t tried it under non-vmwared Windows either.
Maybe try do domething with udev(link lp0 to parport0 and see what’ll happend)?
I’m only guessing now
You need the ppdev and parport kernel modules loaded.
t@freddy:~$ lsmod | grep ppdev
ppdev 9764 0
parport 35912 3 ppdev,parport_pc,lp
t@freddy:~$ ls -l /dev/parport0
crw-rw—- 1 root lp 99, 0 2005-12-24 14:05 /dev/parport0
AFAI can remember, parport is a lower level interface to the parallel port which lp works on top of.
Try modprobe instead of insmod Murray :-)
ruben@tokyo:~ $ lsmod | grep ppdev
ruben@tokyo:~ $ sudo modprobe ppdev
ruben@tokyo:~ $ lsmod | grep ppdev
ppdev 9668 0
parport 39400 3 ppdev,parport_pc,lp
modprobing ppdev made the parallel port sort-of work in vmware for me. (Mandrake 10.1, 10.2.) but only \
AARGH! your captcha sucks; one failed submission and half my text was cut off.
…but only sort-of; it made vmware see the port, and quit complaining, but the guest OS still insisted there was no dongle there, in blatant disregard of reality. YMMV.
Hi Murray,
I ever encountered this issue on Ubuntu. I asked on Ubuntu forum, but no replies. I still have not figured out the exact reason why it’s not there, however, you can create it yourself:
/dev$ sudo mknod parport0 char 6 0
sollution:
parport0 is created by the kernel-module ppdev.
“modprobe ppdev” should load it
if not you need to configure your kernel to use it and recompile.
then you do:
“mknod /dev/parport0 c 99 0 -m 666”
to create the devicenode if it’s not created on the fly avter the modprobe (if you have udev)
that’s it.
Here’s something that I noticed with vmware server 1.0 guys.. You don’t have to use “auto detect” or “/dev/parport0” because you can manually specify something else. All you do is delete what they have, and put whatever you want.
Just remove the “lp” module and restart the VMWare image and you get the LPT1 working in the guest OS…
Just type:
#rmmod -v lp (as root)
…or do the sudo $%$&&&*.. if you have Ubuntu :P
bye
m4r14n0
Thanks for the first step.
I still don’t get the rest working but maybe another time…
I am having this exact same problem (under RedHat 9) — that is, I’m trying to run software under VMWare that has a hardware dongle that connects to the parallel port, and VMWare can’t see that there’s a parallel port at all. The VMWare docs (http://pubs.vmware.com/server1/vm/wwhelp/wwhimpl/common/html/wwhelp.htm?context=vm&file=devices_server.9.8.html) say to
# rmmod lp
but then when I do an lsmod, lp is still there — or rather, it’s been immediately reloaded by something. In /var/log/messages it says:
kernel: lp0: using parport0 (polling).
kernel: lp0: console ready
I am unable to determine what reloads lp, so I don’t know how to prevent this from happening.
I had trouble with /dev/parport0 until I set permissions to 666.
My way of fixing it, will probably work for most ppl:
In the kernel config (cd /usr/src/linux; make menuconfig), enable (if not enabled already):
-> Device Drivers
-> Character devices
Support for user-space parallel port device drivers
-> Device Drivers
-> Parallel port support
Parallel port support
(and probably also PC-style hardware and Multi-IO cards?)
compile the kernel:
make; make modules_install
and load the modules:
modprobe ppdev; modprobe parport
ppdev makes a /dev/parport0, with permissions 660 and owned by root:lp, so add yourself to the lp group (or change the permissions) if you need user access:
su
gpasswd -a gerben lp; exit
logout and login again..
“I had trouble with /dev/parport0 until I set permissions to 666”
Add yourself to the lp group too, that way when you reboot you’ll have full permission to the possibly dynamicly created lp device (which will likely come back with 660 perms).
as root do: # adduser YOURLOGIN lp
setting the perms to 666 is a convenient hack to save you logging in again just to access the lp port