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

Re: L-router



鈴木(康)です。
<10202160629.AA23102@lachesis.sm.sony.co.jp>の記事において
shin@sm.sony.co.jpさんは書きました。

  | suz@hpc.bs1.fc.nec.co.jp writes:
  | > 1 つは、fxp の mac アドレスの件。
  | > ifconfig かなにかで mac adress を 再設定
  | > する手段ってあるのでしょうか?
  | 
  | ドライバのソースを眺めた限りではなさそうですが......
  | 
  | 一般性がないのでcommitしていないのですが、以下のようにドライバにパッチを
  | 当てると標準のフォーマットでないL-RouterのEEPROMの内容が読めるようになり
  | ます。(カーネルコンフィグファイルにoptions FXP_EEPROM_SPEC_FORMATを足す
  | と有効になります。)

情報ありがとうございます。これあてれば良いわけですね。

ちなみに、ifconfig では、そういうことはサポートしていないようです。

ちょっと調べたことを 書いておきます。

ドライバでは、MAC アドレスを 1 回だけ fxp_get_info でみて、

    ether_ifattach(ifp, enaddr)

しているだけなので、変更できるとすれば、共通のモジュールだと思いました。

ether_ifattach() は、net/if_ethersubr.c にあるので、それを見ると

   memcpy(LLADDR(ifp->if_sadl), lla, ifp->if_addrlen);

こうやって設定しています。

同じように設定しているものを探したら

ether_ioctl() の SIOCSIFADDR にいきあたりました。

でも ifconfig では、SIOCSIFADDR は使われていない。

  | > もう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を使った場合だと仮定します。

そうです。2.5 inch の IDE HDD を直付けしました。

  | 同じ現象は記憶にないのですが、IDEのPIO modeを4にすると不可解なカーネル
  | panicが発生していました。PIO mode 3だと発生しなくなったので、それ以上は
  | 追及していません。
  | 
  | コンフィグファイルを変更して、PIO mode 2とか4とかに変えてみると症状が変
  | わるかもしれません。(wd* at pciide?のflagsを変更する。)

PIO mode 2,3,4 って何?とかいう状態なので、そこから調べてみます。

実をいうと、この状態で 立ち上げたまましばらく放置しておいたら、
ROM が壊れてしまって、起動できなくなってしまいました。

# カーネルを make しようとして、なんどもリトライしたのが
# まずかったみたい。

また、買うつもりではあるんですが...
簡単に壊れるとなると怖いです。

# バグでは決して壊れないようにできるか、壊れても復旧する手段があれば
# 良いのですが ...

--
					鈴木 康司 @NECソリューションズ
					suz@hpc.bs1.fc.nec.co.jp
					TEL 042-333-6465