趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • Raspberry Piをプリントサーバーに・・・ならなかった(泣)

    投稿日 2015年 2月 7日 コメントはありません

    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マシンに接続を戻しました(泣)


    コメントをどうぞ(日本語のみ/Only in Japanese)

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