はじめに
モノクロの安いプリンターを探していて、EPSONのPX-K150を買おうかどうか迷っていたところ、
CanonのモノクロレーザプリンタLBP6030が目に止まり、意外と安かったので早速購入しました。
LBP6030はUSB接続なので、Raspberry Piをプリンタサーバにすればいいやと思い
Linux用のドライバをダウンロードしようとしたら、まさかのARM非対応でした…
なんとかしてみた
LBP6030はCARPS2のドライバーのようなので、Canonのページを探していたら、
他機種ですがARM 64bitに対応したCARPS2のドライバーが見つかりました。
これをインストールしてみて無事動作したので、備忘録を記載します。
ちなみに、プロセッサーが64bitに対応しているのは、Raspberry Pi3, 4, Zero 2なので、
これ以外の機種ではインストールできません。
OSインストール
ちょうど使っていないRaspberry Pi3があったので、新規にRaspberry Pi OSをインストールします。
今回はGUIは不要なので、RASPBERRY PI OS LITE (64-BIT)を選択してSDカードに書き込みます。
64bitを選んだはずが、なぜか32bitカーネルで起動していたので、
/boot/config.txt に arm_64bit=1 を追加して再起動しました。
再起動後は、64bitカーネル(aarch64)で動作しています。
$ uname -a
Linux raspberrypi 5.15.56-v8+ #1575 SMP PREEMPT Fri Jul 22 20:31:26 BST 2022 aarch64 GNU/Linux
ドライバインストール
$ sudo apt-get install cups
$ sudo apt-get install samba
cupsをインストールしましたが、
ドライバインストール時に必要パッケージとして自動的にインストールされるかもしれません。
今回、LBP6030を共有し、自宅のクライアント(Windows/Mac)から印刷したかったので、
Sambaもインストールしています。
ダウンロードした linux-carps2lbp-drv-v500-jp-17.tar.gz を展開して、install.sh でインストールします。
$ tar xvf linux-lipslx-drv-v550-jp-02.tar.gz
$ cd linux-lipslx-drv-v550-jp
$ sudo ./install.sh
GUIなし環境でインストール実行すると、最後にエラーが出ますが無視で問題ありませんでした。
CUPS設定
CUPSのWeb UIを使用するための最低限の設定変更をします。
$ sudo nano /etc/cups/cupsd.conf
# Only listen for connections from the local machine.
#Listen localhost:631 <<<< コメントアウト
Listen 631 <<<< 追加
Listen /run/cups/cups.sock
-- snip --
<Location />
Allow from all <<<< 追加
Order allow,deny
</Location>
設定変更後はcupsを再起動します。
$ sudo systemctl restart cups
CUPSのWeb UI(http://<raspberrypiのIPアドレス>:631)にアクセスして、プリンタを追加します。
設定途中にユーザ名/パスワードを求められた場合は、
lpadminグループにいるユーザ名/パスワードを入力します。
Pi imagerのデフォルトだとpiかもしれません。ユーザがわからない場合は下記コマンドで調べます。
$ grep lpadmin /etc/group
lpadmin:x:116:pi
「プリンターの追加」からGUIに従って操作していきます。
途中、モデルを選択する必要がありますが、LBP6030は当然表示されません。
CRAPS2なら何を選択しても大丈夫そうですが、モノクロの機種(Canon LBP161/162)を選択してみました。
Samba設定
これも最低限の設定変更をします。
$ sudo nano /etc/samba/smb.conf
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
create mask = 0700
設定変更後は、smbdを再起動します。
$ sudo systemctl restart smbd
クライアント側設定
ここまで設定できればWindows側でプリンタが見えるはずなので、
Windows側はプリンタを追加するときにLBP6030のドライバ選択すればOKです。
Macはbonjour接続でプリンタが見えるので、同様にLBP6030のドライバをインストールすればOKです。(Windowsもbonjourでも見えるはず)
プリンタ追加時に”Windowsがプリンターに接続できません、アクセスが拒否されました“という
エラーが出る場合は、Raspberry PiでIPv6を無効にすると解決できるかもしれません。
IPv6を無効にするには、/etc/sysctl.conf に、”net.ipv6.conf.all.disable_ipv6 = 1″ ,
“net.ipv6.conf.default.disable_ipv6 = 1″を追加してRaspberry Piを再起動してください。
$ sudo sh -c "echo 'net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf"
$ tail -n 2 /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
$ sudo reboot
記事の掲載ありがとうございます。
頂いた情報をもとに環境を構築してみたのですが、印刷ができませんでした。具体的にはキューには入るのですが、印刷がなされずに完了になってしまう状態で、CUPSのWebコンソール経由でもテストページの印刷ができませんでした。またlpコマンドを使用しての印刷もできませんでした。
大変恐縮なのですが、何かヒントをいただけないでしょうか?
【実行環境】
Linux raspberrypi 5.15.84-v8+ #1613 SMP PREEMPT Thu Jan 5 12:03:08 GMT 2023 aarch64 GNU/Linux
Raspberry pi 4 model b