CUPS does not show parallel port for printer

Booting, installing, newbie
Message
Author
Dud
Posts: 59
Joined: Sat 04 Jun 2011, 18:17

#16 Post by Dud »

watchdog wrote:Try:
-open cups at browser's "localhost:631".
-Administration-Add Printer-SCSI Printer
-Connection: type:

Code: Select all

parallel:/dev/lp0 
Continue manual configuration.
Hi Watchdog, Folks,
I just hit this problem too - my home server died messily so I'm setting up a replacement - might as well use the latest Puppy..
and wound up here.

At this point I looked in /dev - there's no lp0 or lp1

Now I could install my old Laserjet with a serial cable but I'd prefer parallel so, how do I recreate lp0? Ideas?

watchdog
Posts: 2021
Joined: Fri 28 Sep 2012, 18:04
Location: Italy

#17 Post by watchdog »

Dud wrote:
watchdog wrote:Try:
-open cups at browser's "localhost:631".
-Administration-Add Printer-SCSI Printer
-Connection: type:

Code: Select all

parallel:/dev/lp0 
Continue manual configuration.
Hi Watchdog, Folks,
I just hit this problem too - my home server died messily so I'm setting up a replacement - might as well use the latest Puppy..
and wound up here.

At this point I looked in /dev - there's no lp0 or lp1

Now I could install my old Laserjet with a serial cable but I'd prefer parallel so, how do I recreate lp0? Ideas?
Is there /dev/usblp0 or /dev/parport0? If yes try to use them.

Dud
Posts: 59
Joined: Sat 04 Jun 2011, 18:17

#18 Post by Dud »

Is there /dev/usblp0 or /dev/parport0? If yes try to use them.
Thanks for taking an interest Watchdog.

No usblp's or parport's either - this is what I've got in /dev:

