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

[plamo:13985] Re: ネットワークカードのMACアドレス



岩佐@アルファシステムズ です。

  生半可者のたわごとですが... m_o_m

> 新木です。
> 
> Plamo 2.2.1 + Kernel 2.4.18 の上で dhcpd 3.0p1 を使用しています。
> 
> この DHCP サーバに別の PC(hoge とします)から接続したときに、
> OS が Linux か Win2000 かで振られる IP が変わってしまいます。
> hoge のネットワークカードは NETGEAR FA310TX Fast Ethernet Adapter です。
> Linux 上のドライバは tulip.o です。

> ・Linux の時
> 
> lease 192.168.1.252 {
>   starts 3 2002/05/15 01:02:42;
>   ends 3 2002/05/15 07:02:42;
>   binding state active;
>   next binding state free;
>   hardware ethernet 02:00:08:e3:f6:7d;
>   uid "\001\002\000\010\343\366}";
> }                                        ← client-hostname がない
> 
> これによって別の IP が振られてしまうと思うのですが、
> この現象は何に原因があるのでしょう?

  ドライバがこのNICに対応していないのではないでしょうか?



  で、FreeBSDのif_dc.cによれば、Lite-On 82C168は、EEPROMを読
む場合、2byte word単位に上位/下位をswapしてやらなければなら
ないようです。
    #  82C168の時には、ntohsとかしているようで(^_^;

  Linux2.4系のtulipの場合、tulip_core.cに

Linux2.4.17/tulip_core.c: 1610行より
|         /* Lite-On boards have the address byte-swapped. */
|         if ((dev->dev_addr[0] == 0xA0  ||  dev->dev_addr[0] == 0xC0)
|                 &&  dev->dev_addr[1] == 0x00)
|                 for (i = 0; i < 6; i+=2) {
|                         char tmp = dev->dev_addr[i];
|                         dev->dev_addr[i] = dev->dev_addr[i+1];
|                         dev->dev_addr[i+1] = tmp;
|                 }

という、ぼくの理解が正しければ個人的には目が点になるような(-_-#
対応が入っているようです。
    #  最低でも、もう1octetみるものではないのかなぁ...
  多分、MACアドレスをみてswapするか決めている(Lite-OnのMACは、
00:A0:CCなので、それを見ている?)と思うのですが、00:02:e3は入っ
ていないようですよね。


  試してはいないのでなんですが、このif()の中を、

    1. 多分、chip_idx == LC82C168 になっているので、
          if (chip_idx == LC82C168)
              for(i = 0; i <.....
      のように書き換える。

    2. 力業で、
          if (((dev->dev_addr[0] == 0xA0  ||  dev->dev_addr[0] == 0xC0)
                  &&  dev->dev_addr[1] == 0x00) ||
              (dev->dev_addr[1] == 0x00 && dev->dev_addr[0] == 0x00 && dev->dev_addr[3] == 0xe3))
              for(i = 0; i <.....
      のように書き換える。

などとして、うまく行くかどうか試してみると、もしかしたら良い
のかもしれないです。
    #  でも、あんまり自信無いです m_o_m

--- Think Diffident ----------------------------------------
                                            uaitne.

Follow-Ups
[plamo:13986] Re: ネットワークカードのMACアドレス, T.Nikki
References
[plamo:13981] ネットワークカードのMACアドレス, T.Nikki

[検索ページ] [メール一覧]
Plamo ML 公開システム