Tiskárna Canon i-Sensys LBP6000

Ahoj, zdravím všechny. Jsem nováček ve Fedoře, po pěti letech jsem přešel z Ubuntu.
Všechno zatím šlape jak má (nepočítaje Gnome 3 - to by chtělo ještě trochu doladit…), jen ale nemohu rozchodit svou tiskárnu. Jedná se o Canon LBP6000. Dle stránek Canonu byla funkčnost ověřena na 64bit Fedoře 12 a 13. Pochybuju ale, že to i tak šlapalo. Já sám mám momentálně nainstavanou F15 beta 64bit.
Ani v ubuntu nefungovala tiskárna hned, musel jsem ji rozchodit pomocí tohoto manuálu: http://forums.linux-foundation.org/read.php?25,13053 . Ten mi ale nefunguje ve Fedoře, neboť příkaz update-rc.d se vyvolat ve Fedoře nedá. Jiný návod (fungující ve Fedoře) jsem nenašel.
Neví někdo, jak dál? Budu vděčný za každou radu.
Díky, Lukáš

Tuto ani jinou Canon tiskárnu nevedu, ale co jsem tak zběžně nakoukl jde jen o nainstalování dvou rpm balíků s ovladačem (to máš?)…

btw přímo v archívu s ovladači je návod krok po kroku (složka Doc), ono to chce jen trošku hledat, ale klidně Ti to sem zkopíruju :wink:


The printer driver must be installed in order to print from Canon printers using Linux.
The installed files differ depending on the system environment you are using.
he following files are installed in 32-bit systems:
"cndrvcups-common-x.xx-x.i386.rpm" : common module for CUPS drivers
"cndrvcups-capt-x.xx-x.i386.rpm" : CAPT printer driver module
The following files are installed in 64-bit systems:
"cndrvcups-common-x.xx-x.x86_64.rpm" : common module for CUPS drivers
"cndrvcups-capt-x.xx-x.x86_64.rpm" : CAPT printer driver module

1.Start Linux after installation, and log in as 'root'.
$ su


2. Install the common module for CUPS driver.
For rpm packages:
Enter the following command:
# rpm -ivh [file name of common module for CUPS drivers]

3. Install the CAPT printer driver module.
For rpm packages:
Enter the following command:
#rpm -ivh [file name of the CAPT printer driver module]


4. Restart CUPS.
For rpm packages:
Enter the following command:
# /etc/init.d/cups restart

5. Register the printer (PPD) with the print spooler.
Enter the following command:
# /usr/sbin/lpadmin -p [printer name] -m [PPD file name] -v ccp://localhost:59687 –E
Example: To register the LBP5000 in the print spooler as "LBP5000":
/usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp://localhost:59687 –E

6. Register the printer in the ccpd daemon setup file.
USB Connection
Enter the following rpm command:
# /usr/sbin/ccpdadmin -p [Printer Name] -o [Printer Device Path]
Example: To register LBP5000 in the ccpd daemon setup file:
/usr/sbin/ccpdadmin -p LBP5000 -o /dev/usb/lp0

7. Start ccpd daemon.
Enter the following command.
# /etc/init.d/ccpd start

…a pokud jde o příkaz update-rc.d, ve Fedoře máme chkconfig; pro ccpd to bude:
$ chkconfig --level 2345 ccpd on

Díky, ale návod jsem přečetl. Dokonce i více do hloubky, je tam psáno ještě o tom, že pro Fedoru musí být nainstalováno ještě compat-libstdc+±33 - to jsem nainstaloval taky. Fór je v tom, že po nainstalování zmíněných balíčků se tiskárna tváří, že je vše ok, ale prostě netiskne. Ten samý problém byl i na Ubuntu, vyřešil ho zmíněný návod. Proto bych prosil o nějakou konverzi daného návodu. Díky za chkconfig, jen jsem fakt linuxová lama a tak netuším, jak ten příkaz správně naroubovat (tedy v jaké fázi ho použít apod.)
Jdu to všechno odinstalovat a smazat, pak vše vyzkouším od začátku.
Zatím díky a kdybys byl tak hodný a zkusil mi přeložit ten ubuntí návod pro Fedoru, byl bych nesmírně vděčen + pokud bude tiskárna šlapat, dovezu třeba láhev vína :slight_smile:

Tak update. Tiskárna konečně šlape!!!
Díky za pomoc, on stačil ten návod. Nevím, co přesně bylo špatně, ale už to šlape.

Tak teď už mohu v klidu řešit ten zbytek systému :slight_smile:

…tak hodně štěstí a úspěchů s Fedorou :wink:

