□ |
- http://www.zauruszone.com/howtos/lc_generic.shtmlからusbdnet-2.4.18-patch.gzをダウンロードします。
- ダウンロードしたコードでカーネルにパッチを当てます
/usr/srcにダウンロードファイルをコピー
cd /usr/src
zcat usbdnet-2.4.18-patch.gz | patch -p0
- このパッチはSL-A300に対応していないので、更にマニュアルで/usr/src/linux/drivers/usb/usbdnet.cを次のように修正。
static __devinitdata struct usb_device_id id_table [] = {
の次の行に
MY_USB_DEVICE( 0x4dd, 0x8005, CDC_DEVICE_CLASS, CDC_INTERFACE_CLASS, MDLM_INTERFACE_SUBCLASS) }, // SL-A300
を追加します。
- カーネルコンフィギュレーションを変更します。
cd /usr/src/linux
make xconfig
Code maturity level optionsを撰択
Prompt for development and/or incomplete code/driversがyになっていることを確認します。
USB supportを撰択
USBD Network(Encapsulated)Host-to-Host Linkをmにチェック
USBD Network idVendorに04dd (これは不用かも)
UDBD Network idProductに8005 (これは不用かも)
Save and Exitをクリックして終了
- カーネルの再構築します。
make dep
make clean
make bzImage
make modules
make modules_install
/sbin/installkernel 2.4.18-0vl3 arch/i386/boot/bzImage System.map
- murasaki.preloadの初期化処理を無効にします
su
cd /etc/murasaki
mv auto_setup auto_setup_bak
- エディターでmurasaki.preloadを次のように変更し、uhidの代わりにusb-uchiがロードされるようにします。
usbcore
mousedev
hid
usb-uhci
- エディターで/etc/sysconfig/network-scripts/ifcfg-usb0を次のように作成します。
DEVICE=usb0
BOOTPROTO=none
ONBOOT=no
BROADCAST=192.168.129.255
NETWORK=192.168.129.0
NETMASK=255.255.255.0
IPADDR=192.168.129.1
- エディターで/etc/murasaki/usbdnetの名前のスクリプトファイルを作成します。
#! /bin/bash
#
# Network via USB
# This script will be automaticaly called by the Murasaki.
#
LOGFILE=/dev/console
echo "$0 $1" > $LOGFILE
echo -n "Called at " >> $LOGFILE
date >> $LOGFILE
case "$1" in
"start")
# start connection
ifup usb0
/sbin/route add -host 192.168.129.201 usb0
;;
"stop")
# end connection
ifdown usb0
;;
*)
esac
- ファイルのアクセス権を変更します。
chmod 755 usbdnet
- /etc/murasaki/murasaki.callに次の行を追加します。
usbdnet: /etc/murasaki/usbdnet
- /etc/murasaki/murasaki.dependに次の行を追加します。
alias-SLA300: usbdnet
- /etc/murasaki/murasaki.usbmapに次の行を追加します。
# Zaurus SL-A300
alias-SLA300 0x0193 0x04dd 0x8005 0x0000 0x0000 0x02 0x00 0x00 0x00 0x00 0x00 0x00000000
- システムを再起動し、Zaurusを接続します。
ピッとUSBデバイスが認識された音がします。
- Pingが通ればOKです。
ping 192.168.129.201
- これでSanba clientからアクセスできます。
smbclient //192.168.129.201/home -N
added interface ip=192.168.129.1 bcast=192.168.129.255 nmask=255.255.255.0
added interface ip=192.168.xx.xxx bcast=192.168.xx.255 nmask=255.255.255.0
Anonymous login successful
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.0.7-ja-2.2]
smb: \> ls
. D 0 Thu Jan 23 20:33:04 2003
.. D 0 Fri Dec 27 22:07:08 2002
Main_Memory D 0 Fri Dec 27 22:09:58 2002
SD_Card D 0 Thu Jan 1 09:00:00 1970
53730 blocks of size 512. 25148 blocks available
- 作業経緯 - |
- 現在zauruszone.comで公開されているパッチファイルはSL-A300に対応していませんので、そのままだとドライバーがロードされません。ロードされたかどうかはmessagesファイルで確認してください。
- カーネルオプションNetwork(Encapsulated)Host-to-Host Linkはyではなくmを指定して下さい。yを指定するとusbdnetモジュールコンパイル時にエラー(#error MODULE not defined)が発生します。
- murasakiはmurasaki.preloadファイルで事前にロードするモジュールを指定できますが、標準ではusbドライバーの指定が初期化用のスクリプトにより上書きされてしまいます。今回は上記のようにこのスクリプトを無効化しています。
- nautilasも簡単な評価を行いましたが、MainMemoryディレクトリが見えないなどの現象があり、これらを解決することは未だできていません。今後、更に挑戦してみたいと思います。
|
|