Journal imprimante réseau, samsung et linux

22
7
juin
2012

Bonjour cher 'nal.

Cela fait depuis longtemps que je ne t'ai pas embêté, il fallait donc que je rétablisse à cette injustice.

J'ai acheté dernièrement une imprimante laser couleur + scanner à un prix assez intéressant.
En plus elle est réseau \o/.
C'est une samsung CL-8185W

Bon comme tu t'en doute, rien n'est gratuit en ce bas monde : elle n'est pas supportée nativement par linux (je ne parle pas de la conf initiale pour mettre la clé wifi, mais bien de l'utilisation).
Je n'ai pas cherché beaucoup, mais les quelques tests et lecture que j'ai trouvés sur le ternet ont tous pointé sur l'usage des drivers "closed source" de samsung.

Comme ça m'amusait un peu, j'ai regardé un peu le fonctionnement et au bout de quelques jour, un programme perl (350 lignes) me permet de scanner l'ensemble d'une page A4 dans la résolution que je veux (en réseau uniquement, l'usb ne m'intéresse pas).

Je n'ai pas l'explication de tous les champs, mais les plus importants ont été trouvés sans trop de soucis.

Alors de là plusieurs questions sont apparues dans ma p'tite tête :

  • moins d'une semaine pour un RE fait par quelqu'un qui ne s'y connait pas, alors qu'un certain nombre de post sur des forums faisaient état de problèmes. Ça n'intéresse plus personne de faire fonctionner les trucs, mais on veut les trucs "tout cuits" tout le temps maintenant ?
  • Maintenant que le poc est fait, que faire ? Sane semble être mort quelque peu (pas de mise à jour depuis plus d'un an), et la documentation de création d'un nouveau backend n'est pas vraiment "parfaite" Aurais-tu des informations plus pertinentes sur ce point ?
  • J'ai cherché un site style hwbook pour les protocoles réseaux, en mode , mais je n'ai rien trouvé. Certes wireshark à un site de dissecteur, mais c'est pas top pour comprendre le protocoles.

Bon maintenant il y a aussi l'imprimante à faire marcher en réseaux. Ça va être un peu plus dur je pense .

  • # tu as quel age ?

    Posté par . Évalué à 4.

    le RE est pour la tranche d'age 35 et plus. AMHA, le jeune ne peut rien faire pour faire du RE à son niveau, les DRM, le matériel électroniques verrouillé, le manque de doc, et surtout l'envie :) de laisser sa Xbox dormir une semaine.

    • [^] # Re: tu as quel age ?

      Posté par . Évalué à 3.

      Bof, j'avais fait un peu de RE sur le Samsung (encore!) E60 dont on avait parlé ici (à cause du prix), une liseuse électronique. Il y avait quelque personnes motivées, sur les forums de hfr, mais personnellement j'avais regardé quelque trucs bas niveau (de mémoire afficher des trucs sur l'écran et lire la position du stylet), mais je me fatigue vite, ce qui m'intéresse c'est de comprendre les bases d'un truc, ensuite généralement je laisse tomber. Enfin tout ça pour dire qu'on peut avoir moins de 35 ans et savoir faire (un peu) de RE. Je ne sais pas ce que c'est devenu, si ils ont fait des trucs un peu plus évolués, depuis.

      Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.

  • # Meff..

    Posté par (page perso) . Évalué à 10.

    J'ai entendu parler d'un type un jour qui a dû faire du RE sur les drivers non-libres de son imprimante.
    Maintenant c'est devenu un barbu qui se gratte les pieds en réunion…

    • [^] # Re: Meff..

      Posté par . Évalué à 10.

      enfin, si je ne me trompe pas, ce barbu là, il était déjà au MIT avant de commencer son driver.

  • # petite erreur

    Posté par . Évalué à 10.

    Bon, mea maxima culpa, j'étais persuadé que mon imprimante était une CL-8185W, mais non, c'est une CLX-3185W (le carton viens de me le rappeller).
    sinon, pour définir un peu plus dans le détail ce qu'il est faisable de faire avec le scan réseau
    -> choix d'une zone (j'ai les dimensions max et quel est l'origine, mais je ne sais pas encore trop définir précisément les dimensions de la zone (w,h,x,y))
    -> précision (75,100,120,…1200 dpi. Il y a aussi un mode 4200 mais j'ai juste pas fait la capture kivabien pour récupérer la bonne valeur).
    -> couleur/noir et blanc/gris 255.

    et c'est tout.

    Chose marrante aussi, le scanner envoie directement du jpeg, ce qui simplifie grandement la compréhension du protocole, mais ne permet pas de récupérer une grande dynamique sur les points (et le scanner est pas super sensible aux détails clairs, vive imagemagick pour le post traitement).

  • # Hey Brother !

    Posté par . Évalué à 6.

    En fait tu as aussi l'option d'acheter des marques qui fournissent les pilotes pour Linux, type Brother.
    Je fais marcher le scan et l'impression en Wifi avec une MFC J6510 quelque chose, sans autre chose qu'un clic droit ouvrir avec gdebbi.

    Julien_c'est_bien (y'a pas que Seb)

    • [^] # Re: Hey Brother !

      Posté par . Évalué à 3. Dernière modification le 08/06/12 à 13:31.

      c'est une solution que d'habitude je préconise.

      Pour être franc, j'ai lu en diagonal les forum au départ, et j'ai vu que des gens avaient réussi à le faire marcher. Je ne pensais pas que samsung avait sortis des drivers closed source (je suis resté en 2001 sur certains points, dont celui que les constructeurs connaissent linux et fournisse un driver , même closed source, dessus).

      J'avais même vu passé un truc sur xerox_mfp pour sane, mais j'ai pas réussi à le faire marcher.

      Pour l'impression, j'ai finalement vérifié et configuré (aptitude install foo2zjs ) et elle marche sans trop de soucis.

      Puis je me suis quand même bien amusé pour le scan :) (et c'est le plus important non ? Tout fonctionne en libre maintenant , bon ok sauf la conf initiale car j'ai pris la solution de facilité).

      Si je voulais vraiment faire les choses biens (de toute façon j'ai pas les compétences pour), je snifferais le dialogue usb entre leur outil et l'imprimante pour voir comment la configurer.

      (perso, vu qu'elle est en dhcp, j'essaierais plutot de la brancher en ethernet, de choper son adr, et de modifier sa conf par l'interface, ca doit être faisable).

      Autre défis marrant, si quelqu'un est suffisament calé, : essayé de chopper le firmware de l'imprimante, et de le modifier ^^(remarque il y a déjà le telnet de base dans ce firmware).

      • [^] # Re: Hey Brother !

        Posté par (page perso) . Évalué à 3.

        Tout fonctionne en libre maintenant

        Ya un truc que j'ai pas compris : même si tu fais du perl pour faire tes bêtises, tu utilises les pilotes closed-source en dessous non ?

        • [^] # Re: Hey Brother !

          Posté par . Évalué à 9.

          Non non, mon perl envoie les paquets réseaux kivonbien au scanner, et "lis" les réponses réseaux.

          pas de driver spécifiques.

          350 lignes de codes, vs 10 Mo de blob binaires ^

    • [^] # Re: Hey Brother !

      Posté par (page perso) . Évalué à 6.

      Oui, enfin brother ce sont aussi des drivers proprio, hein, et leur paquets Debian sont vraiment merdiques (x86 seulement, et selon les machines, il faut créer les bons répertoires avant l'installation, et aller bidouiller les fichiers HAL après). Mais ça a le mérite d'exister, et de fonctionner correctement une fois l'installation réussie.

    • [^] # Re: Hey Brother !

      Posté par (page perso) . Évalué à 2.

      Ou les HP. ça fonctionne out-of-the-box (en tout cas sous ubuntu, et grâce aux drivers libres). Tu branches, ça marche. Impression ou scannerisation : nickel (j'ai une PSC 1610, branchée en USB).

      Bon maintenant je sais qu'il y a des modèles qui ne sont pas toujours bien supporté (parce que trop récent ou trop spécifiques). Mais bon, il y a un large choix parmi les modèles supportés correctement.

      • [^] # Re: Hey Brother !

        Posté par . Évalué à 2.

        pour l'imprimante, il parait qu'elle marche aussi par défaut sous ubuntu, vu que foo2zjs est installé par défaut. J'ai pas testé, j'ai pas ubuntu.

        le problème là c'était le scanner.

        • [^] # Re: Hey Brother !

          Posté par . Évalué à 2.

          salut, j'ai la même imprimante, je confirme que ça marche out of the box sous ubuntu et je suis très intéressé par ton script perl.

          il est publié quelque part ?

          • [^] # Re: Hey Brother !

            Posté par . Évalué à 2.

            Je suis moi aussi très curieux de voir ce bout de code, si tu pouvais partager. Merci :)

            • [^] # Re: Hey Brother !

              Posté par . Évalué à 2.

              Ca ne pose pas de problème, mais pas tout de suite (plus tard dans la journée) car je n'y ais pas accès pour cet instant.

              Par contre c'est du quick and dirty.

              J'aurais aimé faire du sane, mais j'ai vraiment du mal à trouver une doc satisfaisante pour faire un backend pour sane.

              • [^] # Re: Hey Brother !

                Posté par . Évalué à 3.

                voilou, le petit script est dispo
                http://pastebin.com/rcxMgPmP

                C'est du WTFPL car je ne voulais pas me prendre la tête avec la licence etc…
                (j'aurais peut être du mettre l'option "carte postale" quand même ;))
                Et vu la qualité dudit code (oh les if ($DEBUG) rajouté à l'arrache derrière les print pour la publication ).

                Avant de lancer le script, il faut mettre à jour l'ip de son imprimante (dans la variable $PRINTERIP)
                on lance le script suivi du nom de fichier.
                Le script refuse de se lancer si le nom de fichier n'existe pas, ou pointe vers un fichier existant.

                on peut spécifique la résolution après. Vous pouvez donner n'importe quel résolution, le script s'occupe pour arrondir a la résolution qui l'arrange (de tête, celle inférieur).

                On ne peut pas encore spécifier le secteur à scanner, ça viendra peut être.

                Le scanner sort du jpeg, donc je sauve en jpeg.
                De plus il fait plein de petit jpeg donc j'utilise imagemagick pour postraiter l'ensemble des jpegs.
                Attention : J'utilise normalize car je trouve qu'on ne voit rien avec ce scanner sur des dessins. Si vous souhaitez rester sur l'original, remplacez "-normalize" par "-append"

                Si vous avez une capture réseau d'une session avec un truc spécifique , n'hésitez pas à me l'envoyer (mp) en spécifiuant les paramètres classiques (dpi,…) et le spécifique, pour que je puisse faire la soustraction de ce que je connais déjà et ce que je ne connais pas.

                Si vous souhiatez plus d'info sur le proto, même punition. J'ai deux feuille montrant un peu les champs, mais un peu galère a présenter proprement, donc je ne le ferais pas sans raison :)

                Si pb a utiliser: msg ici (mais c'est pas un forum), ou mp. (je n'ai aucune offre de support donc si ca prend du temps ou si j'ai pas envie/les compétences de trouver le problème, tant pis:P)

      • [^] # Re: Hey Brother !

        Posté par . Évalué à 3.

        C'est clair que hplip, c'est un vrai plaisir. Sous Slack, Opensuse, Mandriva ou Mageia, la config prend autant de temps que le démarrage de l'imprimante.
        Le problème avec HP, ce n'est pas les drivers, c'est le matos.

  • # Mutualiser les efforts

    Posté par (page perso) . Évalué à 4.

    Salut,

    Pour mon imprimante réseau (Xerox Phaser6110), j'utilise ça http://www.jon.demon.co.uk/dell1600n-net-scan/ qui supporte des modèles proches de la tienne.
    Il serait sans doute intéressant de regrouper tout ça, peut-être en proposant un patch à l'auteur. (en plus c'est du perl).

    • [^] # Re: Mutualiser les efforts

      Posté par . Évalué à 4.

      Je l'avais pas trouvé.
      Faut que je le lise/test un peu pour voir si je peux faire qqch avec :)

      • [^] # Re: Mutualiser les efforts

        Posté par . Évalué à 4.

        J'ai un peu regardé vite fait, mais le protocole utilisé ne semble pas le même.
        (pas la même taille de header, un enregistrement spécifique, …)

        Faudrait que je fasse une ou deux capture réseaux pour m'en assurer mais je suis pas sur que faire un patch serait intéressant.

        Par contre pourquoi pas un programme englobant les deux.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.