# [CUPS / usblp] Attention : changement avec cups-1.4 (USB)

## xaviermiller

Attention ! Avec la version 1.4 de CUPS (en ~arch actuellement), le support de l'USB ne passe plus par usblp (le module USB Printer du kernel). Peupeul a décidé de faire tout de son côté, et désactive le support USB is usblp est chargé.

Donc, si vous avez usblp compilé en dur, veuillez le mettre en module ou le désactiver.

Si c'est en module, assurez-vous qu'il est déchargé. Udev-146 le black-liste, pas de souci.

----------

## Kevin57

Merci pour l'information. J'ai recompilé mon noyau pour l'enlever (c'est bien USB Printer Support?) mais dans CUPS -> Ajouter une imprimante il ne trouve toujours pas mon imprimante (Canon Pixma MP 520) alors le driver est installé et que ça marchait sous KDE3.5, est-ce qu'il manquerait un module, ou n'ai-je pas enlevé le bon?

Edit : KDE3.5, donc aussi ancienne version de CUPS.

----------

## xaviermiller

 *Kevin57 wrote:*   

> Edit : KDE3.5, donc aussi ancienne version de CUPS.

 

Heuuuu, rien à voir du tout !

Que donne "emerge -pv cups" ? tu auras la version installée.

Pour ton imprimante, as-tu chargé le bon PPD (éventuellement les packages "foomatic" dispo dans portage)

----------

## Kevin57

Actuellement j'ai la version CUPS 1.4.1. Pour mon imprimante, j'ai installé l'ebuild cnijfilter-2.80 qui est le driver correspondant aux imprimantes Canon MP520.

Quand je disais "KDE3.5 donc ancienne version de CUPS", je voulais juste dire qu'avant de passer à KDE4.3, je n'utilisais pas CUPS 1.4 mais une version plus ancienne, enfin il me semble, et que tout marchait.

----------

## tmasscool

Déjà avec le passage de cups 1.2 -> 1.3 j'ai eu des soucis avec les permissions sur le périphérique USB. Maintenant rebelote avec cups 1.4...

pff et si on blackliste usblp on a des problèmes avec saned... super

----------

## xaviermiller

Cups est maintenant propriété d'Apple, on diraît qu'ils ont adopté leur méthode "cow boy" comme pour Mac OS X (suppression unilatérale de certains API, ...)

----------

## kernelsensei

C'est zarb cette idée je trouve. Normalement c'est le taff du kernel que de causer avec les periphs. Cups embarque un module kernel à lui ou bien il fait ça autrement ?

Pour les drivers X on essaye de migrer le max de trucs niveau kernel et là avec cups ils font l'inverse...

----------

## xaviermiller

J'imagine que CUPS accède l'USB en "RAW" plutôt que via usblp.

En soi, pourquoi pas... mais pourquoi faire un "caca nerveux" quand usblp est chargé en mémoire ?

Et pourquoi n'y a-t-il eu AUCUN message lors de la mise à jour de CUPS à ce sujet.

Aucun warning, aucune error, alors que plein d'autres ebuilds bloquent s'il y a / manque une config dans le kernel...

----------

## guilc

 *kernelsensei wrote:*   

> C'est zarb cette idée je trouve. Normalement c'est le taff du kernel que de causer avec les periphs. Cups embarque un module kernel à lui ou bien il fait ça autrement ?

 

le kernel est toujours là. C'est juste qu'il n'utilise plus la couche usblp qui "émule" un port parallèle (LPT) sur l'USB, mais directement la couche libusb, comme c'est déjà le cas pour les scanners. Cela permet d'accéder sur un périph générique et portable plutôt que sur un truc spécifique aux imprimantes et spécifique au noyau linux !

PS : debian fournit un patch permettant de faire fonctionner les 2 interfaces en même temps sur cups 1.4.1 (voir bugzilla debian)

----------

## kernelsensei

 *guilc wrote:*   

