Pobrałem sterownik Linux CAPT V2.60 z Canona i zainstalowałem oba pakiety .deb, które były wymienione w folderze 64-bitowym z Ubuntu Software-Center. Moja drukarka Canon nadal nie zostanie rozpoznana. Czy jest coś jeszcze do zrobienia? Moja drukarka jest podłączona przez USB.
Ubuntu byłby świetnym zamiennikiem dla mojego biura, ale niestety bez obsługi drukarki nadal będę polegać na systemie Windows.
Odpowiedzi:
Sterownik drukarki Canon CAPT jest zamkniętym źródłem, a biblioteki binarne dostarczone przez firmę Canon są kompilowane dla i386. Więc jeśli korzystasz z amd64, musisz najpierw włączyć multiarch i zainstalować kilka bibliotek:
Zainstaluj kubki, jeśli jeszcze go nie masz:
Pobierz i rozpakuj sterownik drukarki Canon CAPT:
Zainstaluj sterownik 32-bitowy lub 64-bitowy w zależności od architektury:
32-bitowy
64-bitowy
Teraz poszukaj
/usr/share/cups/model
plików ppd, które opisują drukarki i wybierz ten, który pasuje (lub jest najbliższy) do Twojej drukarki:W tym przypadku wybraliśmy
CNCUPSLBP6018CAPTS.ppd
model LBP6000.Dodaj drukarkę:
I skonfiguruj system, aby automatycznie uruchamiał demona Canon ccpd:
Problemy
Istnieje kilka problemów ze sterownikiem drukarki Canon:
Został zbudowany dla Debiana, a ostatnia obsługiwana wersja Ubuntu to 12.04. Jednak działa w 14.04.
Zawiera zamknięte biblioteki binarne, które są zbudowane dla 32-bitowej wersji i386, więc nie można jej uruchamiać natywnie na amd64 (nawet w pakiecie 64-bitowym)
captstatusui zawiera nieograniczone wywołanie
strcpy
w pliku cnsktmodule.c, które nie działa z błędemaborted *** buffer overflow detected ***
w niektórych systemachSterownik drukarki Canon jest w rzeczywistości osobnym demonem, który komunikuje się z kubkami przez gniazdo lokalne lub sieciowe - pozostawia otwarty port sieciowy w twoim systemie i wątpię, aby kod Canon był kiedykolwiek sprawdzany pod kątem luk w zabezpieczeniach
Drukarka może pojawić się dwa razy w filiżankach (raz dla automatycznie wykrywanej drukarki USB, raz jako demon Canon CCPD), ale drukarka „USB” nie będzie działać, jeśli spróbujesz na niej wydrukować. W ustawieniach drukarki, jeśli widzisz drukarkę skonfigurowaną jako drukarka USB, musisz ją ręcznie wyłączyć (kliknij prawym przyciskiem myszy, wyłącz)
Firma Canon używa własnego oprogramowania i protokołu do komunikacji z drukarką, dlatego nie jest zintegrowana z kubkami, nie jest automatycznie wykrywana i wymaga ręcznej instalacji sterownika. Można oczekiwać, że drukarka powinna zostać automatycznie wykryta i działać, ale nie jest to możliwe w przypadku Canon LBP. Moja następna drukarka to drukarka, która „po prostu działa” ze sterownikami typu open source, prawdopodobnie drukarka sieciowa obsługująca standard PCL - Printer Command Language , np. Brother HL-2250DN (tania dupleksowa drukarka sieciowa, wcześniej najlepiej sprzedająca się drukarka laserowa Amazon) lub zalecana drukarka HP Linux, która współpracuje z oprogramowaniem HPLIP typu open source .
Skrypty kompilacji kodu źródłowego są stare i trochę bałaganu. Ze względu na włączenie bibliotek binarnych i386 o zamkniętym źródle oraz brak obsługi wielu skryptów w skryptach kompilacji bardzo trudno byłoby skompilować w pełni działającą wersję 64-bitową. Kompilacja wersji 32-bitowej w systemie 32-bitowym jest możliwa po obejściu różnych błędów w systemie kompilacji.
Problem: ccpd zawiesza się
Czasami ccpd zawiesza się, a kolejka mówi po prostu „Przetwarzanie od ...”
Spróbuj ręcznie uruchomić ponownie:
Problem: ccpd nie działa - tylko jeden proces ccpd działa po uruchomieniu systemu
Do normalnej pracy w systemie powinny działać dwa procesy ccpd. Demon ccpd zależy od uruchomienia demona cup przed rozwarciem drugiego procesu. Aby obejść problem, możesz użyć następującej metody:
Włącz skrypt inicjujący puchary (ustawienia domyślne pucharów update-rc.d).
Poinstruuj skrypt inicjujący ccpd, aby uruchomił się po init init (update-rc.d ccpd domyślnie 99), lub dodaj „sleep 10 && /etc/init.d/ccpd start” w skrypcie /etc/rc.local.
Jeśli chcesz korzystać z reguł UDEV i skryptu uruchamiania, pamiętaj, że reguły UDEV działają przed skryptem inicjującym CUPS, więc może być przydatne zrestartowanie skryptu inicjującego ccpd, a nie po prostu uruchomienie. Na przykład możesz umieścić następujący ciąg w „/etc/rc.local”:
sleep 10 && /etc/init.d/ccpd restart
(Rozwiązanie z wiki Ubuntu )
Zgłaszanie błędów i problemów do pomocy technicznej Canon
Firma Canon ma oficjalny adres e-mail do zgłaszania wszelkich błędów i problemów ze sterownikiem:
Kompiluj ze źródła
Jeśli masz ochotę zbudować i zainstalować ze źródła, postępuj zgodnie z tymi instrukcjami ( skrypt kompilacji Arch może również pomóc):
Zamieszczam to jako notatkę dla każdego, kto jest skłonny podążać tą ścieżką. Większość ludzi nie powinna próbować budować tego ze źródła. Nawet w systemie amd64 powstały pakiet będzie zawierał zamknięte biblioteki i386.
źródło
hp-setup
), które wykona pobieranie i skonfiguruje je.libstdc++6:i386 libxml2:i386 zlib1g:i386
to wymagane? Instrukcje wspomniałyia32-libs
, które od tego czasu były nieobecne w późniejszych wersjach Ubuntu, więc zastanawiałem się, co to była zamiana.file canon/libcapt.so
, rozpozna biblioteki Canon jako „ELF 32-bit”, więc wiemy, że potrzebuje 32-bitowych bibliotek dynamicznych. Uruchom ldd takldd canon/libcapt.so
- linker wydrukuje wszystkie wymagane biblioteki dynamiczne i pokaże te, które nie zostały znalezione. Następnie możesz użyć,apt-file search libpthread.so
aby znaleźć pakiet, w którym znajdują się biblioteki.