#ls -a
.
..
agpgart
audio
audio1
autofs
block
bsg
btrfs-control
bus
cdrom
char
console
core
cpu_dma_latency
cuse
dac960_gam
dri
dsp
dsp1
fb0
fd
fd0
full
fuse
hpet
hwrng
input
kmsg
log
loop0
loop1
loop10
loop11
loop12
loop13
loop14
loop15
loop2
loop3
loop4
loop5
loop6
loop7
loop8
loop9
loop-control
mapper
mcelog
mem
mixer
mixer1
mouse
mptctl
nbd0
nbd1
nbd10
nbd11
nbd12
nbd13
nbd14
nbd15
nbd2
nbd3
nbd4
nbd5
nbd6
nbd7
nbd8
nbd9
net
network_latency
network_throughput
null
port
ppp
psaux
ptmx
pts
ptya0
ptya1
ptya2
ptya3
ptya4
ptya5
ptya6
ptya7
ptya8
ptya9
ptyaa
ptyab
ptyac
ptyad
ptyae
ptyaf
ptyb0
ptyb1
ptyb2
ptyb3
ptyb4
ptyb5
ptyb6
ptyb7
ptyb8
ptyb9
ptyba
ptybb
ptybc
ptybd
ptybe
ptybf
ptyc0
ptyc1
ptyc2
ptyc3
ptyc4
ptyc5
ptyc6
ptyc7
ptyc8
ptyc9
ptyca
ptycb
ptycc
ptycd
ptyce
ptycf
ptyd0
ptyd1
ptyd2
ptyd3
ptyd4
ptyd5
ptyd6
ptyd7
ptyd8
ptyd9
ptyda
ptydb
ptydc
ptydd
ptyde
ptydf
ptye0
ptye1
ptye2
ptye3
ptye4
ptye5
ptye6
ptye7
ptye8
ptye9
ptyea
ptyeb
ptyec
ptyed
ptyee
ptyef
ptyp0
ptyp1
ptyp2
ptyp3
ptyp4
ptyp5
ptyp6
ptyp7
ptyp8
ptyp9
ptypa
ptypb
ptypc
ptypd
ptype
ptypf
ptyq0
ptyq1
ptyq2
ptyq3
ptyq4
ptyq5
ptyq6
ptyq7
ptyq8
ptyq9
ptyqa
ptyqb
ptyqc
ptyqd
ptyqe
ptyqf
ptyr0
ptyr1
ptyr2
ptyr3
ptyr4
ptyr5
ptyr6
ptyr7
ptyr8
ptyr9
ptyra
ptyrb
ptyrc
ptyrd
ptyre
ptyrf
ptys0
ptys1
ptys2
ptys3
ptys4
ptys5
ptys6
ptys7
ptys8
ptys9
ptysa
ptysb
ptysc
ptysd
ptyse
ptysf
ptyt0
ptyt1
ptyt2
ptyt3
ptyt4
ptyt5
ptyt6
ptyt7
ptyt8
ptyt9
ptyta
ptytb
ptytc
ptytd
ptyte
ptytf
ptyu0
ptyu1
ptyu2
ptyu3
ptyu4
ptyu5
ptyu6
ptyu7
ptyu8
ptyu9
ptyua
ptyub
ptyuc
ptyud
ptyue
ptyuf
ptyv0
ptyv1
ptyv2
ptyv3
ptyv4
ptyv5
ptyv6
ptyv7
ptyv8
ptyv9
ptyva
ptyvb
ptyvc
ptyvd
ptyve
ptyvf
ptyw0
ptyw1
ptyw2
ptyw3
ptyw4
ptyw5
ptyw6
ptyw7
ptyw8
ptyw9
ptywa
ptywb
ptywc
ptywd
ptywe
ptywf
ptyx0
ptyx1
ptyx2
ptyx3
ptyx4
ptyx5
ptyx6
ptyx7
ptyx8
ptyx9
ptyxa
ptyxb
ptyxc
ptyxd
ptyxe
ptyxf
ptyy0
ptyy1
ptyy2
ptyy3
ptyy4
ptyy5
ptyy6
ptyy7
ptyy8
ptyy9
ptyya
ptyyb
ptyyc
ptyyd
ptyye
ptyyf
ptyz0
ptyz1
ptyz2
ptyz3
ptyz4
ptyz5
ptyz6
ptyz7
ptyz8
ptyz9
ptyza
ptyzb
ptyzc
ptyzd
ptyze
ptyzf
ram0
ram1
ram10
ram11
ram12
ram13
ram14
ram15
ram2
ram3
ram4
ram5
ram6
ram7
ram8
ram9
random
rtc0
sda
sda1
sda2
sda5
sequencer
sequencer2
shm
snd
sr0
stderr
stdin
stdout
tty
tty0
tty1
tty10
tty11
tty12
tty13
tty14
tty15
tty16
tty17
tty18
tty19
tty2
tty20
tty21
tty22
tty23
tty24
tty25
tty26
tty27
tty28
tty29
tty3
tty30
tty31
tty32
tty33
tty34
tty35
tty36
tty37
tty38
tty39
tty4
tty40
tty41
tty42
tty43
tty44
tty45
tty46
tty47
tty48
tty49
tty5
tty50
tty51
tty52
tty53
tty54
tty55
tty56
tty57
tty58
tty59
tty6
tty60
tty61
tty62
tty63
tty7
tty8
tty9
ttya0
ttya1
ttya2
ttya3
ttya4
ttya5
ttya6
ttya7
ttya8
ttya9
ttyaa
ttyab
ttyac
ttyad
ttyae
ttyaf
ttyb0
ttyb1
ttyb2
ttyb3
ttyb4
ttyb5
ttyb6
ttyb7
ttyb8
ttyb9
ttyba
ttybb
ttybc
ttybd
ttybe
ttybf
ttyc0
ttyc1
ttyc2
ttyc3
ttyc4
ttyc5
ttyc6
ttyc7
ttyc8
ttyc9
ttyca
ttycb
ttycc
ttycd
ttyce
ttycf
ttyd0
ttyd1
ttyd2
ttyd3
ttyd4
ttyd5
ttyd6
ttyd7
ttyd8
ttyd9
ttyda
ttydb
ttydc
ttydd
ttyde
ttydf
ttye0
ttye1
ttye2
ttye3
ttye4
ttye5
ttye6
ttye7
ttye8
ttye9
ttyea
ttyeb
ttyec
ttyed
ttyee
ttyef
ttyp0
ttyp1
ttyp2
ttyp3
ttyp4
ttyp5
ttyp6
ttyp7
ttyp8
ttyp9
ttypa
ttypb
ttypc
ttypd
ttype
ttypf
ttyq0
ttyq1
ttyq2
ttyq3
ttyq4
ttyq5
ttyq6
ttyq7
ttyq8
ttyq9
ttyqa
ttyqb
ttyqc
ttyqd
ttyqe
ttyqf
ttyr0
ttyr1
ttyr2
ttyr3
ttyr4
ttyr5
ttyr6
ttyr7
ttyr8
ttyr9
ttyra
ttyrb
ttyrc
ttyrd
ttyre
ttyrf
ttys0
ttyS0
ttys1
ttyS1
ttys2
ttyS2
ttys3
ttyS3
ttys4
ttys5
ttys6
ttys7
ttys8
ttys9
ttysa
ttysb
ttysc
ttysd
ttyse
ttysf
ttyt0
ttyt1
ttyt2
ttyt3
ttyt4
ttyt5
ttyt6
ttyt7
ttyt8
ttyt9
ttyta
ttytb
ttytc
ttytd
ttyte
ttytf
ttyu0
ttyu1
ttyu2
ttyu3
ttyu4
ttyu5
ttyu6
ttyu7
ttyu8
ttyu9
ttyua
ttyub
ttyuc
ttyud
ttyue
ttyuf
ttyv0
ttyv1
ttyv2
ttyv3
ttyv4
ttyv5
ttyv6
ttyv7
ttyv8
ttyv9
ttyva
ttyvb
ttyvc
ttyvd
ttyve
ttyvf
ttyw0
ttyw1
ttyw2
ttyw3
ttyw4
ttyw5
ttyw6
ttyw7
ttyw8
ttyw9
ttywa
ttywb
ttywc
ttywd
ttywe
ttywf
ttyx0
ttyx1
ttyx2
ttyx3
ttyx4
ttyx5
ttyx6
ttyx7
ttyx8
ttyx9
ttyxa
ttyxb
ttyxc
ttyxd
ttyxe
ttyxf
ttyy0
ttyy1
ttyy2
ttyy3
ttyy4
ttyy5
ttyy6
ttyy7
ttyy8
ttyy9
ttyya
ttyyb
ttyyc
ttyyd
ttyye
ttyyf
ttyz0
ttyz1
ttyz2
ttyz3
ttyz4
ttyz5
ttyz6
ttyz7
ttyz8
ttyz9
ttyza
ttyzb
ttyzc
ttyzd
ttyze
ttyzf
uhid
uinput
urandom
vcs
vcs1
vcs2
vcs3
vcs4
vcs5
vcsa
vcsa1
vcsa2
vcsa3
vcsa4
vcsa5
vga_arbiter
vhost-net
zero
#

