[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