>  *kernelsensei wrote:*   C'est zarb cette idée je trouve. Normalement c'est le taff du kernel que de causer avec les periphs. Cups embarque un module kernel à lui ou bien il fait ça autrement ? 
> 
> le kernel est toujours là. C'est juste qu'il n'utilise plus la couche usblp qui "émule" un port parallèle (LPT) sur l'USB, mais directement la couche libusb, comme c'est déjà le cas pour les scanners. Cela permet d'accéder sur un périph générique et portable plutôt que sur un truc spécifique aux imprimantes et spécifique au noyau linux !
> 
> PS : debian fournit un patch permettant de faire fonctionner les 2 interfaces en même temps sur cups 1.4.1 (voir bugzilla debian)

 

Ah ok c'est une bonne chose alors  :Wink:  Juste la transition qui pourrait être moins douloureuse...

----------

## GentooUser@Clubic

Perso j'ai profité de cette MàJ pour migrer funtoo -> Gentoo. La version d'udev de funtoo, trop vielle, ne donne pas les bon droits aux imprimantes USB sans usblp.

----------

## El_Goretto

 *GentooUser@Clubic wrote:*   

> Perso j'ai profité de cette MàJ pour migrer funtoo -> Gentoo.

 

OFF: huh, ça veut dire quoi çà, migrer funtoo vers gentoo?

----------

## xaviermiller

Funtoo est un fork de Gentoo par Daniel Drake. Il change 2-3 trucs.

Le gros avantage de funtoo était les builds journaliers. Mais vu que ça a donné un gros coup dans l'orgueil des devs Gentoo, les stage 3 journaliers sont aussi présents chez Gentoo.

