2010年4月28日水曜日

NTTのGPL違反 ( その3 )

ソース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 件のコメント:

コメントを投稿