KURO-BOX/PRO プリント・サーバー化
正しい方法なのかは定かではありませんが、一応動作しています。
ちなみに私のつかっているプリンターはCanon MP790という複合機です。
クライアントは、Windows Vistaを使っています。
まず、KURO-BOX/PROをdebian化してあるのが前提です。
私はsushi-kさんが作ってくれたdebian化キットを使わせてもらいました。
ありがとうございます。
ステップ1
プリンターがUSBデバイスとして認識されているかを確認します。
パッケージのインストール:
- apt-get install usbutils
コマンドの実行:
- lsusb
私の環境では、以下のような結果になります。
Bus 002 Device 002: ID 04a9:1707 Canon, Inc.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
一番上の行で、プリンターがUSBデバイスとして認識されていることがわかります。
もしここで認識されていなかった場合は...すいません、私にはわかりません。
ステップ2
カーネル・モジュールをコンパイルします。
カーネル・モジュールとは/lib/modules/ 階層下にあるモジュール(*.koファイル)のことで、必要に応じてロードしてカーネルに機能を追加するためのもです。よってカーネル本体とは違います。
カーネルのソースを取得:
これもsushi-kさんのサイトにあるものを使わせてもらいました。
これを、私は/usr/src/以下に直接展開しちゃいました。
- cd /usr/src
- tar xvf linux-2.6.12_lsp.1.10.3.self.tar.gz
一応リンクもはっておきます。
- ln -s linux-2.6.12_lsp.1.10.3.sef linux
- ln -s llinux-2.6.12_lsp.1.10.3.sef inux-2.6.12.6-mda1
パッケージのインストール:
- apt-get install gcc
- apt-get install libc6-dev
- apt-get install module-init-tools
- apt-get install make
ファイルの退避等:
- cd /boot
- cp -p uImage.buffalo uImage.buffalo.org
- cd /usr/include
- mv asm asm.org
- ln -s /usr/src/linux/include/asm-arm asm
- mv scsi scsi.org
- ln -s /usr/src/linux/include/scsi scsi
- mv linux linux.org
- ln -s /usr/src/linux/include/linux linux
本来なら/lib/modules以下も退避しておくのでしょうが、
私の環境ではファイルがひとつもなかったので何もしていません。
コンパイル1:
- cd /usr/src/linux
- make mrproper
コンフィグ・ファイルの取得:
configファイルを/usr/src/linuxディレクトリーにコピーし、".config"という名前に変更します。
コンパイル2:
いよいよコンパイルです。
- cd /usr/src/linux
- make oldconfig
- make clean
- make modules
ステップ3
カーネルモジュールのインストールおよび確認
インストール:
- cd /usr/src/linux
- make modules_install
- depmod
- cd /dev
- ./MAKEDEV usb
(もちろんmknodでやってもいいです)
確認作業:
- modprobe -l | grep usblp
結果例:
/lib/modules/2.6.12.6-mda1/kernel/drivers/usb/class/usblp.ko
- morprobe usblp
- lsmod
結果例:
Module Size Used by
usblp 11968 0
- dd if=/dev/usb/lp0 count=1
エラーが出なければ大丈夫です。
念のため/boot/uImage.buffaloが
書き換えられていなことを確認します。
ステップ4
hotplugをインストールします。
hotplugは、デバイスの接続状況など状況に応じて必要なモジュールをロードしてくれるものです。
毎回modprobeコマンドを使ってモジュールをロードするという運用をするのであれば、この作業は必要ありません。
インストール:
- apt-get install hot-plug
確認作業:
hotplugによって必要なモジュールが
自動的にロードされることを確認します。
- modprobe -r usblp
- lsmod
結果例:
Module Size Used by
usblpモジュールがロードされていないことを確認します
- cd /etc/init.d
- ./hotplug start
- lsmod
結果例:
Module Size Used by
usblp 11968 0
ステップ5
cupsを設定します。
このあたりはほかにたくさん詳しいサイトがあると思います。
インストール:
- apt-get install cupsys-driver-gutenprint
設定:
/etc/cups/mime.types:
application/octet-stream.. の行の先頭の#を削除。(アンコメント)
/etc/cups/mime.convs:
application/octet-stream.. の行の先頭の#を削除。(アンコメント)
/etc/cups/cupsd.conf:
Listen localhost:631 -> Listen *:631
<Location ...>のセクションにVistaのIPアドレスからのアクセスを許可するように設定します。
私は Allow 192.168.1.* のようにしています。 (3ヶ所)
一応cupsをリスタートします
- /etc/init.d/cupsys restart
Vista側でブラウザーを開き、http://<kurobox-proのIP>:631/にアクセスします。
管理のタブを選択します。
ここまでうまくいっていれば、新しいプリンターが見つかりましたという表示がでているはずです。
そのプリンターの追加を選択してください。
ドライバーを選択するように言われます。
自分のプリンターがそこにリストされていればそれを選びます。
なければなんでもかまいません。
これは、Windowsからの印刷には影響しないからです。
ちなみにMP790ありませんでした。
(もう少し新しいバージョンのgutenprintだとあるようです..)
プリンタの追加ができたら、プリンタのタブを選択します。
テスト印刷など試してみましょう。
ステップ6
Vista側の設定をします。
Vistaでは、デフォルトではcupsを使った印刷機能がインストールされていないことがあります。
コントロール・パネルからWindowsの機能の有効化または無効化を選択し、印刷サービスの中のインターネット印刷クライアントをチェックされていることを確認してください。
プリンターの追加:
コントロール・パネル->プリンタ->プリンタのインストール
ネットワークプリンターを選択
'探しているプリンタはこの一覧にはありません'をクリック
共有プリンタを名前で選択するをチェック
名前はCUPSのプリンターURLを指定してください。
例:http://KUROBOX-PRO:631/printers/Canon_MP790_USB_1
だいぶ長くなりましたが、以上で終了です。
お役にたてば幸いです。
同じURLなのに、ブラウザーで表示されたり印刷できたりするなんて、cupsっておもしろいですよねぇー。
コメント
KURO-BOX pro プリンタサーバ
お役にたててよかったです
こんにちは、はじめまして。
お役にたててよかったです。
お役にたててよかったです。
コメントの投稿
トラックバック
http://miy.dtiblog.com/tb.php/2-846d122d



先日玄箱PROを購入しdebian化して遊んでます。プリンタサーバとしても使いたいので一度カーネルのリビルドをしてみたのですが、失敗してどうやり直そうかと思ってたところでこのブログを拝見しました。おかげさまでうまくいきました。感謝です。