Raspberry Piをプリントサーバーに・・・ならなかった(泣)

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」と入力します。

Cups-1

上の方の「Administration」を開きます。

cups-2

右下の

  • 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-3

その後、リモートログインしたシェルで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」で管理画面にアクセスできます。

同様にプリンタの共有とインターネットからの印刷の許可、ジョブキャンセルの許可を設定します。

cups-4

うーん、やっぱり設定できません。

どうも、ユーザーがlpadminグループに入っていないといけないようなので、

$ sudo adduser pi lpadmin
Adding user `pi' to group `lpadmin' ...
Adding user pi to group lpadmin
Done.
$

とします。

これでブラウザから設定が変更できるようになりました。

4.プリンタの追加

Web管理画面から「プリンタの追加」を押します。

CUPS-10

 

ローカルプリンタのBrother HL-2240Dを選択して、「続ける」を押します。

CUPS-11

適当に場所を記入し、共有にチェックを入れて続けます。

CUPS-12

ドライバは存在しないのでとりあえずHL2140のPCL5eドライバを選択しておきます。

CUPS-13

デフォルトオプションを適当に設定しておきます。

CUPS-14

設定ができました。

この状態でPC上のUbuntuでプリンタを開くと、RaspberryPi上のプリンタが見えるようになっていました。

・・・・がしかし、テスト印刷を1枚試してみたところ明らかに汚いです。

さらに2枚目以降のテスト印刷はエラーが出るばかりで印刷すらできません・・・。

ブラザーのLinux用プリンタドライバのインストールも試してみましたが、途中で微妙なエラーがでていることと、テスト印刷してもジョブを抱えたままで出力されませんでした。

・・・・結局、諦めて元のAthlon5350マシンに接続を戻しました(泣)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)