This is from a fresh Tahrpup installation with the SP's to 6.0.2

Cheerio,

watchdog
Posts: 2021
Joined: Fri 28 Sep 2012, 18:04
Location: Italy

#19 Post by watchdog »

I tested with frugal tahr puppy. The kernel module ppdev is missing. I think there is no way out: you should recompile the kernel with parallel port support. You can try switching kernels.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#20 Post by mikeb »

and get those redundant tty and pty devices removed :D
pty.legacy_count=10 kernel parameter stops them too...just looks lame.

Actually there seem to be several kernels for tahr including a retro one (3.4) ..perhaps one will have the module as recompiling leaves you out on a no support limb.

mike

Dud
Posts: 59
Joined: Sat 04 Jun 2011, 18:17

#21 Post by Dud »

watchdog wrote:I tested with frugal tahr puppy. The kernel module ppdev is missing. I think there is no way out: you should recompile the kernel with parallel port support. You can try switching kernels.
and
mikeb wrote:and get those redundant tty and pty devices removed
pty.legacy_count=10 kernel parameter stops them too...just looks lame.

Actually there seem to be several kernels for tahr including a retro one (3.4) ..perhaps one will have the module as recompiling leaves you out on a no support limb..
Is there any easy way to determine whether the module is present without trying every kernel in turn?

So: This is not a bug but a compiler's decision with untidy aspects... Would it be worthwhile bringing this to the Tahrpup thread? or just add it to the wishlist?

I may well decide to install precise but it feels like a backward step.

Cheerio,

User avatar
666philb
Posts: 3615
Joined: Sun 07 Feb 2010, 12:27
Location: wales ... by the sea

#22 Post by 666philb »

hi dud,

i can build you the ppdev.ko module but need to know the exact tahrpup you are using.

is it 6.0 or 6.0.2? look where puppy is installed and check the name of the puppy.sfs for the version

is it the default 3.14.20 kernel? type uname -r into a terminal

is it PAE or noPAE? use menu>>system>>Pup-sysinfo then on the sys-specs tab click on kernel
Bionicpup64 built with bionic beaver packages http://murga-linux.com/puppy/viewtopic.php?t=114311
Xenialpup64, built with xenial xerus packages http://murga-linux.com/puppy/viewtopic.php?t=107331

User avatar
666philb
Posts: 3615
Joined: Sun 07 Feb 2010, 12:27
Location: wales ... by the sea

#23 Post by 666philb »

or alternatively if feeling adventurous you could build it yourself :D

install the kernel sources & devx from quickpet
then open a terminal and

Code: Select all

cd /usr/src/linux
make menuconfig
note that you may need to make the terminal window bigger for menuconfig to work.