Problem byl zrejme v tom “chkconfig” a nenastartovani sluzby pro tu tiskarnu (v ubuntu je to ten update-rc.d). Jinak ve Fedore 15 uz lepe nepouzivat chkconfig ale systemctl. Nevim tedy jak presne pro tuto sluzbu ale neco jako “systemctl enable ccpd.service”. Stav sluzby “systemctl status ccpd.service”…

Covex: Můžeš prosím vysvětlit polopatě? Co udělat jinak a jak na to?
Dnes jsem zapnul pc a tiskárna zas nešlape. Jsem z toho na palici, nechápu to.
Nic jsem neměnil, Fedoru neaktualizoval (nebo si to neuvědomuju).

Prosim posli sem vypis prikazu

systemctl status cups.service
systemctl status ccpd.service
chkconfig --list
lpq

nebo aspon neco z ceho se da usuzovat co nefunguje.

Ahoj,
tak jsem zpátky s přesnější analýzou problému.

Přeinstaloval jsem systém (několikrát, proběhly zkoušky mintu, opensuse a dalších, abych se nakonec vrátil zase k Fedoře :)), znovu nainstaloval tiskárnu přesně dle návodu u ovladačů. A tiskárna šlape. Problém nastává po restartu systému. Pokud restartuju systém, pak pro tisk musím udělat několik věcí. Najet do nastavení Tisk, znovu zakázat tiskárnu LBP6000-6018 (tu vždy vytvoří systém sám - pokud ji smažu - po zapnutí tiskárny… Pokud ji jen zakážu, pak po zapnutí tiskárny ji systém opět povolí). Tiskárna dle návodu má označení LBP6000 - to je ta, která jede přes ten localhost. Abych ale z té mohl tisknout, pak musím nejdřív do terminálu jako root a zadat ten poslední příkaz /etc/init.d/ccpd start. A to je trochu otravné.
Co s tím? Díky

Prijdu si trochu jako kolovratek… proste nemas povolenou po startu sluzbu ccpd. V F15 by to mel zvladat systemd asi nasledovne:

systemctl status ccpd.service
systemctl enable ccpd.service
systemctl start ccpd.service

Pokud uz prvni prikaz selze (tedy ne ze napise ze sluzba neni spustena ale ze ji neumi spustit!), neni sluzba ccpd pripravena na systemd, tak si proste do /etc/rc.local pripis nakonec prikaz
/etc/init.d/ccpd start

Vím a jsem ti za to vděčný. Hlavně nade mnou nelámej prosím hůl :slight_smile: Prostě jsem to potřeboval polopatě.

systemctl status ccpd.service momentálně ukazuje, že je Active (running). Tedy předpokládám, že nemá smysl zadávat ty další příkazy? Nebo se mýlím a systemctl tím enable a start nastartuje ccpd.service vždy (pokaždé)?

O /etc/rc.local jsem nevěděl. Selským rozumem by mělo celkově stačit tam prostě ten příkaz ccpd start napsat a bylo by po problému, ne? Nebo mi zase něco uniká?

Díky, Covexi.

P.S.: Estli jsi z Prahy, dej vědět a já tě rád vezmu do hospody :slight_smile:

Normalne natukej do terminalu jako root

chkconfig --level 35 ccpd on

a melo by to fakcit :-)) To ti zpusti sluzbu ccpd automaticky pri startu v runlevelech 3 a 5 a to je to co potrebujes. Sice nevim jak se to ted datli v systemd ale tohle fakci taky :-))

To už jsi radil posledně. A mám to v záloze :slight_smile: Díky.
Spíš by mne teď zajímalo, jaký bude rozdíl mezi chkonfig (Covex psal, že tam může být problém) a zadáním příkazu ccpd start do rc.local? A případně jak funguje to systemctl… rýpu se v tom proto, že bych konečně chtěl porozumět problému.

Mít v záloze je sice fajn, ale dokud to nespustíš (tj. neřekneš systému) ať při bootování neignoruje ccpd a nastartuje ho taky, tak Ti to nebude fungovat a můžem se tu bavit pořád dokola :slight_smile:

Jinak:

man chkconfig
man systemctl
cat /etc/rc.local

to dá za tisíc slov tady na fóru…

Systemctl jsem prostě nepochopil. Nemám znalosti, netuším co jsou symlinky apod. Chkonfig, zdá se, zlobil předtím. Nejvíc se mi líbí právě ten /etc/rc.local. Je nějaký důvod ho nepoužít?
Díky

Tak jsem o tom popřemýšel a zjistil, že pokud to terminálu napíšu /etc/init.d/ccpd start, pak to ccpd spouští přes systemctl. Tedy mi nejlogičtěji přišlo nejšikovnější startovat ccpd právě přes /etc/rc.local. Tak jsem to narychtoval a jsem zvědav, jak to bude šlapat.
Zatím díky všem

