# [CUPS] Imprimante en réseau local (RÉSOLU)

## Damiatux

Plop,

J'ai installé une Archlinux récemment et mon imprimante (Canon S4500) est branché à elle par USB. Sur un PC portable, Gentoo est installé et mon père a besoin de l'imprimante pour travailler. J'ai suivis la doc sur CUPS, et essayé de configurer l'imprimante avec le matériel LPD/LPR. Seulement ça ne marche pas. J'ai essayé toutes les matériels possibles, et ça ne marche pas non plus. Alors je me tourne vers vous pour que mon père puisse utiliser l'imprimante tranquillement.

Merci d'avance,

Damiatux

PS : CUPS est installé sur les deux PC.Last edited by Damiatux on Sun Aug 01, 2010 4:03 pm; edited 1 time in total

----------

## guilc

Le plus simple est de ne pas lancer cups sur le portable, mais de renseigner le fichier /etc/cups/client.conf avec l'adresse IP du PC fixe sous archlinux. Exemple chez moi :

```
$ cat /etc/cups/client.conf

ServerName coruscant.v6.xwing.info

```

Ainsi, tout ce qui utilise cups sur la machine verra les imprimantes du cups distant sans rien faire.

Sinon, si tu tiens à avoir un serveur cups sur le portable, c'est plutôt une imprimante "ipp" qu'il faut ajouter !

----------

## Damiatux

Après le ServerName j'ai mis le nom du PC tournant sous Arch mais ça ne marche pas.

J'ai aussi essayé de modifier l'imprimante LPD en IPP, mais ça ne marche pas non plus.

----------

## Poussin

colle ton cupsd.conf de ton archlinux

(et accessoirement, remplace le nom de la machine server par son IP dans le client.conf du portable)

----------

## Damiatux

```
#

# "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $"

#

# Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a

# complete description of this file.

#

# Log general information in error_log - change "warn" to "debug"

# for troubleshooting...

LogLevel warn

# Administrator user group...

SystemGroup sys root

# Only listen for connections from the local machine.

Listen localhost:631

Listen /var/run/cups/cups.sock

# Show shared printers on the local network.

Browsing On

BrowseOrder allow,deny

BrowseAllow all

BrowseLocalProtocols CUPS

# Default authentication type, when authentication is required...

DefaultAuthType Basic

# Restrict access to the server...

<Location />

  Order allow,deny

  Deny From All

  Allow From 127.0.0.1

  Allow From 192.168.1.*

</Location>

BrowseAddress 192.168.0.*:631

# Restrict access to the admin pages...

<Location /admin>

  Order allow,deny

</Location>

# Restrict access to configuration files...

<Location /admin/conf>

  AuthType Default

  Require user @SYSTEM

  Order allow,deny

</Location>

# Set the default printer/job policies...

<Policy default>

  # Job-related operations must be done by the owner or an administrator...

  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>

    Require user @OWNER @SYSTEM

    Order deny,allow

  </Limit>

  # All administration operations require an administrator to authenticate...

  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>

    AuthType Default

    Require user @SYSTEM

    Order deny,allow

  </Limit>

  # All printer operations require a printer operator to authenticate...

  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>

    AuthType Default

    Require user @SYSTEM

    Order deny,allow

  </Limit>

  # Only the owner or an administrator can cancel or authenticate a job...

  <Limit Cancel-Job CUPS-Authenticate-Job>

    Require user @OWNER @SYSTEM

    Order deny,allow

  </Limit>

  <Limit All>

    Order deny,allow

  </Limit>

</Policy>

# Set the authenticated printer/job policies...

<Policy authenticated>

  # Job-related operations must be done by the owner or an administrator...

  <Limit Create-Job Print-Job Print-URI>

    AuthType Default

    Order deny,allow

  </Limit>

  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>

    AuthType Default

    Require user @OWNER @SYSTEM

    Order deny,allow

  </Limit>

  # All administration operations require an administrator to authenticate...

  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>

    AuthType Default

    Require user @SYSTEM

    Order deny,allow

  </Limit>

  # All printer operations require a printer operator to authenticate...

  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>

    AuthType Default

    Require user @SYSTEM

    Order deny,allow

  </Limit>

  # Only the owner or an administrator can cancel or authenticate a job...

  <Limit Cancel-Job CUPS-Authenticate-Job>

    AuthType Default

    Require user @OWNER @SYSTEM

    Order deny,allow

  </Limit>

  <Limit All>

    Order deny,allow

  </Limit>

</Policy>

#

# End of "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $".

#
```