now use the cursor keys to navigate down to 'Device drivers' and press enter
then down to 'Character Devices' and press enter
then down to 'Support for user-space parallel port device drivers' and press 'm' (this is the ppdev module)
then use the left & right cursor keys and choose save & enter
then exit >>exit>>exit and you should be back in the terminal

then in the same terminal

Code: Select all

make modules_prepare
make M=drivers/char modules
make M=drivers/char modules_install
depmod -a
then check it worked (should be no error)

Code: Select all

modprobe ppdev
Bionicpup64 built with bionic beaver packages http://murga-linux.com/puppy/viewtopic.php?t=114311
Xenialpup64, built with xenial xerus packages http://murga-linux.com/puppy/viewtopic.php?t=107331

Dud
Posts: 59
Joined: Sat 04 Jun 2011, 18:17

#24 Post by Dud »

666philb wrote:hi dud,

i can build you the ppdev.ko module but need to know the exact tahrpup you are using.

.......

or alternatively if feeling adventurous you could build it yourself
Thanks for the offer 666philb. I don't really want a unique version, there are advantages to sticking with a popular distro vanilla version. Ultimately I expect I'll drop back to Precise.

I was, at this point, thinking more of the fact that there must be others trying to use retro periferals - I could (and I might, experimentally at least) connect the Laserjet by 1200 baud serial.

I can understand why a compiler might decide to drop older standards/protocols - this one though, doesn't seem to be particularly logical and at least two of us ran into it unexpectedly - I'll bet there were more who just gave up and felt short-changed by the experience.

Cheerio,

User avatar
666philb
Posts: 3615
Joined: Sun 07 Feb 2010, 12:27
Location: wales ... by the sea

#25 Post by 666philb »

it just never got brought up in the testing phase or it would have been in. there's so many different kernel configs that i'ld be surprised if things weren't missed!

i would be interested to know if printing would would work for you if i made the module .... if so it could be put in the next release and also be made available in the current PPM...helping others with this issue
plus it's only a module and doesn't put you out of the support process,

so if you're up for giving it a go ... let me know your puppy & kernel version as requested a few posts back

cheers
Last edited by 666philb on Fri 12 Jun 2015, 09:23, edited 1 time in total.
Bionicpup64 built with bionic beaver packages http://murga-linux.com/puppy/viewtopic.php?t=114311
Xenialpup64, built with xenial xerus packages http://murga-linux.com/puppy/viewtopic.php?t=107331

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#26 Post by mikeb »

Yes module only would not change the kernel magic so not affect adding other modules...a full build would though...sorry if that was not clear.

Anyway phill666 is efficiantly grabbing th ebull by the horns.

I use something around debian lenny as default system still on the subject of backward steps :)

mike

Dud
Posts: 59
Joined: Sat 04 Jun 2011, 18:17

#27 Post by Dud »

666philb wrote:it just never got brought up in the testing phase or it would have been in. there's so many different kernel configs that i'ld be surprised if things weren't missed!
So complexity rather than conspiracy? Figures. Complexity bites me in the arse annoyingly often.
666philb wrote:i would be interested to know if printing would would work for you if i made the module .... if so it could be put in the next release and also be made available in the current PPM...helping others with this issue
plus it's only a module and doesn't put you out of the support process,

so if you're up for giving it a go ... let me know your puppy & kernel version as requested a few posts back
If this is going back into the main stream then let's try it:

PupSysInfo

▶—— Linux Kernel ——◀

Kernel Release: 3.14.20
Build Date: Thu Oct 9 16:57:53 BST 2014
OS Support: GNU/Linux
Architecture: i686
SMP Enabled: Yes
PAE Enabled: No

Puppy 6.0 with almost all updates -
attempts to get tarfix7 are currently stalling - will be in asap.

Thanks for taking this one on board, Cheerio,

User avatar
666philb
Posts: 3615
Joined: Sun 07 Feb 2010, 12:27
Location: wales ... by the sea

#28 Post by 666philb »

hi Dud

here is ppdev.ko for tahrpup-6.0 noPAE
install the .pet then open a terminal and type

Code: Select all

modprobe ppdev
if there's no errors in the terminal then you have the right one.

next i guess try printing
Attachments
ppdev_tahr-6.0_noPAE.pet
(4.93 KiB) Downloaded 176 times
Bionicpup64 built with bionic beaver packages http://murga-linux.com/puppy/viewtopic.php?t=114311
Xenialpup64, built with xenial xerus packages http://murga-linux.com/puppy/viewtopic.php?t=107331

