# /dev/parport missing [SOLVED]

## javeree_work

the description of my problem is simple: I am missing the node /dev/parport running a udev system.

I have compiled parport_pc as a node

Here is an excerpt of my .config

```
# Parallel port support

#

CONFIG_PARPORT=m

CONFIG_PARPORT_PC=m

# CONFIG_PARPORT_SERIAL is not set

CONFIG_PARPORT_PC_FIFO=y

# CONFIG_PARPORT_PC_SUPERIO is not set

# CONFIG_PARPORT_GSC is not set

CONFIG_PARPORT_1284=y

```

durign boot I see the following messages in dmesg | grep par

```
parport_pc: VIA 686A/8231 detected

parport_pc: probing current configuration

parport_pc: Current parallel port base: 0x378

parport0: PC-style at 0x378 (0x778), irq 7, using FIFO [PCSPP,TRISTATE,COMPAT,ECP]

parport_pc: VIA parallel port: io=0x378, irq=7

parport_pc: VIA 686A/8231 detected

parport_pc: probing current configuration

parport_pc: Current parallel port base: 0x378

parport0: PC-style at 0x378 (0x778), irq 7, using FIFO [PCSPP,TRISTATE,COMPAT,ECP]

parport_pc: VIA parallel port: io=0x378, irq=7

```

I even see the modules with lsmod, and I can do modprobe -r parport_pc ; modprobe parport_pc without error message

```
Module                  Size  Used by

parport_pc             30916  0

parport                30824  1 parport_pc

smbfs                  59672  3

psmouse                25956  0

8250_pnp                7968  0

8250                   19076  1 8250_pnp

serial_core            18336  1 8250

pcspkr                  3140  0

rtc                    10168  0

es1371                 32448  1

gameport               11496  2 es1371

soundcore               7104  2 es1371

ac97_codec             16780  1 es1371

via_rhine              19588  0

via686a                16504  0

i2c_sensor              2752  1 via686a

uhci_hcd               28848  0

evdev                   6848  0

usbcore               102780  2 uhci_hcd

```

however, ls -l /dev/parport* gives no entries

The thing is, I think it is kernel related, becqus I saw a post somewher that said to look for a ppdev entry in /sys

However, find /sys/ -name '*ppdev*' returns nothing. I guess the kernel sees the port, (hence the dmesg), calls modprobe, but doesn't show an entry in sys, so udev has nothing to create a node for. Could this reasoning be correct ?

One last remark:

modinfo parport_pc gives:

```
parm:           io:Base I/O address (SPP regs)

parmtype:       io:array of int

parm:           io_hi:Base I/O address (ECR)

parmtype:       io_hi:array of int

parm:           irq:IRQ line

parmtype:       irq:array of charp

parm:           dma:DMA channel

parmtype:       dma:array of charp

parm:           verbose_probing:Log chit-chat during initialisation

parmtype:       verbose_probing:int

parm:           init_mode:Initialise mode for VIA VT8231 port (spp, ps2, epp, ecp or ecpepp)

parmtype:       init_mode:charp

```

I don't know what to do with this, but dmesg tells me there is a VIA 686A/8231 detected, so maybe I should do something with the parameter init_mode. However, I have no idea what I should do or how. Who can advise me ?Last edited by javeree_work on Wed Nov 02, 2005 8:08 am; edited 1 time in total

----------

## egberts

udev does no device discovery.for parallel printer:

Standard Gentoo printer ports are:

```
$ ls -lat /dev/par*

crw-rw----  1 root lp 6, 0 Dec 18  2004 /dev/par0

crw-rw----  1 root lp 6, 1 Dec 18  2004 /dev/par1

crw-rw----  1 root lp 6, 2 Dec 18  2004 /dev/par2

$ ls -lat /dev/lp*

crw-rw----  1 root lp 6, 0 Dec 18  2004 /dev/lp0

crw-rw----  1 root lp 6, 1 Dec 18  2004 /dev/lp1

crw-rw----  1 root lp 6, 2 Dec 18  2004 /dev/lp2
```

----------

## wmark

Try this to get at least /dev/lpX:

```
modprobe lp
```

----------

## javeree_work

My problem was not wwith a printer, but with a parallel port scanner, so I am not worried about /dev/lp entries (yet). However, I found the answer: In the .config excerpt I sent, I only wrote about the entries about parport and parport_pc. It appears that there is an additional entry CONFIG_PPDEV which was not set in my case. I set that to modular and regenerated my kernel.

After reboot, a modprobe ppdev was all that was needed to see the /dev/parport[0-9] nodes appearing. After that it was a matter of adding a rule to /etc/udev/rules.d to set the wanted permissions. And of adding the line 'ppdev' to /etc/modules.autoload.d/kernel2.6 to automatically loading the module at boot.

I think it might be better to add a line to modprobe.conf to have the module loaded automatically whenever parport_pc is loaded. I think a line like

```
install parport_pc /sbin/modprobe --ignore-install parport_pp; /sbin/modprobe ppdev 
```

should do it

----------

## nivw

man, CONFIG_PPDEV is in the serial drivers section.

WTF?

what does it have to do with 8250 ?

I cant seem to enble it via the make menuconfig.

----------