L'adresse IP du serveur et du PC portable est le même. C'est pas grave ?

----------

## Poussin

Bah ce n'est surtout pas possible... On parle bien de l'IP locale, attribuée (probablement) dynamiquement par ton routeur.

Imagine le portable qui essaie de joindre ton serveur via sa propre adresse IP, il ne va pas aller bien loin ^^

Ensuite, j'ai comme un doute sur le BrowseAddress, je n'ai pas l'impression qu'il prenne aussi le port, je crois que c'est juste un broadcast:

```

Listen *:631

BrowseAddress   192.168.4.255 

```

Mais je peux me tromper

----------

## SlashRhumSlashNeisson

Salut ,

voici mon cupsd.conf sur mon serveur, modifie les adresses IP des clients et autorise dans l'interface administration de cups, rubrique serveur le partage d'imprimantes.

```

LogLevel info

SystemGroup lpadmin

# Allow remote access

Port 631

Listen /var/run/cups/cups.sock

# Enable printer sharing and shared printers.

Browsing On

BrowseOrder allow,deny

BrowseAllow all

BrowseAddress @LOCAL

DefaultAuthType Basic

<Location />

  Allow ----> IP de ton server

  Allow ---> IP de ton portable (différente de celle du server)

  # Allow shared printing and remote administration...

  Order allow,deny

  Allow @LOCAL

</Location>

<Location /admin>

  Encryption Required

  Allow localhost

  # Allow remote administration...

  Order allow,deny

  Allow @LOCAL

</Location>

<Location /admin/conf>

  AuthType Default

  Require user @SYSTEM

......

```

Adresse IP identiques c'est pas glop   :Rolling Eyes:  .

----------

## Damiatux

Voici une partie de mon cupsd.conf :

```
# Restrict access to the server...

<Location />

  Order allow,deny

  Deny From All

  Allow From 127.0.0.1

  Allow From 192.168.1.*

</Location>
```

et j'ai coché le partage de l'imprimante. J'ai redémarré cups sur le serveur et le portable, et sur le portable, quand je veux lancer la page de test, j'ai une erreur qui dit que l'imprimante n'existe pas.

----------

## rom

Je n'arrivais pas à faire marcher l'imprimante usb à partir de cups ss Arch moi non plus. Il faut installer hal-cups-utils et relacer hal et cups.

----------

## pulsar

 *Quote:*   

> Je n'arrivais pas à faire marcher l'imprimante usb à partir de cups ss Arch moi non plus. Il faut installer hal-cups-utils et relacer hal et cups.

 

C koi le model de ton imprimante (il faudra d'abord etre sûr qu'il soutenue sous Unix) 

tu pourras par example sous ce site trouver un Driver 

http://www.openprinting.org/printers

----------

## Damiatux

 *rom wrote:*   

> Je n'arrivais pas à faire marcher l'imprimante usb à partir de cups ss Arch moi non plus. Il faut installer hal-cups-utils et relacer hal et cups.

 Je l'ai installé sur les deux ordis (on ne sait jamais), j'ai redémarré hal et cups sur les deux PC et le portable ne trouve toujours pas l'imprimante.

@pulsar : Mon imprimante marche bien sous Linux. Quand j'avais Gentoo, le portable détectais bien l'imprimante.

----------

## Damiatux

J'ai installé hal-cups-utils sur les deux ordis, redémarré hal puis cups sur les deux ordis aussi, et le portable ne trouve toujours pas l'imprimante.

----------

## Chr0nos

