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

Re: L-router



suz@hpc.bs1.fc.nec.co.jp writes:
> 1 つは、fxp の mac アドレスの件。ifconfig かなにかで mac adress を 再設定
> する手段ってあるのでしょうか?

ドライバのソースを眺めた限りではなさそうですが......

一般性がないのでcommitしていないのですが、以下のようにドライバにパッチを
当てると標準のフォーマットでないL-RouterのEEPROMの内容が読めるようになり
ます。(カーネルコンフィグファイルにoptions FXP_EEPROM_SPEC_FORMATを足す
と有効になります。)

Index: i82557.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/ic/i82557.c,v
retrieving revision 1.61
diff -u -r1.61 i82557.c
--- i82557.c	2001/11/13 13:14:38	1.61
+++ i82557.c	2001/12/16 02:33:54
@@ -570,6 +570,17 @@
 	/*
 	 * Read MAC address.
 	 */
+#ifdef FXP_EEPROM_SPEC_FORMAT
+	fxp_read_eeprom(sc, &myea[0], 0, 1);
+	fxp_read_eeprom(sc, &myea[1], 2, 1);
+	fxp_read_eeprom(sc, &myea[2], 4, 1);
+	enaddr[0] = myea[0] & 0xff;
+	enaddr[1] = myea[0] >> 8;
+	enaddr[2] = myea[1] & 0xff;
+	enaddr[3] = myea[1] >> 8;
+	enaddr[4] = myea[2] & 0xff;
+	enaddr[5] = myea[2] >> 8;
+#else
 	fxp_read_eeprom(sc, myea, 0, 3);
 	enaddr[0] = myea[0] & 0xff;
 	enaddr[1] = myea[0] >> 8;
@@ -577,6 +588,7 @@
 	enaddr[3] = myea[1] >> 8;
 	enaddr[4] = myea[2] & 0xff;
 	enaddr[5] = myea[2] >> 8;
+#endif
 }
 
 /*


> もう1つは、make すると、gcc の cc1 が 
> 
> /uipc_socket2.c:550: internal error--unrecognizable insn:
> (call_insn 193 191 195 (parallel[ 
>             (call (mem:SI (symbol_ref:SI ("sbcompress")))
>                 (const_int 16))
>             (clobber cc: Internal compiler error: program cc1 got fatal signal 11
> 
> とか いろんなところでコケます。エラーメッセージは、
> いつも同じじゃなくて 何回かやれば コンパイルが通ることもあります。

IDE HDDを使った場合だと仮定します。

同じ現象は記憶にないのですが、IDEのPIO modeを4にすると不可解なカーネル
panicが発生していました。PIO mode 3だと発生しなくなったので、それ以上は
追及していません。

コンフィグファイルを変更して、PIO mode 2とか4とかに変えてみると症状が変
わるかもしれません。(wd* at pciide?のflagsを変更する。)

篠原