Јутрос сам био веома срећан након открића да је Canon објавио нову верзију CAPT драјвера 1.80 који (наводно?) доноси подршку за мој (нови) штампач Canon i-SENSYS LBP-3010 на ГНУ/Линукс. Ох мојој срећи није било краја, данас су се догодиле две е-среће — јубилеј блога и коначно драјвер за штампач (јупи, нема више Виндоуза у VirtualBox-у када треба нешто штампати)… Тада наивно помислих да ћу га поподне очас посла наместити и урадити нешто симболично за блог. Но, Марфи и гремлини воле округле бројеве (о „округлим бројевима“ у наредном запису).
Корак у непознато
Дошао кући, завршио са ручком, бацио се на инсталацију. Одрадим процедуру према упутству за инсталацију, све прође без грешке. Направио ја и онај ccp spool како је и описано, али… шта год да пустим на штампу (укључујући и тест стану из cups администраторског панела и KDE подешавања штампача), једино што добијем је… ништа бре! Нит’ видљиве грешке, нит’ одштампаног папира (штампач ништа не прима). Туга. Једино што добијам је низ грешака у dmesg излазу:
usblp0: error -32 reading printer status
usblp0: error -32 reading printer status
usblp0: error -32 reading printer status
...
usblp0: error -32 reading printer status
И тако тера све док не убијем посао штампања у cups контролном центру. Обришем из њега овај ручно направљени штампач LBP3010 па га поново додам ручно из терминала, опет пробам — ма јок бре, не ферма ме ни пола посто. Руке почеле да се зноје, живци да затежу, глава да пробија, уста да се суше… гледам, и не могу да верујем. Прогуглам и нађем потенцијално решење проблема — каже човек треба да се склони EHCI модул из кернела. Добро, радим
rmmod ehci-hcd
а он мени на штампање тест стране опет каже
usblp0: error -32 reading printer status
usblp0: error -32 reading printer status
Назад на гуглање… и негде изгуглам да надоградња кернела на најновију верзију или промена дистрибуције решавају проблем. Ехеееј рођаче! Па то ми је требало! Кернел ми је најновији, а прелазак на другу дистрибуцију ми не пада на памет, по цену да и даље терам штампач кроз виртуалну машину. Но, хајде да покушам и видим ради ли то на Федори 10 (зврји јадна у ћошку „тврдника“ и скупља прашину, као и деветка пре ње). Рестарт…
Поново у новом
Покрете се десетка, ја покрећем терминал и куцам:
# rpm -ivh cndrvcups-common-1.80-1.i386.rpm
Preparing... ########################################### [100%]
1:cndrvcups-common ########################################### [100%]
# rpm -ivh cndrvcups-capt-1.80-1.i386.rpm
error: Failed dependencies:
libstdc++.so.5 is needed by cndrvcups-capt-1.80-1.i386
libstdc++.so.5(CXXABI_1.2) is needed by cndrvcups-capt-1.80-1.i386
libstdc++.so.5(GLIBCPP_3.2) is needed by cndrvcups-capt-1.80-1.i386+
libstdc++.so.5(GLIBCPP_3.2.2) is needed by cndrvcups-capt-1.80-1.i386
„Е ‘бем ти све, да ти ‘бем!“ је прво што ми онако са главобољом и великом нервозом паде на памет. Док је дошло из „д“ у главу, сетих се да додам стару верзију libstdc++ ради компатибилности:
# yum install compat-libstdc++-33
# rpm -ivh cndrvcups-capt-1.80-1.i386.rpm
Preparing... ########################################### [100%]
1:cndrvcups-capt ########################################### [100%]
Одлично! Идемо даље. Рестартујем cups сервис и додајем нови штампач са ccp spool-ом.
# service cups restart
# /usr/sbin/lpadmin -p LBP3010 -m CNCUPSLBP3050CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
# /usr/sbin/ccpdadmin -p LBP3010 -o /dev/usb/lp0
CUPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787
Entry Num : Spooler : Backend : FIFO path : Device Path : Status
----------------------------------------------------------------------------
[0] : LBP3010 : ccp : /var/ccpd/fifo0 : /dev/usb/lp0 : New!!
Следећи корак је покретање ccp сервиса и покретање монитора штампача:
# service ccpd start
starting /usr/sbin/ccpd: [ OK ]
$ captstatusui -P LBP3010
Предивно! Прекрасно! Предобро! Пре… каже да ради.
CAPT Status UI монитор, Fedora 10
Пуштам на штампач један текстуални документ од две стране… бзззз… изађе, одштампано! Зној са дланова је испарио, главобоља престала, живци се опет опустили а на лице удари уздах задовољства пропраћен осмехом… Углавном, да скратим. Резон: битно је да ради на Линуксу, а већ ћу га натерати да проради и на осмици. Рестарт…
Опет на свом терену
Уклањам штампач LBP3010, cndrvcups-capt и cndrvcups-common:
# /usr/sbin/ccpdadmin -x LBP3010
# /usr/sbin/lpadmin -x LBP3010
# rpm -e cndrvcups-capt
# rpm -e cndrvcups-common
За сваки случај уклоним и овај /var/ccpd директоријум, мада добих обавештење да исти више не постоји
# rm -r /var/ccpd
А онда, комплетан процес инсталације у једном цугу:
# rpm -ivh cndrvcups-common-1.80-1.i386.rpm
# rpm -ivh cndrvcups-capt-1.80-1.i386.rpm
# service cups restart
# /usr/sbin/lpadmin -p LBP3010 -m CNCUPSLBP3050CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
# /usr/sbin/ccpdadmin -p LBP3010 -o /dev/usb/lp0
# service ccpd start
Док сам куцао ову ccpdadmin „кобасицу“ у горњем кôду, приметих једну ситницу. Између usb и lp0 има коса црта! Добро анђелче ми седе на раме, потапша ме по њему и рече: има наде, има наде! И стварно, би нада:
CAPT Status UI монитор, Fedora 8
Отварам први PDF документ који ми је био при руци, пуштам једну стран уна штампу, и… ето ње напоље! Жив је! Кењон је жив!
Без Марфија и гремлина се боље мисли
Искрено, не знам да ли су криви Марфи или гремлини, или и он и они, углавном, из неког раслога сам први пут уместо /dev/usb/lp0 упорно куцао /dev/usblp0, због чега је цела ствар подбацила. Да сам ово радио после поноћи, разумео бих — умор, ноћ, духови и друге санђаме, али у сред бела дана да константно куцам исту грешку? Дешава се свима, па и нама уметницима (за грешке)
И такô, мој кењон се лепо дружи с пингвином, и то баш од данас… а данас је тај дан…