Moja drukarka HP LaserJet 1018 nigdy nie pracowała prawidłowo na Linuxie z serii Ubuntu, począwszy od dystrybucji 7.10 a skończywszy na 9.10. Najlepiej jej szło na dystrybucji 9.04 i było to jakoś tak dziwnie, że pracowała normalnie zaraz po zainstalowaniu aktualizacji anonsowanych przez menedżera, kilkanaście dni później odmawiała posłuszeństwa a po kolejnych aktualizacjach znowu normalnie pracowała jakiś czas. I tak w kółko. Zawsze jednak było tak, że odmawiała posłuszeństwa wtedy, kiedy najbardziej była mi potrzebna. Nie może tak być, bo teraz możliwość drukowania jest dla mnie kluczowa.
Staję zatem przed dylematem ? zmienić system, czy zmienić drukarkę. Tego pierwszego nie chcę robić, bo ogólnie jestem zadowolony z Linuxa i przyzwyczajony. To drugie jest nieekonomiczne i mało pewne. Bardzo zatem proszę o pomoc.
Zanim podam garść konkretów napiszę, że w poszukiwaniu rozwiązania przeorałem to forum wzdłuż i wszerz (jak i kilka innych) a wszelkie możliwe warianty wypróbowałem. Bez zadowalającego rezultatu.
Do rzeczy:
system Ubuntu 9.10 (instalka z płyty)
jądro 2.6.31-14-generic
absolutnie wykluczona awaria sprzętowa (drukarka, porty USB, kable, etc.)
Polecenie lsusb mówi:
Kod: Zaznacz cały
gregor@gregor-desktop:~$ lsusb
Bus 001 Device 032: ID 03f0:4117 Hewlett-Packard Printing Support
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 15ca:00c3 Textech International Ltd. Mini Optical Mouse
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Nie działało, dopóki w terminalu nie dałem komendy printconf. Konsola pomyślała trochę czasu i z automatu w system > administracja > drukowanie pojawia się drukarka o następujących parametrach:
Opis: HP LaserJet 1018
Położenie: USB Printer #1
Adres URI urządzenia: usb://HP/LaserJet%201018
Producent i model: HP LaserJet 1018 Foomatic/foo2zjs(recomended)
Drukarka od ręki wydrukowała stronę testową oraz plik office (.odt). Po restarcie komputera dalej było w porządku. Przekonany, że oto nastąpił koniec długotrwałej walki z tym zagadnieniem wyłączyłem komputer i poszedłem spać.
Rano drukarka nie drukowała. Po komendzie printconf zaczęła działać ponownie. Do momentu, kiedy usiłowałem wydrukować dużo ważący plik, a konkretnie .jpeg. Drukarka wydrukowała go po kilku minutach namysłu, a potem nie wydrukowała już nic. Zakolejkowane zadanie kończyło się komunikatem przetwarzane.
Ponowna komenda printconf dała rezultat (tylko jako root):
Kod: Zaznacz cały
root@gregor-desktop:~# printconf
Configuring HP LaserJet 1018 on usb:/dev/usb/lp0 with foo2zjs driver as queue
"laserjet_1018".
Use of uninitialized value $str in substitution (s///) at /usr/share/perl5/Foomatic/DB.pm line 5191.
Use of uninitialized value $str in substitution (s///) at /usr/share/perl5/Foomatic/DB.pm line 5192.
Use of uninitialized value $str in substitution (s///) at /usr/share/perl5/Foomatic/DB.pm line 5193.
Use of uninitialized value $str in substitution (s///) at /usr/share/perl5/Foomatic/DB.pm line 5194.
Use of uninitialized value $str in substitution (s///) at /usr/share/perl5/Foomatic/DB.pm line 5195.
Use of uninitialized value $ms in string eq at /usr/share/perl5/Foomatic/DB.pm line 3265.
Use of uninitialized value $ms in regexp compilation at /usr/share/perl5/Foomatic/DB.pm line 3265.
* Reloading Common Unix Printing System: cupsd [ OK ]
If printconf was unable to install all of your printers, please visit
http://www.linuxprinting.org/ for printer information and support from fellow
users.
Kod: Zaznacz cały
3265 $drvfield .= "," . $devidkey .
3266 ($ms eq "1" ? "1" : ($dat->{make} =~ m,^($ms)$,i ? "1" : "0"));
5186 # Prepare strings for being part of an HTML document by, converting
5187 # "<" to "<", ">" to ">", "&" to "&", "\"" to """,
5188 # and "'" to "'"
5189 sub htmlify {
5190 my $str = $_[0];
5191 $str =~ s!&!&!g;
5192 $str =~ s/\</\</g;
5193 $str =~ s/\>/\>/g;
5194 $str =~ s/\"/\"/g;
5195 $str =~ s/\'/\'/g;
5196 return $str;
5197 }
Spróbowałem z HPlip ? i tym już zainstalowanym w systemie (3.9.8 ) i tym najnowszym (3.9.12). Po instalacji dałem w terminalu komendę hp-check i otrzymałem szereg komunikatów, między innymi o wymaganych zależnościach. Doinstalowałem wymagane pakiety. Oprócz jednego:
Kod: Zaznacz cały
error: 1 error or warning.
Summary of needed commands to run to satisfy missing dependencies:
sudo aptitude install --assume-yes cupsddk cupsddk-driver
Please refer to the installation instructions at:
http://hplip.sourceforge.net/install/index.html
Oczywiście system widzi drukarkę
Kod: Zaznacz cały
HP_LaserJet_1018
----------------
Type: Printer
Device URI: hp:/usb/HP_LaserJet_1018?serial=KP3BEH5
PPD: /etc/cups/ppd/HP_LaserJet_1018.ppd
PPD Description: HP LaserJet 1018 hpijs, 3.9.8.36
//usr/lib/pymodules/python2.6/gtk-2.0/gtk/__init__.py:127: RuntimeWarning: PyOS_InputHook is not available for interactive use of PyGTK
set_interactive(1)
Printer status: drukarka HP_LaserJet_1018 jest bezczynna. włączona od śro, 24 lut 2010, 09:38:08
Required plug-in status: Installed
Communication status: Good
Poza tym coś tu się nie zgadza, czyli to:
Kod: Zaznacz cały
Current contents of '~/.hplip/hplip.conf' file:
[last_used]
printer_name = HP_LaserJet_1018
working_dir = .
device_uri = serial:/dev/ttyS0?baud=115200
z tym:
Kod: Zaznacz cały
HP_LaserJet_1018
----------------
Type: Printer
Device URI: hp:/usb/HP_LaserJet_1018?serial=KP3BEH5
i z tym:
Kod: Zaznacz cały
USB I/O SETUP |
-----------------
Checking for permissions of USB attached printers...
HP Device 0x4117 at 001:090:
Device URI: hp:/usb/HP_LaserJet_1018?serial=KP3BEH5
Device node: /dev/bus/usb/001/090
Mode: 066
W system > administracja > drukowanie pojawia się drukarka:
Opis: (brak wpisu w tym polu)
Położenie: (brak wpisu w tym polu)
Adres URI urządzenia: hp:/usb/HP_LaserJet_1018?serial=KP3BEH5
Producent i model: HP LaserJet 1018 hpijs, 3.9.8.36
Próba drukowania na tak skonfigurowanej drukarce daje komunikaty, że zadanie wystartowało a następnie, że zostało ukończone. Fizycznie nic się nie drukuje.
Popatrzyłem na pliki PPD. Według terminala baza plików PPD znajduje się tu: /usr/share/ppd/hplip. I rzeczywiście, jest tam plik o nazwie hp-laserjet_1018-hpijs.ppd.
Konsola podaje jednocześnie, że plik PPD znajduje się tutaj: /etc/cups/ppd/HP_LaserJet_1018.ppd.
Te pliki różnią się nazwą. Tak to ma być?
Pomoże mi ktoś to ogarnąć?