iphoneから直接印刷出来ないMultiWriter 5750CへAirPrintで印刷する


2008年発売のiphone、ipadのAirPrintに対応していないプリンターを、Linux+CUPS+avahi-daemonでAirPrint対応にしたために、その記録を残します。

この記事の最後には、以下のようにiphoneやipadから普通にプリント出来るようになりました。

 

前置き

我が家では、以前12,800円で購入したNECのカラーレーザーMultiWriter 5750Cがまだ現役です。最新型のプリンタに比べて場所を取りますが、待機時の消費電力が5w、格安の互換トナーを使えるのが大きな強みです。

しかし、2008年に発売されたプリンタですので、勿論の事iphoneやipadから直接印刷することが出来ずに調べていたところ、普通にWindows10やdebian、Redhat(CentOS)向けドライバがサポートページにありました。

次回設定時に必ず悩みそうなので、簡単に備忘としてまとめておきます。主な流れは以下の通りです。

  1. プリンタドライバのインストール
  2. CUPSのインストールと設定
  3. avahi-daemonのインストールと設定

個人でカラーレーザーを使っていると、「なんで個人宅でカラーレーザーなんて使っているのか?」「会社で使う物ではないのか?」「インクジェットプリンタが安いので買い替えればいいんじゃないか?」という質問を良くされます。

消費電力と維持費が極端に安いカラーレーザーを一度でも使ってしまうと、インク代がメーカーの主な収益源であるインクジェットには戻れないんです。iphone、ipadへの対応がされていないなら、機能を補ってでも壊れるまで使い続けるのが製品に対する愛着だと(勝手に)思い込んでいます。

プリンタドライバのインストール

NECのプリンタドライバにReadmeがついているので軽く目を通してからインストールします。


cd /tmp
wget https://jpn.nec.com/printer/laser/support/os/linux/download/data/xrc-driver/mw5750c/nec-multiwriter-5750c_1.0-2_i386.deb
sudo dpkg -i --force-architecture nec-multiwriter-5750c_1.0-2_i386.deb

CUPSのインストールと設定


sudo apt-get update; sudo apt-get upgrade
sudo apt-get install cups

sudo vi /etc/cups/cupsd.conf

/etc/cups/cupsd.confに以下を追記


# デフォルトだと127.0.0.1のみでListenするので、全インターフェースでListenするようにする。

Listen 0.0.0.0:631

# Restrict access to the server...
<Location />
Order allow,deny
Allow from all
</Location>

# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow from all
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow from all
</Location>

# Restrict access to log files...
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow from all
</Location>

設定ファイルを書き終わったらサービスを再起動させます。


sudo service cups restart

ブラウザで、CUPSを設定したサーバへアクセスします。

アクセス先は、https://192.168.1.200:631/ と想定します。

管理>プリンターの追加 を選択

NEC MultiWriter 5750Cを選択する。

名前は解りやすいものを設定してください。ここでは、「NEC_MultiWriter_5750C」としました。

モデルでNEC_MultiWriter_5750Cを選択します。

デフォルトオプションの設定を選択します。

設定が完了したので、NEC_MultiWriter_5750Cのリンクをクリックします。

以下のようにNEC_MultiWriter_5750Cが待機中として表示されればOKです。

 

ここまででLinux上のCUPSの設定が完了しました。次にiphone、ipadから利用できるようにavahi-daemonをインストールします。

avahi-daemonのインストールと設定

avahi-daemonと、プリンタ設定の為の情報を表示するためのavahi-daemonをインストールします。


sudo apt-get install avahi-utils avahi-daemon
sudo avahi-browse -r -a

# /etc/avahi/services/AirPrint-NEC_MultiWriter_5750C.serviceに必要な設定を書く

echo "<?xml version="1.0" ?><!DOCTYPE service-group SYSTEM 'avahi-service.dtd'><service-group><name replace-wildcards="yes">AirPrint NEC_MultiWriter_5750C @ %h</name><service><type>_ipp._tcp</type><subtype>_universal._sub._ipp._tcp</subtype><port>631</port><txt-record>txtvers=1</txt-record><txt-record>qtotal=1</txt-record><txt-record>Transparent=T</txt-record><txt-record>URF=none</txt-record><txt-record>rp=printers/NEC_MultiWriter_5750C</txt-record><txt-record>note=NEC MultiWriter 5750C</txt-record><txt-record>product=(GPL Ghostscript)</txt-record><txt-record>printer-state=3</txt-record><txt-record>printer-type=0x8010dc</txt-record><txt-record>Color=T</txt-record><txt-record>pdl=application/octet-stream,application/pdf,application/postscript,application/vnd.cups-raster,image/gif,image/jpeg,image/png,image/tiff,image/urf,text/html,text/plain,application/vnd.adobe-reader-postscript,application/vnd.cups-command</txt-record></service></service-group>" > /etc/avahi/services/AirPrint-NEC_MultiWriter_5750C.service

avahi-daemonを再起動


sudo service avahi-daemon restart

tail -n 100 /var/log/syslog

# 以下の行があればOK。

# Service "AirPrint NEC_MultiWriter_5750C @ fileserver" (/services/AirPrint-NEC_MultiWriter_5750C.service) successfully established.

avahi-daemonの動作確認

avahi-daemonの動作確認をするための前提条件は以下の通り。

  • iphoneと、avahi-daemonを動かしているPCが同一のLANにいること
  • avahi-daemonのセットアップが完了していること

取りあえず、iphoneで写真を開いて、印刷したい写真のプリントを選択して、プリントを押下します。

プリントする際に、AirPrint NEC_MutliWriter_5750Cと表示されていなければ、プリンタを選択から、AirPrint NEC_MutliWriter_5750Cを選びます。

ここまでで、取りあえず動作確認が完了しました。

デバッグ方法について

上手く動かない場合、ログは/var/log/syslogに出力されるため、avahi-daemonの再起動や、iphoneからの印刷を実行してみて、ログに出力される内容から修正してください。

<br data-mce-bogus="1">

# SSHで接続したウインドウ一つをログ確認専用にして、常に下記コマンドでログを見ながら操作すると、設定ミスが見つかりやすいです。<br data-mce-bogus="1">

sudo tail -f /var/log/syslog<br data-mce-bogus="1">

 

 

結び

iphone、ipadからAirPrintに対応していないプリンタへの印刷が出来るようになると非常に便利です。「AirPrintに対応していない」と言うだけでプリンタを買い替えるのは地球にやさしくありませんしね。

もしも、「常に稼働しているLinuxサーバなんて無いので、プリンタを買った方が安上がり」と言う場合には、Brotherのカラーレーザー複合機がお勧めです。自宅でカラーコピー、白黒コピーが取れると言うだけで、コンビニに行ってコピーすると言う手間が無くなりますしね。

参考にさせて頂いたサイト

今回の構築をするにあたって以下のサイトを参考にさせて頂きました。良質な投稿を公開して頂き、ありがとうございます。

タグ付けされた , , . ブックマークする へのパーマリンク.

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください