Clie PEG-T650C を入手したので、職場のLinux box(2.4.18)で使う方法を模索。
ここのサイトが 非常に参考になりました。すばらしい。 以下、やったこと。
- kernel に patch をあてる
- pilot-link-0.10.99 の install
- jpilot-0.99.2 の install
- MHCを Clie PEG-T650C で利用する
- メモリースティックを利用する
[kernel に patch をあてる]
- まずは以下の手順でkernelにpatchをあてる
# cd /usr/src/linux/drivers/usb/serial # vi visor.h PEG-T650デバイスIDを追加する("+"のついた行を追加) #define SONY_CLIE_3_5_ID 0x0038 #define SONY_CLIE_4_0_ID 0x0066 + #define SONY_CLIE_4_1_ID 0x009a # vi visor.c static __devinitdata struct usb_device_id clie_id_4_0_table [] = { { USB_DEVICE(SONY_VENDOR_ID, SONY_CLIE_4_0_ID) }, + { USB_DEVICE(SONY_VENDOR_ID, SONY_CLIE_4_1_ID) }, { } /* Terminating entry */ }; static __devinitdata struct usb_device_id id_table [] = { { USB_DEVICE(HANDSPRING_VENDOR_ID, HANDSPRING_VISOR_ID) }, { USB_DEVICE(PALM_VENDOR_ID, PALM_M500_ID) }, { USB_DEVICE(PALM_VENDOR_ID, PALM_M505_ID) }, { USB_DEVICE(PALM_VENDOR_ID, PALM_M125_ID) }, { USB_DEVICE(SONY_VENDOR_ID, SONY_CLIE_3_5_ID) }, { USB_DEVICE(SONY_VENDOR_ID, SONY_CLIE_4_0_ID) }, + { USB_DEVICE(SONY_VENDOR_ID, SONY_CLIE_4_1_ID) }, { } /* Terminating entry */ }; # cd /usr/src/linux # make modules # make modules_install- 一応、reboot (しなくてもいいかも)
- T650Cをクレードルにおいて、HotSyncボタンを押す。
以下のようなメッセージが出たら成功。usbserial.c: USB Serial support registered for Generic usbserial.c: USB Serial Driver core v1.4 usbserial.c: USB Serial support registered for Handspring Visor usbserial.c: USB Serial support registered for Palm 4.0 usbserial.c: USB Serial support registered for Sony Cli3.5 usbserial.c: USB Serial support registered for Sony Cli4.0 usbserial.c: Sony Cli4.0 converter detected visor.c: Sony Cli4.0: Number of ports: 2 visor.c: Sony Cli4.0: port 1, is for Generic use and is bound to ttyUSB0 visor.c: Sony Cli4.0: port 2, is for HotSync use and is bound to ttyUSB1 visor.c: visor_startup - error getting first unknown palm command visor.c: visor_startup - error getting second unknown palm command usbserial.c: Sony Cli4.0 converter now attached to ttyUSB0 (or usb/tts/0 for devfs) usbserial.c: Sony Cli4.0 converter now attached to ttyUSB1 (or usb/tts/1 for devfs) visor.c: USB HandSpring Visor, Palm m50x, Sony Clidriver v1.5上記のようなメッセージが出たら、/dev/pilotにリンクをはる。# ln -s /dev/ttyUSB0 /dev/pilot- 必要に応じて /dev/pilot を chmod, chownするとか。
[pilot-link-0.10.99 の install]
- pilot-linkのサイト から pilot-link-0.10.99.tar.gz をげっと。pilot-link-0.9.5では 動かないので、最新版を入れる。
# ./configure && make && make install- 動作確認
- クレードルのHotSyncボタンを押す。
- pilot-xfer を実行する。
% pilot-xfer -l No $PILOTPORT specified and no -p <port> given. Defaulting to '/dev/pilot' Listening to port: /dev/pilot Please press the HotSync button now... Connected Reading list of databases in RAM... ATD2Lrn ATD2Engn ...と、Clie に入っているファイルが表示されれば成功。[jpilot-0.99.2 の install]
jpilot-0.99.2.tar.gz を jpilot のサイトからげっと。
- make, install
# ./configure && make && make installでおしまい。pilot-link がちゃんと入っていれば問題なし。
- 動作確認
- jpilot の [Sync]ボタンを押す
- クレードルの HotSync ボタンを押す
- sync されれば成功!
[MHCを Clie PEG-T650C で利用する]
MHCが利用できなきゃ Palmは使う価値無し!! ということで mhc2palm が CLIE でも動くように あがいてみた。
- まず、mhc-current の source を持ってくる。
% cd $somewhere % rm -rf mhc (もし mhc ディレクトリがあれば) % cvs -d :pserver:anonymous@cvs.quickhack.net:/cvsroot login CVS password: <- そのまま [Enter] % cvs -d :pserver:anonymous@cvs.quickhack.net:/cvsroot co mhc- 適当に pilot-link-0.10.x対応、USB対応 patch(mhc_pilib.c.usb.diff)を作ったので、
それをあてる。2002/06/22 修正: このpatchは mhc-current に取り込まれたので必要なくなりました。% cd mhc/ruby-ext % patch < mhc_pilib.c.usb.diff % cd .. % ruby configure.rb % ruby make.rb # ruby make.rb install- 動作確認
- Clie で適当にスケジュールを入れる
- palm2mhc を "-n" オプションをつけて起動
% palm2mhc -n -u- クレードルの HotSync ボタンを押す
Press Sync Button Connected.. ...と表示されれば成功。[メモリースティックを利用する]
いじょお。すべてLinuxからできるようになりました。Windowsいらず。
- メモリースティックを利用するためには kernel に patch が必要 (たぶん)。ってことで、patchあて。
# cd /usr/src/linux/drivers/usb/storage # vi unusual_devs.h"+"のついた行を追加する/* Submitted by Nathan Babb <nathan@lexi.com> */ UNUSUAL_DEV( 0x054c, 0x006d, 0x0000, 0x9999, "Sony", "PEG Mass Storage", US_SC_8070, US_PR_CBI, NULL, US_FL_FIX_INQUIRY ), +UNUSUAL_DEV( 0x054c, 0x0099, 0x0000, 0x9999, + "Sony", + "PEG-T650C Mass Storage", + US_SC_8070, US_PR_CBI, NULL, + US_FL_FIX_INQUIRY ), + UNUSUAL_DEV( 0x057b, 0x0000, 0x0000, 0x0299, "Y-E Data", "Flashbuster-U", # cd /usr/src/linux # make modules # make modules_install- 動作確認
- Clie で "MSImport" を起動
- dmesg で確認する
hub.c: USB new device connect on bus2/1/3, assigned device number 10 usb.c: USB device 10 (vend/prod 0x54c/0x99) is not claimed by any active driver. SCSI subsystem driver Revision: 1.00 Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage scsi0 : SCSI emulation for USB Mass Storage devices Vendor: Sony Model: PEG-T650C Mass S Rev: 0100 Type: Direct-Access ANSI SCSI revision: 02 WARNING: USB Mass Storage data integrity not assured USB Mass Storage device found at 10 USB Mass Storage support registered. Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sda: 253696 512-byte hdwr sectors (130 MB)ってな具合いに、最後に sda: とか出てればOK.- sd_mod のモジュールをロード。hotplugとかを使っていれば 必要ないみたいだけど、深く追ってないのでよくわからん。
# insmod sd_mod- dmesg で確認
sda: Write Protect is off sda: sda1と表示されていることを確認- いよいよ mount。
# mount -t vfat /dev/sda1 /mnt # ls /mnt memstick.ind palm/と見えれば成功!!- あとは、cp,mv等でメモリースティックにデータを移動できる。 メモリースティックはアクセスが遅いので、必ず sync を実行して 書き込みを確認すること。
- 終わらせ方
- umount して、module を unloadする。
# umount /mnt # rmmod sd_mod- Clie の MSImport の [切断する] -> [OK] を順に押す。
暇ができたら FreeBSD でも挑戦しよう。uvisor の移植が ネックかな。