Journal Mettre à jour le firmware d'une imprimante OKI

Posté par  . Licence CC By‑SA.
Étiquettes :
63
17
déc.
2021

Bonjour, nal,

Je vois que ça parle mise à jour de firmware d'imprimante dans un journal récent, et même si je ne suis perso pas partisan de toujours espérer avoir de la mise à jour ad vitam æternam point de vue « sécurité » pour mon matériel (quand on voit TLS inclut dedans, c'est la définition même de l'obsolescence programmée), j'aime bien pouvoir espérer corriger certains bugs gênants grâce à une mise à jour.

J'ai une imprimante OKI dont j'avais parlé dans un précédent journal qui m'empêche de scanner parce que l'initialisation du Wifi ne fonctionne plus… bien que je n'aie jamais utilisé le Wifi dessus ! Je suis allé sur le site du constructeur voir ce qu'il proposait : comme on pouvait (malheureusement) s'y attendre, il y a un programme de mise à jour spécifique, disponible pour Windows, MacOS, et même… iOS ! Mais pas Linux. J'avoue que j'étais un peu vexé que même un smartphone puisse mettre à jour une imprimante et pas mon joli PC.

Alors j'ai commencé à regarder qu'est-ce que serait ce programme de mise à jour, et quels sont bien ces fichiers de firmware qu'on trouve un peu plus loin sur le site ; car oui, le constructeur offre heureusement le moyen de récupérer le fichier de firmware directement, sans passer par leur application. Je me dis que peut-être le programme effectue une sorte d'authentification avec l'imprimante, avec des mécanismes à la con pour empêcher les « méchants » de la mettre à jour, ce qui m'inclut également en tant que « libriste ». Quand je tente d'identifier le fichier avec « file », il me dit que c'est un « PJL encapsulated PostScript document text » : tiens, intéressant. Quand je dump le début du fichier en hexadécimal et ASCII, je vois effectivement quelques « commandes » lisibles au début.

Je me renseigne sur ce language, on trouve un joli manuel de référence de chez HP sur le « Printer Job Language » :
https://developers.hp.com/system/files/PJL_Technical_Reference_Manual.pdf

C'est un langage de « bas niveau », en-dessous du classique CPL utilisé pour ces imprimantes, ce dernier étant le langage standard qui fait que les imprimantes « professionnelles » marchent tout de suite sans problème de driver à la con, une des raisons principales pour laquelle j'ai choisi ce modèle. Le fichier commence par une séquence d'échappement qui indique à l'imprimante de passer dans un mode spécifique, qui ici permettra de mettre à jour le firmware. On voit également que c'est un « job » comme un autre selon http://hacking-printers.net/wiki/index.php/Firmware_updates, c'est à dire une tâche d'impression standard (même si ici on a affaire à une mouture spécifique à OKI du PJL…).

Mais alors, si c'est un job standard (de 31 Mo, quand même), qui s'utilise comme une impression… j'ai qu'à l'imprimer ? Je tente :

lp OKI_MB472_A01.79_0_4_270451.bin

Et… l'imprimante m'indique : « Wait a moment. Executing maintenance. » Puis elle redémarre ; je vérifie la version du firmware et… ça a marché ! Quoi, c'est tout ?! C'est une simple tâche d'impression, et le constructeur s'amuse à faire des applis spécifique pour des OS de smartphone pour ça ?!

Bon, je pense que j'ai cessé d'essayer de comprendre ce monde technique. Et puis en plus, ça n'a pas réglé mon bug de Wifi à la con. Bref, c'est un journal-témoignage à la fois utile et inutile, je vous laisse choisir le bouton adéquat ci-dessous.

  • # Pas le choix

    Posté par  . Évalué à 7.

    Sur iOS, un fichier doit être associé à une application, donc forcément il faut créer une application pour lancer cette fausse impression.

    Sans compter que faire taper une ligne de commande à un utilisateur d'iPhone est considéré comme un acte de torture.

  • # Wait, WHAT?

    Posté par  . Évalué à 10.

    Si j'ai bien compris, tu peux update le firmware complet de ton imprimante sans authentification? Il suffit de pousser un job d'impression et hop? oO

    • [^] # Re: Wait, WHAT?

      Posté par  (Mastodon) . Évalué à 8.

      Pratique pour installer un malware sur l'imprimante et d'autant plus utile avec les imprimantes connectées modernes.

      • [^] # Re: Wait, WHAT?

        Posté par  . Évalué à 4.

        Ca dépend, le firmware peut être signé et empêcher les downgrade (pour réintroduire d'anciennes vulns) : ce n'est pas parce que l'upgrade se fait via un canal non sécurisé qu'il ne peut pas être propre, si l'on enlève l'indispo de l'équation (n'importe qui pouvant lancer l'upgrade dans le cas présent).

        Après, est-ce le cas ? J'ai quelques doutes :)

      • [^] # Re: Wait, WHAT?

        Posté par  . Évalué à 4.

        Cette présentation à defcon montre comment faire ça en accédant un plus à l'imprimante par fax.

    • [^] # Re: Wait, WHAT?

      Posté par  (Mastodon) . Évalué à 5.

      Une mise à jour Android c'est un "simple" fichier .zip à donner à manger au recovery, c'est pas pour autant que tu peux faire ce que tu veux.

      Signatures, toussa…

      En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # À propos…

    Posté par  . Évalué à 5. Dernière modification le 17 décembre 2021 à 16:43.

    Je veux te remercier pour ton précédent journal. Ça fait bientôt quatre ans que je me sers de la MB472, sans aucun souci. Elle était arrivée avec une pièce cassée, OKI a envoyé un réparateur la changer sur place. J'ai changé une fois le toner, ça me change des jet d'encre.

    La chose que je n'ai jamais réussi à mettre en route : le scan avec envoi sur le réseau vers une machine mais ce n'est pas un gros handicap.

    • [^] # Re: À propos…

      Posté par  (Mastodon) . Évalué à 4.

      Moi aussi suite à son journal j'ai acheté OKI.

      J'utilise le scan sur réseau (partage Samba) au quotidien sans aucun soucis.

      En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: À propos…

      Posté par  . Évalué à 3.

      Marrant de voir comment on peut influencer les autre ;-)

      Concernant ton problème de scan réseau, c'est effectivement le point sur lequel j'ai buté aussi. J'ai fini par passer par l'envoi réseau, par SMTP : vu que j'ai un SMTP local, ça n'est pas trop dérangeant pour moi. Ça fonctionnait très bien, jusqu'à cette histoire d'initialisation du Wifi qui a cassé cette fonction, pour une raison débile, vu que je suis toujours passé par l'Ethernet et que ça marchait très bien comme ça.

  • # Firmware suite

    Posté par  . Évalué à 4.

    Merci pour cette information appréciable, qui m'a permis de mettre à jour mon imprimante OKI que j'apprécie beaucoup également !

    Comme j'ai eu du mal à trouver ledit fichier pour mettre à jour l'imprimante, voici les étapes à suivre :

    1. Aller sur la page firmware de votre imprimante : https://www-odc-ori.oki.com/eu/printing/support/firmware/colour-multifunction/index.html

    2. En bas de la page, cliquez sur le lien : « Click here to get the Firmware Suite »

    3. Cela amène vers une page qui permet de télécharger un fichier .bin qu'il suffit effectivement d'envoyer à l'imprimante via la commande lpr

    Après quelques secondes / minute de mise à jour, l'imprimante est prête !

Suivre le flux des commentaires

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