Takže /etc/init.d/ccpd start napsané v rc.local nefunguje. Zajímavé je, že potom nešlape ani když tenhle příkaz napíšu pod rootem v terminálu. Přitom když nastartuju pc a zadám to do terminálu ručně, pak tisknu. Nechápu.

Nynější stav (pc nastartován, proběhla ručně v terminálu /etc/init.d/ccpd start) - tiskárna tiskne.

systemctl status ccpd.service:

ccpd.service
	  Loaded: loaded (/etc/rc.d/init.d/ccpd)
	  Active: active (running) since Wed, 22 Jun 2011 16:11:03 +0200; 1h 6min ago
	 Process: 1853 ExecStart=/etc/rc.d/init.d/ccpd start (code=exited, status=0/SUCCESS)
	Main PID: 1858 (ccpd)
	  CGroup: name=systemd:/system/ccpd.service
		  ├ 1858 /usr/sbin/ccpd
		  ├ 1861 /usr/sbin/ccpd
		  └ 1862 captmoncnabc --data-write-fd=3 --data-read-fd=11 -...

systemctl enable ccpd.service:

ccpd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig ccpd on
služba ccpd chkconfig nepodporuje

systemctl start ccpd.service: bez výpisu

Takze jsme u toho “služba ccpd chkconfig nepodporuje” sluzba ccpd neni kompatibilni ani se systemctl ani s chkconfig - tzn. nema ani konfiguracni soubor (unit) pro systemd a jeji soubor /etc/init.d/ccpd neni kompatibilni zapisem s chkconfig. Co s tim?

  1. napsat unitu - pracne, pro novacke nerealne
  2. opravit shell script ccpd - zrejme staci jen hlavicka - pro novacka pracne
  3. pridat do rc.local - musi fungovat - co presne si tam napsal a kam?

Podle me bude problem v tom systemd/ctl a nekompatibilite s nim. systemd se vsemozne snazi kontrolovat i sluzby, ktere s nim nejsou kompatibilni, ale obcas to proste nefunguje. Kdyztak se okopiruj obsah toho /etc/init.d/ccpd - podle me to jen spousti nejakeho demona, jeho spusteni pujde dat do rc.local prinejhorsim primo.

A nemohlo by pomoct

chkconfig --add ccpd
chkconfig --level 35 cppd on

Takhle vypadá /etc/init.d/ccpd:

#!/bin/sh
# startup script for Canon Printer Daemon for CUPS (ccpd)

if [ -f /etc/rc.d/init.d/functions ]; then
	if [ -f /etc/slackware-version ]; then
		SYS_F="SL"
	else
		. /etc/rc.d/init.d/functions 
		SYS_F="RH"
	fi
elif [ -x /sbin/startproc ]; then
	SYS_F="Su"
elif [ -x /sbin/start-stop-daemon ]; then
	SYS_F="De"
fi

DAEMON=/usr/sbin/ccpd
LOCKFILE=/var/lock/subsys/ccpd

export PATH=$PATH:/usr/local/sbin:/usr/local/bin

ccpd_start ()
{
	echo -n "Starting ${DAEMON}: "

	if [ "$SYS_F" = "RH" ]; then	
		daemon ${DAEMON}
		[ "$?" = "0" ] && touch ${LOCKFILE}
		echo "."
	elif [ "$SYS_F" = "Su" ]; then
		startproc ${DAEMON}
		echo "."
	elif [ "$SYS_F" = "De" ]; then
		start-stop-daemon --start --quiet --oknodo --exec ${DAEMON}
		echo "."
	else
		`${DAEMON}`
	fi
}

ccpd_stop ()
{
	echo -n "Shutting down ${DAEMON}: "

	if [ "$SYS_F" = "De" ]; then
		start-stop-daemon --stop --quiet --oknodo --signal 15 --exec ${DAEMON}
		echo "."
	elif [ "$SYS_F" = "SL" ]; then
		kill -KILL `pidof ${DAEMON}`
		[ "$?" = "0" ] && rm -f ${LOCKFILE}
		echo 
	else
		killproc ${DAEMON}
		[ "$?" = "0" ] && rm -f ${LOCKFILE}
		echo	
	fi
}


case $1 in

	start)
		ccpd_start
		;;
		
	stop)
		ccpd_stop
		;;
	
	status)
		echo "${DAEMON}:" `pidof ${DAEMON}`
		;;
	
	restart)
		ccpd_stop
		ccpd_start
		;;
	
	*)
		echo "Usage: ccpd {start|stop|status}"
		exit 1
		;;
esac
exit 0

Po úpravě /etc/rc.local vypadal tento soubor takto:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/etc/init.d/ccpd start
  • a to prostě nefungovalo. Mám tam něco špatně?

Případně, jak tedy opravit ten script v ccpd?
Díky moc