成松宏さんが作成された musbio-1.01 (Linux 2.4.9 用) を 
Linux 2.4.10 以降でも使えるようにするための patch です。

今回、この patch を公開するにあたって、成松宏さんが快く許可
してくださったうえ、ソース自体のライセンスも GPL とすること
を認めてくださいました。ありがとうございました。(2.4.10 以
降では、モジュールのライセンスを明確にする機能が追加されたた
め、これをソースコードの上でもはっきり書く必要があったのです。)

----------
インストール
----------

○   カーネルを再構築する必要があります。
○   成松宏さんが作られたオリジナルの musbio-1.01.tar.gz が必要です。
○   どうやって利用するかについては, 成松さんのサイトを参照してください。

(1) Linux 2.4.x のカーネル(x の所には実際には数字が入ります)
のソースをダウンロードします。Linux 2.4.x のカーネルのソースは、
例えば、
       http://www.kernel.org/
からダウンロードできます。

(2) ダウンロードしたカーネルのソースを展開し、展開した場所の下に
あるファイルdrivers/usb/hid-core.c を次のように編集します:
まず、

static struct hid_blacklist {
        __u16 idVendor;
        __u16 idProduct;
        unsigned quirks;
} hid_blacklist[] = {

        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PENPARTNER, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 1, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 2, HID_QUIRK_IGNORE },
        { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS, HID_QUIRK_IGNORE },

...(似たような行がたくさんつづいている)...

という部分を探し出し、このリストのどこでもいいですから,

        { 0x1352, 0x0100, HID_QUIRK_IGNORE },
        { 0x0BFE, 0x1000, HID_QUIRK_IGNORE },
        { 0x0BFE, 0x1001, HID_QUIRK_IGNORE },
        { 0x0BFE, 0x1002, HID_QUIRK_IGNORE },
        { 0x0BFE, 0x1003, HID_QUIRK_IGNORE },
        { 0x12ED, 0x1003, HID_QUIRK_IGNORE },

を追加してください。ただし, このリストの最後は
        { 0, 0 }
でなければならないので、そこには触らないようにしましょう。

この変更をほどこさないと、USB-IO は hiddev がぶんどってしまい、制御
することができません。

(3) カーネルを作り直し、新しいカーネルで起動しましょう。(このページは
カーネルの作りかたを説明するページではないので、他のページや参考書や
雑誌を参照してください!「カーネルを作り直せない」という方は、私はそう
いうのを教えるボランティアではありませんので、私に質問しないようにし
てください)。
注意: カーネルを作り直すときに、rio500 をサポートする場合、下記の注
意も読んでください。

(4) musbio-1.01.tar.gz をダウンロードします。成松宏さんのサイト
       http://www.narimatsu.net/nari_page/musbio.html
からでも、私のサイト
       http://kuro.neko.ac/musbio/index.html
からでもダウンロードできます。

(5) ダウンロードした musbio-1.01.tar.gzをどこかに展開します。
musbio-1.01 という名前のディレクトリができます。

(6) musbio-1.01-p1.tar.gz をダウンロードし, (5)でできたディレクトリ
musbio-1.01 に移動してから中でほどきます。musbio-1.01-p1.tar.gz は私
のサイト
       http://kuro.neko.ac/musbio/index.html
からダウンロードできます。       

(7) musbio-1.01 を展開してできた、ディレクトリ musbio-1.01 の中に
移動して、
       patch -p1 <musbio-1.01-p1.diff
としてpatchをあてます。

(8) morphy-usbio.o を作り, インストールします: この README.new 
があるディレクトリ(つまり, (5)でできた musbio-1.01 というディレクトリ)
の中で
        make
とすると morphy-usbio.o というファイルができるはずです。root になっ
てから、morphy-usbio.o を /lib/modules/<kernel-name>/ というディ
レクトリ(<kernel-name> の部分には実際にはあなたのカーネルの名前が入
ります)へコピーし、このディレクトリで
        /sbin/depmod -a
を実行してください。これでインストールは終りです。

(9) USB-IO を差したときに自動的にモジュールがインストールされるように
するには、/etc/hotplug/usb.usermap に

morphy-usbio         0x0003      0x1352   0x0100    0x0000       0x0000       0x00         0x00            0x00            0x00            0x00               0x00               0x00000000
morphy-usbio         0x0003      0x0BFE   0x1000    0x0000       0x0000       0x00         0x00            0x00            0x00            0x00               0x00               0x00000000
morphy-usbio         0x0003      0x0BFE   0x1001    0x0000       0x0000       0x00         0x00            0x00            0x00            0x00               0x00               0x00000000
morphy-usbio         0x0003      0x0BFE   0x1002    0x0000       0x0000       0x00         0x00            0x00            0x00            0x00               0x00               0x00000000
morphy-usbio         0x0003      0x0BFE   0x1003    0x0000       0x0000       0x00         0x00            0x00            0x00            0x00               0x00               0x00000000
morphy-usbio         0x0003      0x12ED   0x1003    0x0000       0x0000       0x00         0x00            0x00            0x00            0x00               0x00               0x00000000

という6行を追加してください。

rio500 サポートをカーネルに入れたい方への注意:
usb デバイスの minor 番号が足りない状況にあります。
rio500 (minor = 64〜79) を使うことにする場合は、minor 番号がぶつか
るので、このディレクトリにある morphy-usbio.h の中の MUSBIO_MINOR の
定義を変える必要があります。MUSBIO_MINOR の値は16の倍数でなければなりま
せんが、変更したことにより、ぶつかるものがでてきますので、それはカーネル
を作る際にサポートを入れないようにしてください。

---------------------------------------------------------------------------

2005/12/04 いとーひさし (kuro@neko.ac)