Portál AbcLinuxu, 1. června 2024 09:10


Dotaz: Spravny postup pre automaticke (udev) nahratie firmwaru tlaciarne (tiskarny)

jose17 avatar 30.10.2021 11:58 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Spravny postup pre automaticke (udev) nahratie firmwaru tlaciarne (tiskarny)
Přečteno: 262×
Odpovědět | Admin
Zdravim,

poradite mi prosim, ako spravne nahrat do tlaciarne (HP 1020) firmware? Momentalne mam v /etc/udev/rules.d/load_printer_firmware.rules:
SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="03f0", ENV{ID_MODEL_ID}=="2b17", ACTION=="add", RUN+="/cesta/k/load_printer_firmware.sh"
load_printer_firmware.sh:
#!/bin/sh
sleep 10
/usr/bin/cat /home/ubuntu/bin/printer_firmware/hplj_sihp1020.dl > /dev/usb/lp0
Skript sa spusti, no nahratie nefunguje, pretoze v case spustenia skriptu este /dev/usb (a teda ani /dev/usb/lp0) neexistuje. A 10 sekundova pauza nic neriesi (zrejme sa caka, az skript skonci).

Z logu systemd:
okt 30 11:28:46 hppro kernel: usb 5-1: new high-speed USB device number 2 using xhci_hcd
okt 30 11:28:46 hppro kernel: usb 5-1: New USB device found, idVendor=03f0, idProduct=2b17, bcdDevice= 1.00
okt 30 11:28:46 hppro kernel: usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
okt 30 11:28:46 hppro kernel: usb 5-1: Product: HP LaserJet 1020
okt 30 11:28:46 hppro kernel: usb 5-1: Manufacturer: Hewlett-Packard
okt 30 11:28:46 hppro kernel: usb 5-1: SerialNumber: FN1W674
okt 30 11:28:56 hppro systemd-udevd[2428]: 5-1: Process '/cesta/k/load_printer_firmware.sh' failed with exit code 1.
okt 30 11:28:56 hppro systemd[571]: Reached target Printer.
okt 30 11:28:56 hppro systemd[1]: Reached target Printer Support.
okt 30 11:28:56 hppro kernel: usblp 5-1:1.0: usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid 0x03F0 pid 0x2B17
okt 30 11:28:56 hppro kernel: usbcore: registered new interface driver usblp
Viete prosim poradit, ako sa s touto situaciou vysporiadat? Vopred dakujem, j

Distro: Arch x86_64
Ja vim, on vi, ty nano!
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.10.2021 12:12 X
Rozbalit Rozbalit vše Re: Spravny postup pre automaticke (udev) nahratie firmwaru tlaciarne (tiskarny)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prikaz:
/usr/bin/cat /home/ubuntu/bin/printer_firmware/hplj_sihp1020.dl > /dev/usb/lp0
Muzes provest kdy chces. Takze bych se na udev vykaslal a spustil to az bude zarizeni dostupne rucne. Vyrvareni udev pravidla ani nema smysl, protoze se jedna ojednorozavou kaci. Neches preci ten firmware nahravat po startu porad dokola, nebo?
jose17 avatar 30.10.2021 12:33 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: Spravny postup pre automaticke (udev) nahratie firmwaru tlaciarne (tiskarny)
Je to pocitac rodicov a tak sa snazim o co najviac user-friendly pristup. Vo Windows predsa clovek tiez po spusteni tlaciarne neklika na ikonku s programom, ktory ten firmware do zariadenia dostane.

Udev praveze podla mna zmysel ma, pretoze casto to vyzera takto:
  • PC vypnute, tlaciaren vypnuta
  • mama zapne PC
  • nieco zaujimave najde na webe a chce si to vytlacit
  • zapne tlaciaren
  • udev sa pokusi o nahratie fw, ale zlyha
  • pokus o tlac skonci s informaciou, ze obrazok/dokument bol odoslany a nic sa pritom nestane
  • pouzivatel je frustrovany a zacne na kvalitu PC/tlaciarne/(admina?) nadavat
  • tlaciaren i PC sa vypina
Ja vim, on vi, ty nano!
vencour avatar 30.10.2021 18:39 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Spravny postup pre automaticke (udev) nahratie firmwaru tlaciarne (tiskarny)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tenhle návod s CUPSem nepomůže?
Viz též bod 9 ... You may need to switch off and on the HP LJ 1020 printer to activate hot plug upload the firmware.
A ten cups přes web by mohl uklidnit, že toto je deterministický stroj.
Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
jose17 avatar 30.10.2021 21:08 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: Spravny postup pre automaticke (udev) nahratie firmwaru tlaciarne (tiskarny)
Ten odkazovany skript spolieha na skript, ktory robi:
usblps=`find /dev/usb -type c -name 'lp*'`" "`find /dev -type c -name 'usblp*'`
V case, ked sa spusta vsak ziaden /dev/usb neexistuje, takze sa obavam, ze to fungovat nebude. Nateraz som vyriesil dalsim skriptom, ktory zavola systemd service.

/etc/systemd/system/load_printer_fw.service
[Unit]
Description=Load printer firmware
After=printer.target
StartLimitIntervalSec=20
StartLimitBurst=4

[Service]
Type=oneshot
ExecStart=/cesta/k/load_printer_firmware_systemd.sh

[Install]
WantedBy=printer.target
load_printer_firmware_systemd.sh
#!/bin/sh
sleep 10
/usr/bin/cat /home/ubuntu/bin/printer_firmware/hplj_sihp1020.dl > /dev/usb/lp0
Nahranie fw po prvom zapnuti (ked /dev/usb neexistuje) tlaciarne ma na starosti systemd. Ak pouzivatel vypne a opat zapne tlaciaren pocas posledneho spustenia PC tak na to vsak systemd nezareaguje, udev ale vtedy uz zafunguje. Cele je to divne, ale zda sa, ze to funguje.
Ja vim, on vi, ty nano!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.