Temat: Problem z wysylaniem formware na drukarke HP LJ 1020

Witam
Kilka dni temu przesiadlem sie na Gargoyle w wersji 1.5.11.2 by obsy.
Wszystko dziala w sumie ok poza jedna rzecza.
Nie umiem zmusic swojej drukarki HP LJ 1020 do automatycznego pobierania firmware podczas wlaczania.
Skrypt hotplug napisany poprawnie wrzucony do /etc/hotplug.f/usb/20-hplj1020 i nadane prawa wykonywania.
Wyglada tak jakby nie byl przetwarzany.
Drukarka w systemie widziana prawidlowo i odpalany demon p910nd.
Firmware wysylany z konsoli poprawnie sie wysyla i drukarka drukuje.
Przegladajac forum gargoyle znalazlem podobne problemy opisane przez uzytkownikow ale niestety bez rozwiazania sad
Moze cos sie pozmienialo w nowym gargoyle i tzreba to jakos inaczej zrobic?
Moze ktos juz to zwalczyl bo nie chce wywazac otwartych drzwi.
Dzieki za pomoc

2

Odp: Problem z wysylaniem formware na drukarke HP LJ 1020

Pokaż ten skrypt który zrobiłeś, pokaż też logi po podłączeniu drukarki.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez prezes_kk 2013-11-20 17:28:39)

Odp: Problem z wysylaniem formware na drukarke HP LJ 1020

Skrypt /etc/hotplug.d/usb/20-hplj1020

#!/bin/sh

FIRMWARE=/usr/lib/sihp1020.dl
DEVICE=/dev/usb/lp0
PROD_ID=3f0/2b17/100

if [ "$ACTION" = "add" ] && [ "$PRODUCT" = "$PROD_ID" ]; then
        for i in $(seq 10); do
                if [ -c $DEVICE ]; then
                        if [ $(usb_printerid $DEVICE | grep -c FWVER) == 0 ]; then
                                cat $FIRMWARE > $DEVICE
                                exit
                        fi
                else
                        sleep 3
                fi
        done
fi

Oczywiscie usb_printerid jest w PATH i po odpaleniu z reki pokazuje dane o drukarce prawidlowo
Logi wrzuce pozniej bo w tej chwili nie mam dostepu do routera
PS. Skrypt dzialal wczesniej na Tomato i wszystko dzialalo prawidlowo

Podaje jeszcze to co zwraca dmesg po podlaczeniu drukarki
---
[256590.090000] usb 1-1.1: new high-speed USB device number 3 using ehci-platform
[256590.230000] usblp0: USB Bidirectional printer dev 3 if 0 alt 0 proto 2 vid 0x03F0 pid 0x2B17
[257534.500000] usb 1-1.1: USB disconnect, device number 3
[257534.510000] usblp0: removed
[257535.760000] usb 1-1.1: new high-speed USB device number 4 using ehci-platform
[257535.900000] usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x03F0 pid 0x2B17
[257925.160000] usb 1-1.1: USB disconnect, device number 4
[257925.160000] usblp0: removed
[263321.650000] usb 1-1.1: new high-speed USB device number 5 using ehci-platform
[263321.780000] usblp0: USB Bidirectional printer dev 5 if 0 alt 0 proto 2 vid 0x03F0 pid 0x2B17
---

I jeszcze to co zwraca usb_printerid
---
GET_DEVICE_ID string:
MFG:Hewlett-Packard;MDL:HP LaserJet 1020;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1020;
---

i po wyslaniu firmware recznie
---
GET_DEVICE_ID string:
MFG:Hewlett-Packard;MDL:HP LaserJet 1020;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1020;FWVER:20051028;

4

Odp: Problem z wysylaniem formware na drukarke HP LJ 1020

Przed cat dodaj sobie

logger "tu jestem"

I będzie wiadomo czy faktycznie to się wykonuje.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5 (edytowany przez prezes_kk 2013-11-20 20:25:56)

Odp: Problem z wysylaniem formware na drukarke HP LJ 1020

Wiec wyglada to tak
Po odpaleniu w logu mam informacje ze plik sie przetworzyl.
Zrobilem skrypt

if [ $ACTION = "add" ]; then
  echo "ACTION = add" >  /dev/kmsg
fi

I dmesg wyswietla mi ACTION = add wiec jest dobrze tyle ze powtarza sie to az 3x
Dodalem do skryptu kolejna linijke

if [ $ACTION = "add" ]; then
  if [ "$PRODUCT" = "3f0/2b17/100" ]; then
    echo "PRODUCT = $PRODUCT" >  /dev/kmsg
  fi
fi

i w logu pojawilo sie PRODUCT = 3f0/2b17/100 z tym ze za 3cim razem jest samo PRODUCT =
Zastanawia mnie czemu wykonuje sie to az 3x i dlaczego jesli dodam linijke
usb_printerid /dev/usb/lp0 |grep FWVER || cat /usr/lib/sihp1020.dl > /dev/usb/lp0
to nic sie nie dzieje firmware nie jest wysylany

PS. dodam ze router to TP-Link TL-WDR4300 v1.5

6

Odp: Problem z wysylaniem formware na drukarke HP LJ 1020

Problem dalej nie rozwiazany.
Nie wiem gdzie szukac przyczyny sad

7

Odp: Problem z wysylaniem formware na drukarke HP LJ 1020

Zrezygnuj z tego usb_printerid (lub podaj pełną ścieżkę do niego)

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Problem z wysylaniem formware na drukarke HP LJ 1020

u mnie działa coś takiego całkie dobrze dla tej samej drukarki
FIRMWARE="/volume1/sterowniki/sihp1020.dl"
if [ "$PRODUCT" = "3f0/2b17/100" ]
then
    if [ "$ACTION" = "add" ]
      then
        if [ "$INTERFACE" = "7/1/2" ]
          then
             sleep 5
             cat $FIRMWARE > /dev/usb/lp0
             echo "`date` : Drukarka zalaczona." >> /volume1/sterowniki/usb.log
        fi
   fi
fi

bez tego [ "$INTERFACE" = "7/1/2" ]  tez 3 razy się inicjowała

Wszystkie posty dotyczą: TOTOLINK A7000R

9

Odp: Problem z wysylaniem formware na drukarke HP LJ 1020

Dzieki dzisiaj poprobuje
Ten usb_printerid sluzylo dozabezpieczenia sie przed ponownym wgrywaniem firmware

10

Odp: Problem z wysylaniem formware na drukarke HP LJ 1020

Tak trochę ot: jeżeli ktoś ma cupsa to ponoć można to przy pomocy jego (/usr/lib/cups/backend/usb) zrobić:

http://bugs.debian.org/cgi-bin/bugrepor … bug=630228

Dodałem mały opis do dokumentu o CUPSie: http://eko.one.pl/?p=openwrt-cups ale nie testowałem, bo nie mam takiej drukarki. Jeżeli ktoś posiada i używa jej z cupsem niech sprawdzi.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.