si ton imprimante es branchée en usb tu dois virer le module usbprinter de ton noyeau (cups l'aime pas (merci apple))

pour ma part ca a résolut le probleme ^^

bon courage  :Wink: 

----------

## Damiatux

je l'enlève sur le serveur ou sur le portable ?

----------

## xaviermiller

Sur les deux (usblp), car sinon cups ne démarre pas...

----------

## Damiatux

J'ai enlevé usblp sur Arch, mais sous Gentoo, c'est dans le menu de config du noyau qu'il faut enlever usbprinter ? Si oui, c'est dans quelle partie ?  :Very Happy: 

----------

## Poussin

```

Symbol: USB_PRINTER [=y]

  Prompt: USB Printer support

    Defined at drivers/usb/class/Kconfig:22

    Depends on: USB_SUPPORT [=y] && USB [=y]

    Location:

      -> Device Drivers

        -> USB support (USB_SUPPORT [=y])

```

Perso, chez moi, ça n'empêche pas Cups de démarrer

----------

## xaviermiller

J'aurais du être plus clair : CUPS démarre, mais impossible de voir une imprimante USB si le module usblp est chargé en mémoire. 

Normalement, une règle udev le bloque, mais s'il est en "dur" (et pas en module), impossible de le décharger.

----------

## Damiatux

Sur ma Arch, j'avais backlisté le module usblp et tout marchait très bien. Hier, j'ai enlevé ce module du démarrage, et pas possible d'imprimer. Je l'ai de nouveau backlisté au démarrage et tout fonctionne sur Arch. Après sur Gentoo, c'est Support for Host-side USB que je dois enlever (ou juste mettre en module) ?

EDIT : Support for Host-side USB était déjà activé en module. Je l'ai enlevé tout simplement. Je ne peux pas redémarrer l'ordi maintenant, je le ferais tout à l'heure.

Sinon, avoir mis USB Support en compilé en dur, n'empêchais pas CUPS de démarrer.

----------

## Poussin

 *XavierMiller wrote:*   

> J'aurais du être plus clair : CUPS démarre, mais impossible de voir une imprimante USB si le module usblp est chargé en mémoire. 
> 
> Normalement, une règle udev le bloque, mais s'il est en "dur" (et pas en module), impossible de le décharger.

 

Bah j'ai une imprimante HP usb, qui fonctionne sous CUPS, et partagée d'ailleurs, et CONFIG_USB_PRINTER=y

Je dois avoir de la chance  :Very Happy: 

----------

## letchideslandes

 *Poussin wrote:*   

>  *XavierMiller wrote:*   J'aurais du être plus clair : CUPS démarre, mais impossible de voir une imprimante USB si le module usblp est chargé en mémoire. 
> 
> Normalement, une règle udev le bloque, mais s'il est en "dur" (et pas en module), impossible de le décharger. 
> 
> Bah j'ai une imprimante HP usb, qui fonctionne sous CUPS, et partagée d'ailleurs, et CONFIG_USB_PRINTER=y
> ...

 

non non, pareil ici

----------

## Damiatux

Bon, sinon moi j'ai toujours pas réussi à pouvoir imprimé du portable. CUPS ne détecte pas l'imprimante et après avoir créé l'imprimante et que j'imprime la page de test, il me mets que l'imprimante est inexistante (avant il ne me faisait pas ça).

EDIT: Bon d'accord, j'ai capté le problème. Samba ne veut pas démarrer sur ma Arch.

----------

## Poussin

euh... ton portable c'est du windows? Parce que rien à F... de samba si ton portable a CUPS

----------

## Damiatux

Bon, le PC qui était auparavant sous Arch est maintenant sous Gentoo. J'ai réinstallé CUPS, et voici une partie de mon cupsd.conf (les IP sont statiques) :

```
# Only listen for connections from the local machine.

Listen *:631

[...]

<Location />

  Order allow,deny

  Allow localhost

  Allow from 192.168.1.150

</Location>

BrowseAddress 192.168.1.69:631
```

et le client.conf du PC portable est (titux étant le nom du PC anciennement sous Arch) :

```
ServerName titux
```

Normalement, tout devrais être bon. Je recréé l'imprimante, (ipp://titux:631/ipp/queue) et il m'affiche un joyeux « l'imprimante de destination n'existe pas. » lorsque je tente d'imprimer la page de test.

EDIT : J'ai naturellement configuré l'imprimante sur « titux ».

EDIT² : Bah voilà, en fait, j'avais oublié de cocher la case « Autoriser l'impression depuis Internet ». Et maintenant ça marche...

----------

