Problemy z hplip

Mam drukarkę HP1018, która dobrze pracuje pod linuksem. Niestety w Manjaro (archlinuksie i jego pochodnych) mam problem; drukarka przestaje pracować gdy ją lub komputer zrestartuję. Hplip nie potrafi utworzyć odpowiedniego “adresu URI” i po prostu nie widzi drukarki. Mam tymczasowe rozwiązanie polegające na:

  1. Usunięciu drukarki z systemu.
  2. Odinstalowaniu hplip-plugin.
  3. Zrestartowaniu drukarki.
  4. Zainstalowaniu hplip-plugin.
  5. Zainstalowaniu drukarki.
  6. Skonfigurowaniu drukarki.

To działa ale jest bardzo denerwujące. Może ktoś spotkał się z podobnym problemem i wie jak sobie z nim poradzić.
System oczywiście rozpoznaje podłączoną drukarkę (widać to dzięki lsusb i dmesg). Sprawdziłem wszystkie sugestie z wiki archlinuksa.

Nie miałem takiego problemu, ale może warto połączyć za pomocą innego protokołu lub adresu? Np. u mnie system za cholerę nie chce się połączyć jak używam prawidłowej nazwy drukarki, ale nie ma problemu z inną nazwą, którą znalazłem na jakimś forum pomocy. Poza tym odkryłem, że drukarka może działać dobrze podłączona dwoma różnymi sposobami, więc jest jakieś pole do eksperymentów.

W ostateczności zawsze można podłączyć po kablu. Ale przy sieciowej łatwiej znaleźć drukarkę w GUI jak ma się zainstalowany pakiet python-pysmbc, który umożliwia wyszukiwanie i prezentacje wyników w GUI dodawania drukarki (bez tego trzeba ręcznie wprowadzać). Przynajmniej tak było jakiś czas temu, możliwe, że coś się zmieniło w tym zakresie.

No i sprawdź journalctl czy tam się pojawia jakiś błąd związany z drukarką:

journalctl -b -p3 (dla bieżącego uruchomienia)

Nie wiem czy zaglądałeś CUPS - ArchWiki
https://forum.manjaro.org/t/to-install-hp-printer/4092
https://wiki.manjaro.org/index.php/Printer_Configuration

Czy masz również zainstalowany cups ?

Dziękuję za wszystkie sugestie, to jest stara drukarka i działa tylko po kablu usb.
jurnalctl - pokazuje błędy z niemożliwością otwarcia adresu, na którym drukarka pracuje

io/hpmud/musb.c 153: unable get_string_descriptor -7: Resource temporarily unavailable
io/hpmud/musb.c 605: invalid product id string ret=-7
io/hpmud/musb.c 1151: unable to open hp:/usb/HP_LaserJet_1018?serial=KP3AZTW
prnt/backend/hp.c 824: ERROR: open device failed stat=12: hp:/usb/HP_LaserJet_1018?serial=KP3AZTW
io/hpmud/musb.c 153: unable get_string_descriptor -7: Resource temporarily unavailable
io/hpmud/musb.c 605: invalid product id string ret=-7
io/hpmud/musb.c 1151: unable to open hp:/usb/HP_LaserJet_1018?serial=KP3AZTW
prnt/backend/hp.c 824: ERROR: open device failed stat=12: hp:/usb/HP_LaserJet_1018?serial=KP3AZTW
...
io/hpmud/musb.c 2099: Invalid usb_open: Permission denied

Ta drukarka drukuje, ale za każdym razem, po restarcie muszę przejść wyżej opisaną procedurę.
Jak pisałem wiki archlinuksa przestudiowałem, także wiki i forum manjaro, oraz kilku innych dystrybucji.
Użytkownik jest w grupach lp i sys. cups oczywiście jest zainstalowane.

Logi sugerują błędne uprawnienia… sprawdź poleceniem:

ls -l /dev/bus/usb/0*

Na jakim jądrze działasz? Może spróbuj zainstalować jakieś starsze, któreś z wydań LTS.

ls -l /dev/bus/usb/001
crw-rw-r--+ 1 root lp   189, 5 01-05 00:41 006

uname -a
Linux manjaro 4.19.13-1-MANJARO #1 SMP PREEMPT Sat Dec 29 15:43:56 UTC 2018 x86_64 GNU/Linux

Z tym problemem w manjaro borykam się od długiego czasu (na innych dystrybucjach od czasu do czasu), jedynie w debianie działa prawidłowo.
Zainstaluję ostatniego LTS’a i sprawdzę.

Na linux 4.14.91 jest tak samo.

Zapytam profilaktycznie, po instalacji cups i hplip-plugin doinstaluj hp-toolbox. Skonfiguruj wszystko.
W momencie gdy wszystko działa polecenie:

sudo systemctl enable org.cups.cupsd.service
sudo systemctl start org.cups.cupsd.service

Widać tu, że korzystasz z ACL (Access Control List), więc przyda się jeszcze wyjście z:

getfacl /dev/bus/usb/001

A może by zajrzeć w sam pakiet hplip-plugin, a dokładnie jakie polecenia wykonywane są podczas instalacji. Można by na tej podstawie stwierdzić z czym jest problem. Prawdopodobnie problem także może leżeć po stronie kabla usb, jeśli jest to typ USB B, może wina leży po jego stronie, taki kabel, rodzaj złącza używa się gdy urządzenie nie potrzebuje zasilania hosta, a korzysta z własnego. USB w takim wypadku służy jedynie do wymiany danych. Patrząc na logi, właśnie na to by wskazywał brak dostępu do urządzenia.

Oczywiście mogę się mylić.

getfacl /dev/bus/usb/001

Niestety nie pomogło na mój problem.

hp-toolbox jest zainstalowany. Service org.cups.cupsd.service działa.

