Athlon5350マシンにつないでいるブラザーHL-2240Dですが、プリンタを使う度にAthlon5350マシンを起動するのは面倒です。
そこで、OpenVPNを動かしているRaspberry PiのUSBポートで動かせないか試してみました。
1.とにかくつないでみる
つないで dmesg を見てみたらとりあえず認識してくれました。
[2146148.627562] usb 1-1.3: new high-speed USB device number 4 using dwc_otg [2146148.728736] usb 1-1.3: New USB device found, idVendor=04f9, idProduct=0040 [2146148.728772] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [2146148.728787] usb 1-1.3: Product: HL-2240D series [2146148.728801] usb 1-1.3: Manufacturer: Brother [2146148.728817] usb 1-1.3: SerialNumber: M3Jxxxxxx [2146148.797077] usblp 1-1.3:1.0: usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0040 [2146148.800057] usbcore: registered new interface driver usblp
2.CUPSをインストールする
Raspberry Pi にリモートログインしてCUPSをインストールします。
$ sudo apt-get install cups
どかどかとたくさん入るかと思ったらエラーが。メッセージに従って、
$ sudo apt-get update $ sudo apt-get upgrade
ってやってみたら、Raspberry Pi 2関連と思わるアップデートがたくさん入りました。
それはさておき、アップデート後に気を取り直してCUPSをインストールします。
$ sudo apt-get install cups
3.CUPSの設定
完了したら、ローカル側からRaspberryPiの画面をリモートデスクトップで開いて設定を行います。
$ rdesktop 192.168.xxx.xxx
ブラウザ(Netsurf)を開いてアドレスに「localhost:631」と入力します。
上の方の「Administration」を開きます。
右下の
- Share printer connected to this host
- Allow printing from the Internet
- Allow remote administration
- Allow users to cancel any job
にチェックをつけて、下の「Change Setting」を押します。
(どうせルータで自宅外からのパケットは叩き落とされるので「Allow printing from the Internet」も許可しちゃいます)
その後、リモートログインしたシェルでCUPSを再起動します。
$ sudo service cups restart
・・・が、設定が反映されません・・・。(泣)
仕方がないので、設定ファイルを直接編集します。
$ sudo vi /etc/cups/cupsd.conf
途中の、
# Only listen for connections from the local machine. Listen localhost:631 Listen /var/run/cups/cups.sock
の真ん中の「localhost:631」を「631」だけにします。
さらに、もう少し下の方にある<Location>と<Location /admin>の部分を以下のように修正します。
# Restrict access to the server... <Location /> Order allow,deny Allow @LOCAL </Location>
# Restrict access to the admin pages... <Location /admin> Order allow,deny Allow @LOCAL </Location>
その後、CUPSを再起動します。
$ sudo service cups restart
これでローカルマシンから「IPアドレス:631」で管理画面にアクセスできます。
同様にプリンタの共有とインターネットからの印刷の許可、ジョブキャンセルの許可を設定します。
うーん、やっぱり設定できません。
どうも、ユーザーがlpadminグループに入っていないといけないようなので、
$ sudo adduser pi lpadmin Adding user `pi' to group `lpadmin' ... Adding user pi to group lpadmin Done. $
とします。
これでブラウザから設定が変更できるようになりました。
4.プリンタの追加
Web管理画面から「プリンタの追加」を押します。
ローカルプリンタのBrother HL-2240Dを選択して、「続ける」を押します。
適当に場所を記入し、共有にチェックを入れて続けます。
ドライバは存在しないのでとりあえずHL2140のPCL5eドライバを選択しておきます。
デフォルトオプションを適当に設定しておきます。
設定ができました。
この状態でPC上のUbuntuでプリンタを開くと、RaspberryPi上のプリンタが見えるようになっていました。
・・・・がしかし、テスト印刷を1枚試してみたところ明らかに汚いです。
さらに2枚目以降のテスト印刷はエラーが出るばかりで印刷すらできません・・・。
ブラザーのLinux用プリンタドライバのインストールも試してみましたが、途中で微妙なエラーがでていることと、テスト印刷してもジョブを抱えたままで出力されませんでした。
・・・・結局、諦めて元のAthlon5350マシンに接続を戻しました(泣)