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

Re: F2 get power and date off (Re: iBook/sleep ?)



>                                            千葉市中央区長洲
>                                                    藤原  誠
藤原> F2 をたたくと、以前に報告したままが起きます。

<E14kSdI-0003UW-00@ruri.iri.co.jp> の記事の中で
椿井さん> 私にはどうしても起こせないんですよねー、これ。
椿井さん> 変なコマンドを送ってるか、バイト列を送っている途中でアンダーラン
椿井さん> してるか、どちらかだとは思うのだけど。

良く分っていないながら、abtn.c に printf を入れて、F1 とか F2 
をたたいて見ました。

添付 1 
F2 をいくつか打って、数字が大きくなる前にやめて
F1 を沢山打って、数字を小さくしておいて
F2 を打
っても落ちてしまう例。

添付 2 abtn.c の変更内容

・僕は 数字が大きくなるのが問題かなと思って、6d 以上には
ならないように制限したつもりだが制限が効いていない。
(僕の変更がおかしいのか)

・数字が小さい時でも一回 F2 を打つだけで落ちてしまう。
・F1 はいくつ打っても問題ない。0x08 で止っている。
  (更に打っていたら 一度 db> に落ちてしまったこともあるが)

・cmd として 0x09 0x0a 以外に 0x89 0x8a という字が見えて
 いるが、これは何 ?
いくつか F2 を打ってから F1 を沢山たたいて、数字を小さくしておいて、
その後に F2 を一回打っても、やはり落ちる。

Apr  8 05:48:33 nazuha /netbsd: abtn0: cmd(09)
Apr  8 05:48:33 nazuha /netbsd: abtn0: brightness(5d)
Apr  8 05:48:33 nazuha /netbsd: abtn0: cmd(89)
Apr  8 05:48:35 nazuha /netbsd: abtn0: cmd(09)
Apr  8 05:48:35 nazuha /netbsd: abtn0: brightness(65)
Apr  8 05:48:35 nazuha /netbsd: abtn0: cmd(89)
Apr  8 05:48:36 nazuha /netbsd: abtn0: cmd(09)
Apr  8 05:48:36 nazuha /netbsd: abtn0: brightness(6d)
Apr  8 05:48:36 nazuha /netbsd: abtn0: cmd(89)
Apr  8 05:48:37 nazuha /netbsd: abtn0: cmd(09)
Apr  8 05:48:37 nazuha /netbsd: abtn0: brightness(75)
Apr  8 05:48:37 nazuha /netbsd: abtn0: cmd(89)
Apr  8 05:48:39 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:39 nazuha /netbsd: abtn0: brightness(6d)
Apr  8 05:48:39 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:39 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:39 nazuha /netbsd: abtn0: brightness(65)
Apr  8 05:48:39 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:40 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:40 nazuha /netbsd: abtn0: brightness(5d)
Apr  8 05:48:40 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:40 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:40 nazuha /netbsd: abtn0: brightness(55)
Apr  8 05:48:40 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:40 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:40 nazuha /netbsd: abtn0: brightness(4d)
Apr  8 05:48:40 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:41 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:41 nazuha /netbsd: abtn0: brightness(45)
Apr  8 05:48:41 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:42 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:42 nazuha /netbsd: abtn0: brightness(3d)
Apr  8 05:48:42 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:42 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:42 nazuha /netbsd: abtn0: brightness(35)
Apr  8 05:48:42 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:43 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:43 nazuha /netbsd: abtn0: brightness(2d)
Apr  8 05:48:43 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:44 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:44 nazuha /netbsd: abtn0: brightness(25)
Apr  8 05:48:44 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:44 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:44 nazuha /netbsd: abtn0: brightness(1d)
Apr  8 05:48:45 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:45 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:45 nazuha /netbsd: abtn0: brightness(15)
Apr  8 05:48:45 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:45 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:45 nazuha /netbsd: abtn0: brightness(0d)
Apr  8 05:48:45 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:45 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:45 nazuha /netbsd: abtn0: brightness(08)
Apr  8 05:48:45 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:46 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:46 nazuha /netbsd: abtn0: brightness(08)
Apr  8 05:48:46 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:46 nazuha /netbsd: abtn0: cmd(0a)
Apr  8 05:48:46 nazuha /netbsd: abtn0: brightness(08)
Apr  8 05:48:46 nazuha /netbsd: abtn0: cmd(8a)
Apr  8 05:48:47 nazuha /netbsd: abtn0: cmd(09)
Apr  8 05:48:47 nazuha /netbsd: abtn0: brightness(10)
Apr  8 05:48:47 nazuha /netbsd: abtn0: cmd(89)
--- sys/arch/macppc/dev/abtn.c-ooo	Tue Jul 13 02:48:26 1999
+++ sys/arch/macppc/dev/abtn.c	Sun Apr  8 05:26:01 2001
@@ -104,20 +104,23 @@
 	u_int cmd;
 
 	cmd = buffer[1];
+	printf("abtn0: cmd(%02x)\n",cmd);
 
 	switch (cmd) {
 	case 0x0a:
 		sc->brightness -= 8;
 		if (sc->brightness < 8)
 			sc->brightness = 8;
+		printf("abtn0: brightness(%02x)\n",sc->brightness);
 		pm_set_brightness(sc->brightness);
 		pm_write_nvram(NVRAM_BRIGHTNESS, sc->brightness);
 		break;
 
 	case 0x09:
 		sc->brightness += 8;
-		if (sc->brightness > 0x78)
-			sc->brightness = 0x78;
+		if (sc->brightness > 0x6d)
+			sc->brightness = 0x6d;
+		printf("abtn0: brightness(%02x)\n",sc->brightness);
 		pm_set_brightness(sc->brightness);
 		pm_write_nvram(NVRAM_BRIGHTNESS, sc->brightness);
 		break;

---
(藤原)