Portál AbcLinuxu, 6. května 2025 11:35
/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/lp0Skript 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 usblpViete prosim poradit, ako sa s touto situaciou vysporiadat? Vopred dakujem, j Distro: Arch x86_64
/usr/bin/cat /home/ubuntu/bin/printer_firmware/hplj_sihp1020.dl > /dev/usb/lp0Muzes 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?
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/lp0Nahranie 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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.