Scientific Linux 上の Canon iP3600

Scientific Linux 上の Canon iP3600

新しいプリンターを購入しました (以前 Google で検索したところ、私の OS で動作しているようでした)。

プリンターを Windows 7 マシンに接続し、数百 MB のソフトウェアをインストールすると、プリンターは動作しました。

次に、これを Scientific Linux 6.1 (64 ビット) ノートブックに接続しました。プリンタ構成ウィンドウが開き、プリンタを追加できました。すばらしい!

しかし、このノートブックから印刷する場合、ジョブのステータスは「完了」なので、正常に印刷されているように見えますが、実際のところ、プリンターは何も行いません。

何をすればいいのか分かりません。Canon の Web サイトでは Linux 用の rpm を提供していますが、それは i386 用です。

私に何ができる?

いくつかの情報:

プリンターを接続すると:

Apr 11 21:16:48 a kernel: usb 2-6: new high speed USB device using ehci_hcd and address 45
Apr 11 21:16:48 a kernel: usb 2-6: New USB device found, idVendor=04a9, idProduct=10ca
Apr 11 21:16:48 a kernel: usb 2-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 11 21:16:48 a kernel: usb 2-6: Product: iP3600 series
Apr 11 21:16:48 a kernel: usb 2-6: Manufacturer: Canon
Apr 11 21:16:48 a kernel: usb 2-6: SerialNumber: 1754F5
Apr 11 21:16:48 a kernel: usb 2-6: configuration #1 chosen from 1 choice
Apr 11 21:16:48 a kernel: usblp0: USB Bidirectional printer dev 45 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10CA
Apr 11 21:16:48 a udev-configure-printer: invalid or missing IEEE 1284 Device ID
Apr 11 21:16:49 a kernel: type=1400 audit(1334171809.432:164): avc:  denied  { module_request } for  pid=22860 comm="udev-configure-" kmod="net-pf-10" scontext=system_u:system_r:cupsd_config_t:s0-s0:c0.c1023 tcontext=system_u:system_r:kernel_t:s0 tclass=system
Apr 11 21:16:49 a kernel: type=1400 audit(1334171809.434:165): avc:  denied  { module_request } for  pid=22860 comm="udev-configure-" kmod="net-pf-10" scontext=system_u:system_r:cupsd_config_t:s0-s0:c0.c1023 tcontext=system_u:system_r:kernel_t:s0 tclass=system
Apr 11 21:16:49 a kernel: type=1400 audit(1334171809.434:166): avc:  denied  { module_request } for  pid=22860 comm="udev-configure-" kmod="net-pf-10" scontext=system_u:system_r:cupsd_config_t:s0-s0:c0.c1023 tcontext=system_u:system_r:kernel_t:s0 tclass=system
Apr 11 21:16:49 a kernel: type=1400 audit(1334171809.472:167): avc:  denied  { module_request } for  pid=22860 comm="udev-configure-" kmod="net-pf-10" scontext=system_u:system_r:cupsd_config_t:s0-s0:c0.c1023 tcontext=system_u:system_r:kernel_t:s0 tclass=system
Apr 11 21:16:49 a kernel: type=1400 audit(1334171809.473:168): avc:  denied  { module_request } for  pid=22860 comm="udev-configure-" kmod="net-pf-10" scontext=system_u:system_r:cupsd_config_t:s0-s0:c0.c1023 tcontext=system_u:system_r:kernel_t:s0 tclass=system
Apr 11 21:16:49 a kernel: type=1400 audit(1334171809.473:169): avc:  denied  { module_request } for  pid=22860 comm="udev-configure-" kmod="net-pf-10" scontext=system_u:system_r:cupsd_config_t:s0-s0:c0.c1023 tcontext=system_u:system_r:kernel_t:s0 tclass=system
Apr 11 21:16:49 a kernel: type=1400 audit(1334171809.473:170): avc:  denied  { module_request } for  pid=22860 comm="udev-configure-" kmod="net-pf-10" scontext=system_u:system_r:cupsd_config_t:s0-s0:c0.c1023 tcontext=system_u:system_r:kernel_t:s0 tclass=system
Apr 11 21:16:49 a udev-configure-printer: Re-enabled printer ipp://localhost:631/printers/Canon-iP3600-series

答え1

SELinux は、デバイスを作成しようとしているときに、カーネル モジュールをロードする udev のアクションを拒否します。

簡単で迅速だが永続的ではない修正方法は、SELinuxをPermissiveモードにすることです。rootとして、またはsudoを使用して、コマンドは

setenforce Permissive

次に、プリンターを接続して印刷ジョブを送信します。

それがうまくいった場合は、

  • SELinux を永続的にオフにする ( SELINUX=disabled/etc/selinux/config で設定)
  • SELinux を永続的に Permissive モードのままにする ( SELINUX=permissive/etc/selinux/config で設定)
  • 正しいコンテキストを定義して SELinux を修正します (より難しいので、ここから始めてください:RHEL 6 SELinux ユーザーガイド

答え2

これは以下の場合に機能します:

lsb_release -a
LSB Version:    :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: Scientific
Description:    Scientific Linux release 6.1 (Carbon)
Release:    6.1
Codename:   Carbon

プリンター: Canon PIXMA iP3600

lsusb: Bus 002 Device 006: ID 04a9:10ca Canon, Inc.


インストール方法

1)

# download RPM (select Linux/English)
http://www.canon-europe.com/Support/Consumer_Products/products/printers/InkJet/PIXMA_iP_series/iP3600.aspx?type=download&page=1

2)

# with normal user
mkdir ip3600 && mv iP3600_RPM_printer.tar ip3600/ && cd ip3600 && tar -xf iP3600_RPM_printer.tar

3)

# with root in same directory
yum install -y cups-devel.i686 popt-devel.i686 && rpm -i cnijfilter-common-*.i386.rpm
yum install -y gtk2.i686 atk-devel.i686 && rpm -i cnijfilter-ip3600series-*.i386.rpm
cd .. && rm -fr ip3600

4)

# add the printer
env LC_MESSAGES=EN system-config-printer

関連情報