Last modified: Mon Feb 11 11:05:14 JST 2002

[TOPへ] [palmware] [過去へ] [リンク]

VAIO PCG-Z505DXKondara をインストールしたときの覚書です。
このページは Kondara 2.0 用の覚書です。Kondara 1.2 用の設定の記録をここにおいております。
Linux に挑戦(VAIO PCG-C1MRX編)はこちら


USB Mouse
USB SERIAL
USB FDD
IRDA
PCMCIA
POSE

USB Mouse

VAIO 純正の Mouse は USB で、この Mouse を使えるようしてみましょう。 なお、試したカーネルは、 2.2.14 に
ここ にある backport の patch をあてたカーネルを使用しています。(Kondara の snapshot のカーネルにはデフォルトで backport patch があたっているので、その kernel を持ってくるのが一番簡単な方法だと思います。)
まずは、以下のようにして root ユーザで USB Mouse のデバイスファイルを作りましょう。(Kondara の kernel-2.2.14-2k11 ではインストール時にデバイスファイルは作られます)

mkdir /dev/usb
mknod /dev/usb/usbmouse0 c 10 32
ln -s /dev/usb/usbmouse0 /dev/usb/usbmouse

私の VAIO 君は USB のコントローラは、UHCI なので、(USB 関係のドライバがモジュールになっていれば)以下のようにしてモジュールを読み込みます。

modprobe usb-uhci
modprobe mousedev
insmod hid

あとは XF86Config に以下の項目を追加して X を起動すると USB Mouse が使えると思います。

Section "Xinput"
    SubSection "Mouse"
    Protocol   "IMPS/2"
    DeviceName "USB Mouse"
    Port       "/dev/usb/usbmouse"
    Buttons    5
    ZAxisMapping    4 5
    AlwaysCore
    EndSubSection
EndSection

Section "ServerFlags"
    AllowMouseOpenFail
EndSection

kernel が 2.2.15(?) 以上の人は上記の方法でははうまく行かないので、以下のようにすると動作すると思います。
cd /dev/usb
mknod mouse0 c 13 32
mknod mouse1 c 13 33
mknod mice c 13 63

上記の XF86Config の Port を /dev/usb/usbmouse から /dev/usb/mice に変更します。

XFree86 4.X になって Config ファイルの記述が変わったため、XFree86 4.X では 以下のようにする必要があります。(/etc/X11/XFConfig-4 が設定ファイルになります。)
Section "ServerLayout"
	Identifier "XFree86 Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice "USB Mouse" "SendCoreEvents"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option      "Device" "/dev/mouse"
	Option      "Protocol" "PS/2"
	Option      "Emulate3Buttons" "on"
EndSection

Section "InputDevice"
    Identifier "USB Mouse"
    Driver     "mouse"
    Option     "Device" "/dev/usb/mice"
    Option     "Protocol" "IMPS/2"
    Option     "Buttons" "5"
    Option     "ZAxisMapping" "4 5"
EndSection

注:私の環境では usb-uhci を読み込んだ状態でサスペンド、ハイバネすると kernel が panic を起こします。usb-uhci を読み込んだ状態でサスペンド、ハイバネする人は気を付けてください!(kernel-2.2.14-3k1 で解消されました)

また、wheel 機能を使いたい人は、ここを参考にしてください。


USB Serial

DCU-S2U という USB-Serial 変換のケーブルはいとも簡単につながります。
insmod usb-serial
とし、dmesg で
usbserial.c: FTDI SIO converter now attached to ttyUSB0
と出れば、あとは cu なり Kermit とかで普通のシリアル端末として使用可能です。
2個同時動作させて見たのですが、2個目を ttyUSB1 に attach しているにもかかわらず、同時には使えませんでした(残念)
カーネルを 2.2.17-2k に変えると2個同時使用ができました。

USB FDD

ここに書いてある通りにすればいとも簡単に使用できました。

IRDA

Palmと HotSync する場合、 シリアル接続する方法と赤外線を使った方法がありますが、 私の VAIO 君(Z505DX) には、標準でシリアル端子がなく、ポートリプリケータも そこそこの値段がするので、赤外線で HotSync する方法にチャレンジしてみました。
手順は、まず kernel-2.2.14 に IrDA patch (試したのは patch-2.2.14-irda1) を当てましょう。(Kondara の kernel-2.2.14-2k11 ではデフォルトでこの patch があたっています)
カーネルを再構築したら、IrDA utils(試したのは irda-utils-0.9.7) をインストールしましょう。

その後、
mknod /dev/ircomm c 161 0
mknod /dev/ircomm0 c 161 0
mknod /dev/ircomm1 c 161 1
を実行して(もしかしたら2番目 だけでいいかもしれません)、デバイスを作りましょう。