Dud
Posts: 59
Joined: Sat 04 Jun 2011, 18:17

#29 Post by Dud »

Hi 666philb
666philb wrote:here is ppdev.ko for tahrpup-6.0 noPAE
OK, here we go - I'll get back to you in a little while....

Cheerio,

Dud
Posts: 59
Joined: Sat 04 Jun 2011, 18:17

#30 Post by Dud »

HI 666philb

Sorry about delay, had to unpick some of the workaround.
666philb wrote: install the .pet then open a terminal and type

Code: Select all

modprobe ppdev
if there's no errors in the terminal then you have the right one.
Silent return so presume OK.
666philb wrote:next i guess try printing
CUPS didn't find a parallel port - /dev/parport0 is present...
I guess CUPS is looking for lp(n)

Reboot.

parport0 has gone so modprobe again

[I assume it should go in: /etc/rc.d/rc.local ..
or do I put something in /dev/modprobe.d ? ]

Tried installing printer using watchdog's method - parallel:/dev/parport0

Install appears to go ok but printing test page stalls at 47% without affecting printer - presumably some buffer filled but never emptied.

Hmmm. Where to now?

Cheerio,

watchdog
Posts: 2021
Joined: Fri 28 Sep 2012, 18:04
Location: Italy

#31 Post by watchdog »

Cups is very sensible to permissions problems. Try:

Code: Select all

rmmod lp
rmmod parport_pc
modprobe ppdev
chmod 666 /dev/parport0
modprobe lp
modprobe parport_pc
and try to install printer again using /dev/lp0 if present.

Edit: typo corrected. Thanks mikeb.
Last edited by watchdog on Tue 16 Jun 2015, 06:46, edited 1 time in total.

Dud
Posts: 59
Joined: Sat 04 Jun 2011, 18:17

#32 Post by Dud »

watchdog wrote:Cups is very sensible to permissions problems. Try:

Code: Select all

rmmode lp
rmmode parport_pc
modprobe ppdev
chmod 666 /dev/parport0
modprobe lp
modprobe parport_pc
and try to install printer again using /dev/lp0 if present.
Wheeee! we have printout...

Some minor issues but *my* problems have been addressed, thank you watchdog and 888philb.

Issues:
rmmode throws a command not found error
- no matter this time as there's nothing to remove atm

For info - pre chmod:

Code: Select all

# stat /dev/parport0
  File: ‘/dev/parport0’
  Size: 0         	Blocks: 0          IO Block: 4096   character special file
Device: 5h/5d	Inode: 60274       Links: 1     Device type: 63,0
Access: (0660/crw-rw----)  Uid: (    0/    root)   Gid: (  102/      lp)
Access: 2015-06-13 14:30:03.612700887 +0100
Modify: 2015-06-13 14:30:03.612700887 +0100
Change: 2015-06-13 14:30:03.612700887 +0100
 Birth: -
#
CUPS finds the printer when lp0 is present, installs OK and prints.

Installation doesn't survive a reboot - only a niggle as I can stick a script into the boot-sequence but which is the 'official' method?

(another printer on usb has been working fine all this time)

JCheerio,

watchdog
Posts: 2021
Joined: Fri 28 Sep 2012, 18:04
Location: Italy

#33 Post by watchdog »

Dud wrote:
Installation doesn't survive a reboot - only a niggle as I can stick a script into the boot-sequence but which is the 'official' method?
A script in /root/Startup named as you want with execute permissions:

Code: Select all

#!/bin/sh
rmmod lp
rmmod parport_pc
modprobe ppdev
chmod 666 /dev/parport0
modprobe lp
modprobe parport_pc
You can experiment a better order of commands.

Dud
Posts: 59
Joined: Sat 04 Jun 2011, 18:17

#34 Post by Dud »

Hi watchdog,
watchdog wrote:
Dud wrote:... but which is the 'official' method?
A script in /root/Startup named as you want with execute permissions:

Code: Select all

#!/bin/sh
rmmod lp
rmmod parport_pc
modprobe ppdev
chmod 666 /dev/parport0
modprobe lp
modprobe parport_pc
You can experiment a better order of commands.
As this is on a server uptime is sometimes months - but the user and X server may be restarted a few times. With rmmod not working would it be better in /etc/rc.d/rc.local
... and are there any drawbacks to using modprobe -r ?

Cheerio,

watchdog
Posts: 2021
Joined: Fri 28 Sep 2012, 18:04
Location: Italy

#35 Post by watchdog »

I would try only:

Code: Select all

modprobe ppdev
chmod 666 /dev/parport0
modprobe lp
modprobe parport_pc
in rc.local.

Post Reply