Drukarka, na tym co mam przewodzie działa, ale tylko do czasu restartu jej lub komputera. Aby ją uruchomić muszę przejść procedurę opisaną w pierwszym poście.

getfacl /dev/bus/usb/001

Ale to nie ma pomóc na twój problem tylko wyświetlić jakie są dokładnie uprawnienia do tego pliku :slight_smile:

getfacl /dev/bus/usb/001

# file: dev/bus/usb/001
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

getfacl /dev/bus/usb/001/011
# file: dev/bus/usb/001/011
# owner: root
# group: lp
user::rw-
user:zbig:rw-
group::rw-
mask::rw-
other::r--

Nie do końca ogarniam… ale wygląda na to, że coś zmienia uprawnienia - może jakaś reguła udev(?).

Próbowałbym na twoim miejscu ogarnąć temat w ten sposób, aby porównać uprawnienia do tych plików w momencie kiedy drukarka działa i kiedy już nie działa. Wtedy dalej szukać… np. co i dlaczego zmienia uprawnienia…

To co podałem to uprawnienia do katalogu /dev/bus/usb/001 i do pliku odwołującego się do drukarki /dev/bus/usb/001/011.
Jak drukarka działa i nie działa uprawnienia się nie zmieniają.

To jednak coś z hplip-plugin. Jak jest odinstalowany to hplip potrafi utworzyć odpowiedni adres URL, ale bez pluginu nie wydrukuje dlatego należy go doinstalować. Jak hplip-plugin jest zainstalowany, to po restarcie hplip nie potrafi utworzyć dobrego adresu URL i krzyczy, że nie znalazł urządzenia.

Mierzyłem się z tym problemem od początku użytkowania czy to Archa czy Manjaro. Hplip jest niemożliwie kapryśny. Jakiś czas temu magicznymi zabiegami z usuwaniem drukarki, reinstalacją pluginu itp. udało mi się doprowadzić do takiego stanu, że 1018 działała, tyko trzeba ją było włączyć, wyłączyć i włączyć powtórnie. Dwa tygodnie temu zainstalowałem na świeżo Manjaro po przesiadce na SSD i hplip działał tylko do rebootu systemu czyli standardowo :confused: . Potem znów cała kołomyja elementarna której miałem już dosyć.
Usunąłem drukarkę za pomocą hplip-setup -r, odinstalowałem hplip’a, wywaliłem wszystkie pozostałości po tym parszywym sofcie po czym zainstalowałem foo2zjs-nightly z AUR’a. Skonfigurowałem drukarkę z poziomu Ustawień w menu XFCE i śmiga jak dzika.

Odświeżam stary temat. Otóż po ostatnim upgrade systemu mój HP 1018 przestał działać. Cały bity dzień siedziałem i kombinowałem - nic. Ani hplip, ani CUPS przez WWW ani nic innego nie zadziałało. Na świeżej instalce, o której pisałem niedawno też klapa. Jako, że była nowiutka, zainstalowałem po raz wtóry. Hplip znów działa, nawet po update. Oczywiście do restartu systemu. Po restarcie muszę robić manewr: włączyć drukarkę, uruchomić hplip - "communication error". Wyjść z hplip, wyłączyć drukarkę, uruchomić hplip - działa. Magia. Mam instalki na dwóch dyskach, na obu jest dual boot z Win, więc w razie czego mogę sobie druknąć spod windy. W każdym razie HP 1018 + Manjaro = problem. Zresztą pod Win 10 też słodko nie jest, na oficjalnej stronie HP piszą, że winda sama sobie zainstaluje, czego nie robi. Trzeba ściągnąć stery pod Win Vista/7.
Konkluzja - nadal sprzęt trzeba kupować myśląc o Linuksie.

Producenci sprzętu widzą interes (być może krótkofalowy, ale z punktu widzenia bilansu rocznego wystarczający) w tym, aby tworzyć software’owe rozwiązania zamknięte i specjalizowane do konkretnych modeli. Nie widzą interesu w długofalowym wsparciu swoich produktów (bo trzeba kupować nowe), czy we wsparciu na takim samym poziomie dla systemów, które mają 90-kilku-procentowy udział w rynku, jak i kilku-procentowy.

Trudno nie przyznać Ci racji, ale jednak jest to irytujące. Hplip jest wspierany przez HP, ma oficjalne logo zatem do jasnej ciasnej działać to powinno. No i działa (a potem nie działa), problemu zaczynam upatrywać jednak w samym Manjaro. Zresztą podczas instalacji hplip'a z CLI pojawia się komunikat, że distro nie jest oficjalnie wspierane, sterowniki i program nie będzie się sam aktualizował - to leży w gestii maintainerów dystrybucji. Czyli w zasadzie wszystko zgodnie z zasadami, tylko te zasady są dla mnie do zadu. Obawiam się jednakowoż, iż moja opinia jest dla HP raczej mało znacząca. Być może pod “wiodącymi” dystrybucjami nie ma kłopotów. Pewnie moją następną drukarką będzie plujka Epsona z serii Eco Tank, jak ta ostatecznie wyzionie ducha, co prędzej czy później nastąpi.

Drukarka nie jest chyba pierwszej świeżości, więc trzeba wziąć pod uwagę, że nowe wersje biblioteki już jej nie wspierają. Choć jest na liście (HP1018):
https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/index
zarówno laserowa, jak i atramentowa.

Zajrzyj jeszcze na:
https://wiki.archlinux.org/index.php/CUPS/Printer-specific_problems#HP
oraz:
https://developers.hp.com/hp-linux-imaging-and-printing/install/manual/hp_setup

Inne dystrybucje również mają czasem problemy z poszczególnymi modelami. Pod Windows’ami także nie zawsze jest różowo.