ソースCDが届いたので、atherosのドライバ関連を調べてみる。
ath-wlan-5.3.0.13.tar.gzがファイル名からして、それっぽいのでそれから調べてみるが、こちらには、ath_pci.o のソースらしきものは見つからず。
もしやと思い、linuxのソースを調べてみると、drivers/vr/madwifi/madwifi/ath/ の下にあった。
でも、おかしい。ソースコードには、それらしき場所は、
{ 0x168c, 0x0013, PCI_ANY_ID, PCI_ANY_ID },
{ 0xa727, 0x0013, PCI_ANY_ID, PCI_ANY_ID }, /* 3com */
{ 0x10b7, 0x0013, PCI_ANY_ID, PCI_ANY_ID }, /* 3com 3CRDAG675 */
{ 0x168c, 0x1014, PCI_ANY_ID, PCI_ANY_ID }, /* IBM minipci 5212 */
{ 0x168c, 0x101a, PCI_ANY_ID, PCI_ANY_ID }, /* some Griffin-Lite */
{ 0x168c, 0x0015, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x0016, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x0017, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x0018, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x0019, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x001a, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x001b, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x001c, PCI_ANY_ID, PCI_ANY_ID }, /* PCI Express 5424 */
{ 0x168c, 0x001d, PCI_ANY_ID, PCI_ANY_ID }, /* PCI Express ??? */
{ 0 }
と、対応のカードのリストが全部並んでいるのに、ath_pci.o の方には、
{ 0x168c, 0x001b, PCI_ANY_ID, PCI_ANY_ID },
に対応する行しかみつかない。
この配列の直前部分の 50byte分くらいは 00 で埋まっている。
ソースコードは『修正後』のもののはずなのに、ソースは修正した痕跡がない。
objectに直接 binary patch を当てたのだろうか?
object の方だと、
{ 0x168c, 0x001b }
{ 0x1021, 0x1010 }
{ 0x168c, 0x001b }
{ 0x168c, 0x1062 }
{ 0 }
もし推測が当っているなら、00で埋まっている部分を元に戻せばいいだけなのだけれど。
---
OKIが納入したものを、NTTが修正したという可能性もあるなぁ。
[互換カードが使える/使えないは、OKIにとってはどうでもいいことだし]
---
[追記]気になるのは、ver 1.06.0001の atheros のドライバは、ar5drv.o で、このファイル名の5.3.0.13にも符号しているのだけれど、6.30.0018 のドライバは ath_pci.o というまったく別の系列の名前が付いていること。ドライバの大きさも、一方は1MB近くあるし、一方は100KB強しかないし、てっきり 1.x 系と 6.x 系は違う系列のソースかと思っていたのだけれど、担当者は 6.30のものだとはっきり言っているんだな。もしかしたら、いろいろなバージョンのソースが混ざっているのかもしれない。
busyboxが二つ異なるバージョンのソースがあるのも不自然だし。( wgetは、実際に wgetとwget19の両方があるのだけれど。)
0 件のコメント:
コメントを投稿