ブート時に
ttyS02 at 0x03e8 (irq = 4) is a 16550A
と見えますが、BIOS では irq = 10 に指定しているためブート後に
setserial /dev/ttyS2 irq 10
を実行します。

私は、この設定を /etc/rc.d/init.d/irda で設定しており、内容は以下の通りです。
#!/bin/sh
#
# irmanager     This shell script takes care of starting and stopping
#               irmanger (irda daemon).
#
# description: lrmanager is the irda daemon required for irda to work \
# properly. 
#

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -f /usr/sbin/irmanager ] || exit 0

# See how we were called.
case "$1" in
  start)
        # Start daemons.
        if [ -x /bin/setserial ]; then
                setserial /dev/ttyS2 irq 10;
        fi
        echo -n "Starting irmanager: "
        daemon irmanager -d 1
        echo
        ;;
  stop)
        # Stop daemons.
        echo -n "Shutting down irmanager: "
        killproc irmanager
        echo
        ;;
  status)
        status irmanager
        ;;
  restart|reload)
        $0 stop
        $0 start
        ;;
  *)
        echo "Usage: irda {start|stop|restart|reload|status}"
        exit 1
esac

exit 0

また、/etc/conf.modules に以下の項目を追加します。
alias tty-ldisc-11 irtty
alias char-major-161 ircomm-tty

/etc/irda/driversの start 部分を自分の環境のデバイスに合わせます。私は以下のように設定しています。
#! /bin/sh
#
# drivers
#
# Initialize and shutdown IrDA device drivers.
#
# This script should be invoked with two arguments.  The first is the
# action to be taken, either "start", "stop", or "restart".
#

action=$1
device=$2

case "${action:?}" in
'start')
	irattach /dev/ttyS2          # The third serial port is an IrDA port
	# irattach /dev/ttyS0 -d esi # Attach a ESI dongle to the first serial port
	#irattach /dev/ttyS0 -d tekram
	# insmod pc87108             # If your machine as a pc87108 FIR chipset
	# modprobe uircc             # Sharp UIRCC chipset
    ;;
'stop')
	killall irattach             # ... or something. Currently not used
    ;;
'restart')
	/sbin/ifconfig ${device:?} down up
    ;;
esac

あとは、pilot-xfer で転送できるように
ln -s /dev/ircomm0 /dev/pilot
とし、(一般ユーザでも使えるように) /dev/ircomm0 を適当なパーミッションにしましょう。

システム再起動後、irmanager と irattach が立ち上がっているのを確認後、pilot-xfer を使うと赤外線を使ってHotSyncができるはずです。
もし irmanager が立ち上がってない場合は、/etc/rc.d/init.d/irda restart をした後、 IRDA が使えると思います。

ちなみにシステム起動後の lsmod の状態は、
Module                  Size  Used by
irtty                   5116   2  (autoclean)
irda                   80129   2  [irtty]
で、ifconfig の状態は、
irda0     Link encap:IrLAP  HWaddr 33:8e:d0:31  
          UP RUNNING NOARP  MTU:2048  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:546 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:8 
になってます。

参考にしたサイト:
http://www.weitz.de/vaio.html
http://home.rochester.rr.com/specht/505/index.html


PCMCIA

純正 CD-ROM ドライブ(PCGA-CD5) はデフォルトで認識するが、私の環境だと電源がONの状態でカードを入れたり、抜いたりしたときにどうもシステム共々お亡くなりになるようなので(pcmcia のサービスを停止してある場合は問題ない) /etc/sysconfig/pcmcia に以下の設定を行っています。
PCIC_OPTS="cs_irq=11"

POSE

POSEはいわずと知れた Palm Emulator です。 2000/1/17 現在では、バージョンは3α3ですが、これをコンパイルするには、glibc2 とか egcs-1.1.2 以上という環境で無ければなりません。POSE を動かしたかった事と Kondara という Distribution がよさそうだ ったので Distribution を Kondara にしました。この Distribution だとインストー ル直後で上記の条件を満たしているので、あとはコンパイルするだけ・・・と行きた かったけど、少しパッチを当てる必要がありました。(3α4ではパッチをあてる必要はありません)
POSE は FLTK というツールキットを使っているので、 まずはここからFLTKをダウンロードしましょう。FLTK のインストールが終ったら、3α3の人は、 これをダウンロードしましょう。(すでに debian の方でオリジナルソースに対するパッチを公開されていたので、これを使うことにします)。あとは、configure, make で出来上がりです。
動作させた時のイメージはこんな感じです。

Japanese Skin を選択するとフレーム、Graffiti エリアが実機同様 WorkPad C3 になります。 プログラムのデバッグは、この POSE 上で行っています。デバッグ方法等についてはまた別の機会にいたします(^^;


質問、御意見等はitty@gonnta.ne.jpまでどうぞ。