買って来たマウス
と
昨日買って来たプリンタ
、
せっかくだから俺は
kanazawa
上のLinuxでも認識させてみようと思う。
てなわけでカーネル再構築だが、このさいだから新しくしてみよう。
ということで、
Linux Japan
2月号付録CD-ROMよりKernel 2.2.20を/usr/src/linuxに展開。
あとは
昨年5月
に2.2.19を構築したときの
先例に倣って
- hedrick
のHPT366対応ideパッチ
→main.cで一カ所失敗するが、
当たりそうなところは簡単に見当がつくので手動書き換え
- scsi.cパッチ、udfパッチ
→どちらも以前のバージョン向けだが、
patch --dry-runさせてみると特に問題なさそうなので当てておく。
- make xconfig→
turbolinux
の、ハードウェアとドライバNo.320 「
USBデバイスの設定方法
」に倣って、
``Support for USB'',
``Preliminary USB device filesystem'',
``Support for hot-pluggable USB devices''をyとし、
``UHCI(Intel PIIX4, VIA, ...) support'',
``UHCI Alternate Driver(JE) support'',
``USB Printer support'',
``USB Human Interface Device(full HID) support'',
``USB HIDBP Keyboard (basic) support'',
``USB HIDBP Mouse(basic) support'',
``Mouse support''をmとしておく。
- make dep; make bzImage, make modules, make modules_install→いつものとおり。
- あとは/bootにbzImageを名前を買えてコピーするとかliloを実行するとか。
これでできたカーネルを再起動すると、
これまで /etc/rc.d/rc.sysinit で出ていたエラーも出ず、USBポートが認識される。
Feb 3 21:44:47 kanazawa kernel: usb.c: registered new driver usbdevfs
Feb 3 21:44:47 kanazawa kernel: usb.c: registered new driver hub
(中略)
Feb 3 21:44:47 kanazawa kernel: usb-uhci.c: $Revision: 1.237 $ time 21:30:13 Fe
b 3 2002
Feb 3 21:44:47 kanazawa kernel: usb-uhci.c: High bandwidth mode enabled
Feb 3 21:44:47 kanazawa kernel: usb-uhci.c: USB UHCI at I/O 0xd000, IRQ 15
Feb 3 21:44:47 kanazawa kernel: usb-uhci.c: Detected 2 ports
Feb 3 21:44:47 kanazawa kernel: usb.c: new USB bus registered, assigned bus num
ber 1
Feb 3 21:44:47 kanazawa kernel: usb.c: USB new device connect, assigned device
number 1
Feb 3 21:44:47 kanazawa kernel: hub.c: USB hub found
Feb 3 21:44:47 kanazawa kernel: hub.c: 2 ports detected
と/var/log/messagesに記録される。
さらにマウスを挿すとピピッと鳴って
Feb 3 23:45:27 kanazawa kernel: hub.c: USB new device connect on bus1/1, assigned device number 5
Feb 3 23:45:27 kanazawa kernel: usb.c: USB new device connect, assigned device number 5
Feb 3 23:45:27 kanazawa kernel: mouse0: PS/2 mouse device for input0
Feb 3 23:45:27 kanazawa kernel: input0: USB HID v1.00 Mouse [0461:4d01] on usb1:5.0
Feb 3 23:45:28 kanazawa usbmgr[577]: vendor:0x461 product:0x4d01
Feb 3 23:45:28 kanazawa usbmgr[577]: class:0x3 subclass:0x1 protocol:0x2
Feb 3 23:45:28 kanazawa usbmgr[577]: USB device is matched the configuration
と/var/log/messagesに記録され、
/etc/XF86Configの Section "Xinput" 中に
SubSection "Mouse"
DeviceName "USB Mouse"
Port "/dev/usbmouse"
Protocol "PS/2"
Buttons 2
Emulate3Buttons
AlwaysCore
EndSubSection
と書いた状態でstartxしていれば、元のマウスと共に、
新たに接続したUSBマウスもXの操作に使える。
抜くと
Feb 3 23:52:53 kanazawa kernel: usb.c: USB disconnect on device 5
一方プリンタは、電源を入れてUSBケーブルを挿すと
Feb 3 23:54:47 kanazawa kernel: hub.c: USB new device connect on bus1/2, assigned device number 6
Feb 3 23:54:47 kanazawa kernel: usb.c: USB new device connect, assigned device number 6
Feb 3 23:54:48 kanazawa kernel: usb.c: USB device 6 (vend/prod 0x409/0xbef4) is not claimed by any active driver.
Feb 3 23:54:48 kanazawa usbmgr[577]: vendor:0x409 product:0xbef4
Feb 3 23:54:48 kanazawa usbmgr[577]: class:0x7 subclass:0x1 protocol:0x1
Feb 3 23:54:48 kanazawa usbmgr[577]: USB device is matched the configuration
Feb 3 23:54:48 kanazawa kernel: usb.c: registered new driver usblp
Feb 3 23:54:48 kanazawa kernel: printer.c: usblp0: USB Bidirectional printer dev 6 if 0 alt 1
Feb 3 23:54:48 kanazawa usbmgr[577]: "printer" was loaded
抜くと
Feb 3 23:56:13 kanazawa kernel: usb.c: USB disconnect on device 6
Feb 3 23:56:14 kanazawa kernel: usb.c: deregistering driver usblp
Feb 3 23:56:14 kanazawa usbmgr[577]: "printer" was unloaded
と/var/log/messagesに記録される。
面白いのはこのプリンタ、
# echo Hello, World\! >/dev/usblp0
# echo "^L">/dev/usblp0
とrootになってshellに入力してやると、
そういう紙が印刷されて出てくるという、今時珍しい素直なプリンタである。
まぁ、そういうわけでUSBマウスとプリンタがLinuxで使えた訳だ。