Je suis passé un moment sur Funtoo (1 an) comme base à jour, mais mes deux dernières compils se sont faites sur un stage 3 Gentoo (en fait non... un stage1 récent généré par Funtoo, mais on va dire que j'ai pris un stage3 Gentoo à jour pour les logs du forum  :Laughing: )

----------

## El_Goretto

@XavierMiller: merci de m'expliquer ce qu'est Funtoo... des fois que. Mais non.

Je repose ma question... "passer de funtoo à gentoo", çà veut dire quoi quoi? Je m'interroge.  :Smile: 

----------

## guilc

funtoo, c'est un overlay aussi => tu vires l'overlay funtoo, tu reviens sur une gentoo  :Wink: 

----------

## Trapamoosch

Pour cette histoire de CUPS, le bug est ici : https://bugs.gentoo.org/show_bug.cgi?id=285166

----------

## El_Goretto

 *guilc wrote:*   

> funtoo, c'est un overlay aussi => tu vires l'overlay funtoo, tu reviens sur une gentoo 

 

Aaaaaah, ben voilà, tout de suite, je comprends mieux  :Smile: 

----------

## GentooUser@Clubic

 *guilc wrote:*   

> funtoo, c'est un overlay aussi => tu vires l'overlay funtoo, tu reviens sur une gentoo 

 J'utilisais pas l'overlay mais bien l'arbre portage alternatif.

Le problème c'est qu'a de plus en plus de paquets masqués dans funtoo-cautionary, et même des programmes comme udev que tu ne peut même pas unmasquer une version supérieure car pas d'ebuild dans l'arbre. 

Et la sync de portage via git c'est plus rapide que rsync mais moins solide, suffit de modifier un ebuild de l'arbre pour corriger un problème à la gruik et emerge --sync ne marche plus.

Bref le problème de droits avec CUPS 1.4 ça a été la goutte de trop, ça m'a pris une demi journée mais je suis revenu sous Gentoo.

----------

## Chr0nos

hum merci pour l'info mais je coince pour ma part sur l'utilisation de cups en usb et ce "probablement" a cause de son support qui ne passe pas

j'ai recompilé le noyeau (2.6.33) avec genkernel mais sans le module usb printer

le probleme c'est que quand je vais dans l'interface d'admin de cups (via http://127.0.0.1:631/ ) et que je tente d'ajouter une imprimante, il m'est proposé pour les imprimantes "locales" que le SCSI et l'usb est absent o_O

du coup je verifie bien que le module n'est pas chargé:

 *Quote:*   

> 
> 
> truc ~ # lsmod | grep usb
> 
> usbhid                 26199  0
> ...

 

apparement tout baigne de ce coté la, j'utilise cups 1.4.3 mais rien n'y fait :s

----------

## xaviermiller

Normalement, les imprimantes USB devraient être reconnues automatiquement, et dans la liste des imprimantes disponibles lors de la séquence d'installation (via le menu "Add Printer" de CUPS).

Est-ce le cas ?

----------

## Chr0nos

non justement  :Sad: 

----------

## xaviermiller

OK, pourrais-tu donner le résultat de 

```
emerge -pv cups
```

, voire 

```
emerge --info
```

 ?

----------

## xaviermiller

As-tu bien le USE "usb" ? Est-ce que DBUS et HAL tournent ?

----------

## Trapamoosch

Si c'est une imprimante multifonction imprimante/scanner, il y a aussi un souci de droit à cause d'udev. Voir ici : https://bugs.gentoo.org/show_bug.cgi?id=285166

----------

## Chr0nos

alors:

 *Quote:*   

> 
> 
> truc ~ # emerge -pv cups
> 
> These are the packages that would be merged, in order:
> ...

 

donc le usb est bien "ok"

 *Quote:*   

> 
> 
> truc ~ # emerge --info
> 
> Portage 2.2_rc67 (default/linux/x86/10.0/desktop, gcc-4.4.2, glibc-2.10.1-r0, 2.6.33-gentoo i686)
> ...

 

enfin pour le lien si j'ai bien compris il n'y a pas encore de solution pour ce bug ?

il s'agit en effet d'une imprimante multi fonction

une epson SX205

( la partie scanner fonctione au poil avec media-gfx/iscan )

----------

## Trapamoosch

Pour tester si c'est un souci de droit comme le bug que j'ai cité, allume ton imprimante. En tant de root, tape lsusb et repère la ligne qui correspond à ton imprimante. Par exemple pour moi ça donne :

```
localhost ~ # lsusb

Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 007 Device 002: ID 04b8:080f Seiko Epson Corp. Stylus Photo RX425 scanner

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 006 Device 003: ID 0603:00f2 Novatek Microelectronics Corp. 

Bus 006 Device 002: ID 046d:c062 Logitech, Inc. 

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 002 Device 004: ID 046d:0994 Logitech, Inc. QuickCam Orbit/Sphere AF

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 002: ID 059f:0951 LaCie, Ltd 

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
```

Note le bus et le device qui correspond (pour moi c'est 007 et 002) et fais un ls -al /dev/bus/usb/bus/device. Pour moi ça donne :

```
localhost ~ # ls -al /dev/bus/usb/007/002 

crw-rw-r-- 1 root scanner 189, 769 12 avril 21:07 /dev/bus/usb/007/002
```

Le souci étant que ce device appartient au groupe scanner (donc pour scanner, aucun souci effectivement), mais cups veut quelque chose qui appartient au groupe lp.

La solution, temporaire, est de faire un chgrp lp /dev/bus/usb/bus/device.

Toujours dans mon cas :

```
localhost ~ # chgrp lp /dev/bus/usb/007/002

localhost ~ # ls -al /dev/bus/usb/007/002 

crw-rw-r-- 1 root lp 189, 769 12 avril 21:07 /dev/bus/usb/007/002

```

Une fois ceci fait, ça fonctionne très bien (mais on ne peut plus scanner...). Note : c'est à refaire à chaque redémarrage de l'imprimante...

----------

## Chr0nos

donc j'ai bien un:

 *Quote:*   

> 
> 
> Bus 001 Device 003: ID 04b8:0849 Seiko Epson Corp. Stylus SX205
> 
> 

 

dans le lsusb

j'ai fais un:

 *Quote:*   

> chgrp lp /dev/bus/usb/001/003

 

et la... miracle ca marche, mais je doute que ma mere (car s'est son imprimante sur son laptop) n'apprécie beaucoup que je lui fasse tapper des commandes :s

il es pas possible de "lier" les groupes "scanner" et "lp" ensemble ?

en tout cas merci beaucoup pour la combine  :Smile: 

----------

## xaviermiller

Avec une règle UDEV, cela devrait aller, le temps que ce bug soit fixé.

----------

## Chr0nos

hum au risque de passer pour un gros noob (je ne suis pas tres familier avec udev) , comment fais on pour creer la dite regle ?

j'ai bien remarqué un /etc/udev/rules.d/

mais son contenu reste relativement obscur pour moi

----------

## xaviermiller

Désolé, mais je ne connais pas assez UDEV pour aider. Je sais juste que c'est réalisable  :Confused: 

----------

