2026-01-31


Canon IP4300はインク商売主義の現在では絶対不可能な超高速印刷が可能な良き時代の最強プリンターの生き残り。現在でも格安の非純正インクが買え、まだまだ現役で使用したい。
Raspberry PI 2 も32ビット ARM CPUではありながら余計な機能がなく壊れにくく、こちらもまだまだ現役。今回こっから印刷させる。
IP4300のLinux向け公式ドライバーはi386専用で、ARMアーキテクチャではどうやっても動かせない。なのでOS標準のGutenPrintドライバを使うことになる。GutenPrintはそのサポートプリンタリストにIP4300が存在するので印刷できるはず。
Raspberry PI OS bookworm 32bitのSDカードを作成する
いきなり最初にして最後のハマりポイントだが、最新の32ビットTrixieにはGutenPrintが入っていないため、Boowormを使うことになる。
https://www.raspberrypi.com/software/operating-systems/
のページ下の方にある、Raspberry Pi OS (Legacy) Lite Bookworm 32bitをダウンロードする。
7-Zipなどでxzファイルをimgに解凍して、SDカードにWin32DiskImagerなどでWrite、焼く。
焼き終わったらbootディレクトリがマウントされるので、ここにファイル名がsshというカラのファイルを設置しておく。デフォルトでsshサーバを起動させるため。
起動、初期設定
電源プラグを差しこんで起動、昔と違うハマりポイントだが、HDMIケーブルとキーボードをつないで画面に映さないと、ユーザー名を決めるウインドウでずっと止まってしまう。昔は一度もコンソール無しでsshできたが、どうやら今は必ず決める必要があるようだ。とりあえず自分は外に出す予定は無いのでpiユーザのままとした。(Raspberry Pi Imagerを使うとこの作業を焼き込み時にできるらしい)
設定したらあとはそのユーザでssh接続可能。PI 2は有線LANしかないが有線が使えるのならシンプルでわかりやすい。
最低限のアップデート
sudo -s apt update apt -y upgrade apt -y dist-upgrade sync reboot
CUPSサーバとGutenPrintの導入
アーキテクチャを確認しcupsをインストールし、lpadminグループに自身を登録。
uname -m armv7l apt install -y cups usermod -aG lpadmin pi
続けて/etc/cups/cupsd.confを編集する。サンプルは以下のような感じ。
https://github.com/servernote/RaspberryPi/blob/master/cupsd.conf
Port 631にして、LAN内のどこからでも管理システムにアクセスできるようにする。
Location, /admin, /admin/conf, /admin/log に Allow all を追加。
自動起動設定、起動。
systemctl enable --now cups systemctl start cups
gutenprintインストール、プリンタの確認
apt install -y printer-driver-gutenprint lpinfo -m lpinfo -m | grep -i ip4300 gutenprint.5.3://bjc-iP4300-series/expert Canon iP4300 series - CUPS+Gutenprint v5.3.4 gutenprint.5.3://bjc-PIXMA-iP4300/expert Canon PIXMA iP4300 - CUPS+Gutenprint v5.3.4 gutenprint.5.3://bjc-PIXUS-iP4300/expert Canon PIXUS iP4300 - CUPS+Gutenprint v5.3.4
IP4300をUSBポートにつなぎ、電源を入れる。
lsusb Bus 001 Device 006: ID 04a9:10b6 Canon, Inc. PIXMA iP4300 Printer lpinfo -v direct usb://Canon/iP4300?serial=B58C8B
こうなればしめたもの。もうプリンターが使える状態だ。
CUPSサーバ管理画面でプリンターを追加・デフォルト設定
ブラウザーからこのPIのIPアドレスを打ち込んで、管理画面を開く。これまでの設定がうまくいってれば開くはず。証明書の警告は無視する。
https://192.xxx.xxx.xxx:631/
管理→プリンターの追加→ローカルプリンター→Canon iP4300 (Canon iP4300)まで選択して追加。完了したらプリンター→Canon_iP4300を開いて、メンテナンス→サーバーのデフォルト設定を選択すれば、デフォルトプリンタとして登録され、lpコマンドで印刷先を指定する必要がなくなる。
lpコマンドで印刷する
あとは自由だが自分は以下のような感じでモノクロ高速印刷で使用している。
lp -o PageSize=A4 -o scaling=100 -o ColorModel=Black -o Resolution=300dpi -o StpQuality=None -o StpImageType=Text -o StpDitherAlgorithm=VeryFast -o StpBlackDensity=1300 -o StpDensity=1100 -o StpInkLimit=1200 myfaxdata.pdf
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
【VMware】Apple silicon M2 MacでWindows11を無償で動かす
A4用紙タテ2ページ分をA3用紙ヨコ1ページに印刷するには
【Android】apkのインストールができたのにアプリ一覧に出ない場合
【Node.js】chrono-nodeを使用して自然言語を日付に変換する
CUDA13環境下でGPU使用版のllama.cppを導入しC++ライブラリを使う
CUDA13環境下でGPU使用版のllama-cpp-pythonを導入する
CUDA13環境下でGPU使用版のPyTorchを導入する
LetsEncrypt/certbotの証明書自動更新がエラーになる場合
Wav2Lipのオープンソース版を改造して外部から呼べるAPI化する
進研ゼミチャレンジタッチをAndroid端末化する
CUDA13環境下でGPU使用版のPyTorchを導入する
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Apache】サーバーに同時接続可能なクライアント数を調整する
【Debian】apt updateでCD-ROMがどうのこうの言われエラーになる場合
VirtualBoxの仮想マシンをWindows起動時に自動起動し終了時に自動サスペンドする
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
CUDA13環境下でGPU使用版のllama.cppを導入しC++ライブラリを使う
【PHP】Mail/mimeDecodeを使ってメールの中身を解析(準備編)