[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CX300 & wsmouse



やないです。

<200010190756.QAA09523@shin1.sm.sony.co.jp>の記事で 
TAKEMURA Shinさんはこう書かれたそうです。

> > で、少し調べてみたのですが、 /dev/wsmouse を open するところでおかし
> > くなっているようでした。 /dev/wsmouse は open できる状態になっている
> > のですが、 open しようとすると no such file or directory となり、その
> > あとダンマリとなります。
>
>od /dev/wsmouse0 とか、ktrace od /dev/wsmouse0 とかするとどうなるの
>でしょうか?

od /dev/wsmouse0 では何も出ません。 ktrace の方は途中で ddb に落ちてしま
いました。 ktrace.out も不完全なものしか残りません(最初の方だけしか残っ
てないです)。

# あ、それから補足ですが、 no such file ... が出るのは gdb 上で実行した時
# だけみたいです。普通に動かすと open に成功しているもよう。


こちらでもいくつかやってみました。


test.c

#include <stdio.h>
#include <fcntl.h>

#define MOUSEDEV "/dev/wsmouse0"

int
main()
{
        int fd;

        if((fd = open(MOUSEDEV, O_RDWR )) < 0) {
                perror("open:");
                exit(1);
        }
        fprintf(stderr, "open_mouse \n");
        sleep(3);

        close(fd);
        fprintf(stderr, "close_mouse \n");
}

というもの(test)を、母艦から telnet で入って動かしてみると以下の
ようになりました。telnet で動かすと ddb に落ちてくれるようです。

---- ここから ----
Oct 20 00:17:31 twiggy /netbsd: ../../../../arch/hpcmips/vr/vrpiu.c(223): vrpiu_enable()
Oct 20 00:17:32 twiggy /netbsd: AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE1 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE1 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE1 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: 0168 02b4 0000 0000
Oct 20 00:17:32 twiggy /netbsd: 360   0 (1052    0)-> -1 673->   0  169

○ここで ddb に落ちる。

	0168 02b4 0000 0000
	360   0 (1052    0)->Stopped in test at     0x80194868:       li      at,-1

○ test を kill して continue

Oct 20 00:17:32 twiggy /netbsd: Touch state=Standby AutoStop AutoStart Coordinate Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1 PAGE0 DLOST
Oct 20 00:17:32 twiggy /netbsd: ../../../../arch/hpcmips/vr/vrpiu.c(272): vrpiu_disable()
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1 PENCHG
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=PenDataScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE1 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=0 PAGE0
Oct 20 00:17:32 twiggy /netbsd: Touch state=IntervalNextScan AutoStop AutoStart Coordinate SeqEn Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1
Oct 20 00:17:32 twiggy /netbsd: 0136 02e6 0000 0000
Oct 20 00:17:32 twiggy /netbsd: 310   0 (1052    0)-> -1 722->   0  184

○ 再度 ddb に落ちる。

	0136 02e6 0000 0000
	310   0 (1052    0)->Stopped in test at      0x80194868:       li      at,-1

○ test を kill して continue


Oct 20 00:17:32 twiggy /netbsd: Touch state=Standby AutoStop AutoStart Coordinate Reset
Oct 20 00:17:32 twiggy /netbsd: vrpiu_intr: OVP=1 PAGE1 PAGE0 DLOST

○ shell に戻ってくる。
---- ここまで ----

毎回 li at,-1 というところで落ちてますが、これは

	http://www.jp.netbsd.org/ja/JP/ml/port-hpcmips-ja/200007/msg00117.html

での落ち方に似ている・もしくは同じなんじゃないかな、と思いました。

で、 objdump -d netbsd して見たところ、 dev/mra.c mra_Y_AX1_BX2_C() 
のようでした。ためしに return -1; となってるところを return 0; にし
てみたところ、テストプログラムが最後まで実行されました。

# けど、 Xhpc や MGL2 動かすと固まります。 ddb にも落ちません。


> > あと CX300 のカーソルキー左右が逆になっているようでした。 keymap 入れ
> > 換えたら正しくなったです。
>
>修正しておきました。
>私の手元ではテストはできないですが...

どうもありがとうございます。ソースもらってきてためしてみます。
ただ今までにこういう話出てなかったので、ちょっと不安ではあります...

# もしかしてうちだけなんじゃあ...という。


--
柳井 裕之(やないひろゆき)  Hiroyuki Yanai
fk200329@fsinet.or.jp