Brotherの古いプリンタをAir Printに対応させる

この記事は約7分で読めます。
※当サイトではリンク先にプロモーションを含みます、詳細はプライバシーポリシーをご参照ください。

プロローグ

【2021年11月追記】
この記事を書いてしばらくしてからBrotherのドライバページからドライバをダウンロードしてインストールしてみたら、普通にインストールできて利用できるようになりました。。。トホホ

これまたMacbookネタになってしまうのだが、最近Windows機はよっぽどの事がない限り起動しなくなった。
最近悩んでいる事、それはMacから自宅の複合機に印刷ができない事。
家にあるのはBrotherのDCP-J715N、今調べてみると2010年発売だから10年前。。。
最近のプリンタは標準でAirprintが使えると思いますが、10年前のプリンタは化石です。
そりゃ新しいドライバリリースも見送られるわ。。。幸いブラザーのアプリからの印刷は出来るため、なんとか使えている印象。でもMacからはどう頑張っても印刷できない。
という事でどうにかMacで印刷できるように出来ないか試行錯誤した備忘録となります。

CUPSで実現する

Mac側でドライバ対応していないので、さあどうするかと色々悩んだ。
色々調べてみると、LinuxでCUPSをインストールするとプリントサーバになってMacやiPhoneからAirPrintで印刷できるよう。
Brotherのドライバページをみると、ちゃんとLinux版も出ているのでこれは行けそうとよく調べずにインストールを始めた。

FreeNASのJailで利用する

手っ取り早くLinuxの環境が準備できるとすると、FreeNASのJailがいいかなとFreeNASのJailで専用環境を準備した。
WEBで適用に「CUPS インストール 設定」などで調べて設定をすすめ、なんとかWEB管理画面まで辿り着いた。
特に何もせずともプリンタは検索に表示されていたので、早速BrotherからCUPSドライバをDLしインストールしてみる。

https://support.brother.co.jp/j/b/downloadlist.aspx?c=jp&lang=ja&prod=dcpj715n&os=128

debパッケージなので、ふつうにインストールするもアーキテクチャ違いと怒られる。
色々したけどうまくいかず一旦断念。

ラズパイで利用する

丁度VPNサーバとして利用しているRapberry Pi Zero Wが稼働していたのでここにCUPSを入れてみる。
ちなみに同時期にNode-REDをインストールして簡易的な地震速報をAlexaに喋らせて遊んでいたら、SDカードがお逝きになりおじゃん。
変数の使い方をよく理解していなかったため、2日間くらい5秒に1回SDカードにテキストを出力したり読み込ませたりしたら案の定壊れました。

Raspberry Pi Zero WH スターターセット (USB小型電源, 高速型32GB MicroSD, USBスイッチケーブル, ケース, HDMIケーブル, MicroUSB変換付き)
NewLife NewDesing

結局RaspbianをクリーンインストールしてVPNとCUPSを入れてFreeNASのJail側にCUPSを入れることにしました。

ここでも同じくdebパッケージを入れるもアーキテクチャ違いで怒られる。
どうやらBrotherから出しているドライバはi386向けでARMプロセッサは非対応なようでした。
完全詰み状態で、ほぼ諦め状態で色々なサイトを覗いては試しを繰り返していました。
ただどれも古い情報だったりレーザプリンタ依存だったりでパッとした情報が出てこず。

新めの情報が欲しいので、Googleで期間を1ヶ月以内で調べたところあるRedditのスレッドが見つかりました。

INSTALL ALL THE NECESSARY STUFF
$ sudo apt install qemu binfmt-support qemu-user-static cups a2ps
ADD ARCHITECTURE
$ sudo dpkg –add-architecture i386
DOWNLOAD LIBC6 FOR i386 (I found it here)
https://packages.debian.org/buster/i386/libc6/download
OR

$ wget old.kali.org/kali-security/pool/main/e/eglibc/libc6_2.13-38+deb7u8_i386.deb (this one is old so download updated one from above link)
IF YOU TRY TO INSTALL THIS, YOU WILL MESS AROUND WITH APT, SO WE WILL EXTRACT THE DEB AND COPY THESE FILES
$ dpkg -x libc6_2.13-38+deb7u8_i386.deb data
$ sudo cp -r data/lib/* /lib
$ sudo cp -r data/usr/* /usr
$ sudo cp -r data/etc/* /etc
RUN THIS AND ADD IT TO BASHRC TO RUN IN EVERY REBOOT
$ EXTRA_OPTS=”-L /lib/i386-linux-gnu”
DOWNLOAD AND INSTALL YOUR DRIVERS – FOR ME:
$ wget https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-1.1.3-1.i386.deb
$ wget https://download.brother.com/welcome/dlf005403/dcp197clpr-1.1.3-1.i386.deb
$ sudo dpkg -i dcp197ccupswrapper-1.1.3-1.i386.deb
$ sudo dpkg -i dcp197clpr-1.1.3-1.i386.deb

[TUTORIAL] Install Brother old drivers in Raspberry PI with QUEMU (pretty easy)
(一応Web魚拓も置いておきます)

どうやらマルチアーキテクチャ?にしてi386のライブラリを入れることによって実質的にi386のドライバが動くらしい。細かいことはサッパリ。

早速この通りやってみると、ある程度はこの通りに進んだ。もちろんapt-get updateとupgradeした状態で。
ひとつ付け加えるのであれば、最後のdpkgは依存関係を無視する「–force-depends」オプションを付けないとインストール出来なかった。

また、個別にドライバをインストールするとどうしても印刷がズレてしまった。
なんとなく後から簡易インストーラをインストールしたら印刷ズレは解決された。

https://support.brother.co.jp/j/b/downloadlist.aspx?c=jp&lang=ja&prod=dcpj715n&os=128

なおダウンロードURLは「ダウンロードが自動的に始まらない場合は〜」のアドレスをコピーするのが一番楽だと思います。

https://support.brother.co.jp/j/b/downloadhowto.aspx?c=jp&lang=ja&prod=dcpj715n&os=128&dlid=dlf100889_000&flang=1001&type3=10373

公式のインストール方法にも記載がある通り、gunzipで回答した後特権でbash実行。

bash linux-brjprinter-installer-x.x.x-x DCP-J715N

問いは適当に進め、インストールが完了するとCUPS側にプリンタが追加されており、それでテスト印刷すると印刷ズレは解消されました。

用紙サイズがデフォルトのままとなっていますが、これで特に印刷ズレなどおきていないのでこのままとしています。
逆にA4とかで設定するとズレるのかな?

ただし…

この状態でiPhoneやMacからAirprint出来るようになりましたが、いかんせん印刷が遅いです。
具体的にはプロトコル次第でCUPSプリントサーバから印刷が完了するまでのスピードが違ってくる印象です。
特にSocketなどで指定するとキューがプリンタに飛ぶのも遅く、印刷自体もめちゃくちゃ遅い。
反面LPDなどにするとキューがプリンタに飛ぶのが遅く、印刷はWindowsと同じくらいのスピード。
これら指定の違いのメリットデメリットもよく理解しておらず、ベストプラクティスもわかっていないため今後運用していく中でわかれば追記していく次第です。

エピローグ

結局ラズパイで進めることになってしまいましたが、今思うとJail環境でも出来たのかもしれません。
次環境を弄る際はJail環境にCUPSを立ててみようと思います。まあ何かのタイミングがないとやりませんが。。。
備忘録となりますが、同じ困りごとしている方がいれば役に立つことを願います。なにかQAが必要であればコメントください。

記事は以上

タイトルとURLをコピーしました