Wyszukaj
Wyświetlanie wyników dla tagów 'firmware' .
-
W nowych wersjach Fedory, gdzie za załadowanie firmware odpowiada udev, system nie ładuje do drukarki firmware po restarcie drukarki. Opisuję rozwiązanie przetestowane dla 64-bitowej wersji Fedory 18 i drukarki HP Laserjet 1020: Tworzymy plik /usr/bin/hp1020-load-firmware #!/bin/sh LIMIT=9 for printer in /sys/class/usbmisc/lp* ; do output=$(udevadm info -a -p $printer | grep 'ATTRS{product}=="HP LaserJet 1020"') if [ ! -z "$output" ]; then devpath="/dev/usb/${printer:19}" echo "found HP1020 on $devpath, uploading firmware" cat /usr/share/foo2zjs/firmware/sihp1020.dl > $devpath fi done exit Nadajemy uprawnienia: chmod a+x /usr/bin/hp1020-load-firmware chown root.root /usr/bin/hp1020-load-firmware Uruchomienie pliku powinno spowodować naprzemienne miganie lampek drukarki, świadczące o załadowaniu firmware. Szukamy pliku /lib/udev/rules.d/70-printers.rules, który w Fedorze 18 zawiera: # Low-level USB device add trigger ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", TAG+="systemd",ENV{SYSTEMD_WANTS}="configure-printer@usb-$env{BUSNUM}-$env{DEVNUM}.service" # Low-level USB device remove trigger ACTION=="remove", SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:0701*:*", RUN+="udev-configure-printer remove %p" Kopiujemy plik do /etc/udev/rules.d/ i modyfikujemy zawartość: # Low-level USB device add trigger ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", TAG+="systemd",ENV{SYSTEMD_WANTS}="configure-printer@usb-$env{BUSNUM}-$env{DEVNUM}.service", RUN+="/usr/bin/hp1020-load-firmware" # Low-level USB device remove trigger ACTION=="remove", SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:0701*:*", RUN+="udev-configure-printer remove %p" Wyłączamy i włączamy drukarkę, jeśli pojawi się naprzemienne miganie lampek, firmware jest załadowany. Tworzymy plik /etc/systemd/system/loadfirmware.service [Unit] Description=Startup HP LaserJet 1020 [Service] Type=oneshot ExecStart=/usr/bin/hp1020-load-firmware ExecStop= [Install] WantedBy=printer.target Wydajemy polecenie: systemctl enable loadfirmware.service Uruchamiamy Fedorę od nowa. Naprzemienne miganie lampek drukarki przy starcie systemu sygnalizuje załadowanie firmware. ==Źródło:== []http://forums.fedoraforum.org/archive/index.php/t-172284.html]