2008年6月30日月曜日

Core 2 Duo E8400とASUS P5Qに、ためしにFreeBSD 8.0-CURRENT-200806をインストール ~ いまいち

この前買ってきた自作パソコン

Core 2 Duo E8400とASUS P5Q ~ 仮組み立て中

これを、ようやくケースに収めて、古いパソコン(AMD AthlonXP 1900+だった…)と入れ替えました。



そして、ためしにFreeBSDをインストール!



P5Qは新しいマザーボードなので、どうせなら新しいFreeBSDをインストールしたほうがいいに決まっているので、7.0-RELEASEではなく、snapshot版をインストールすることにしました。



ここから

ftp://ftp.jp.freebsd.org/pub/FreeBSD/snapshots/200806

ISOイメージファイルをダウンロードできます。



とりあえず、7.0-STABLEにしておこうと思って、



ftp://ftp.jp.freebsd.org/pub/FreeBSD/snapshots/200806/7.0-STABLE-200806-i386-disc1.iso



をダウンロード。ちなみに、ファイル名に「amd64」と書いてあるのは、Linux方面だとx86_64と表記されることもある64bit版のことで、これも使えるはずなのですが、うちでは64bitにしてもメリットがないので(デメリットならある)、「i386」を選択。



ISOイメージファイルを、CD-RWに焼いて、CDでブートし、インストールしようと思ったら・・・CDドライブ(DVDドライブ)が認識されてませんでした。ありゃ。



ということで、だめでもともと、



ftp://ftp.jp.freebsd.org/pub/FreeBSD/snapshots/200806/8.0-CURRENT-200806-i386-disc1.iso



の、8.0-CURRENTに急遽、変更。



しかし、同様に、DVDドライブが認識されてません。



インストーラが起動するまでの間は、BIOSに力を借りてCDからデータを読み出せるので、そのおかげでインストーラが起動します。しかし、そのあと、FreeBSDのカーネルで動きだした後は、FreeBSDで対応しているハードウェアしか利用できないのです。



こういう仕組みになっているので、CDでブートするのにCDが認識されない、ということは、たまによくある(?)現象なんだと思います。



まあいいや、ネットワークインストールでやればいい・・・と思ったら、ネットワーク(イーサネット・デバイス)も認識されてません。



イーサネットが認識されない、という事態は、実は、ありそうだな~、と覚悟はしてました。というのも、最近のASUSのマザーボードでよく使われている、オンボードなイーサネットは、FreeBSDではまだサポートされていないことがあるんです。



さて、ここでインストールをあきらめるのも悔しいので、ファイルをUSBメモリにコピーして、CDでブートし、ファイルの配布元にDOSパーティション(USBメモリ)を選んで、インストールしてみました。





まあ、そうやってインストールはできたんですが、ネットワークにつながっていないFreeBSDってのは、何の役にもたちませんなぁ・・・





ここ1年くらいの間ASUSのマザーボードにのっているイーサネットは、実は、ごく最近、FeeBSDにcommitされたばかりの「age」というドライバで、運がよければ対応してる、という話を、知ってはいました。



でも、そのageのアナウンス・メールでは、パフォーマンスがでないとか、完成度はまだまだっぽい話も書かれていたので、あまり期待はしてませんでした。



私自身、Core 2 Quad Q6600なFreeBSD 7-STABLEマシンも使っているのですが、これもASUSのマザーボードで、問題のイーサネット・デバイスなため、わざわざネットワークカードをつけて使っています。



(cvswebで、ageのソースコードを見られます)



http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/age/





さて、P5Qの場合ですが、結局、ageでも認識されませんでした。



ちなみに、pciconf -l -vでは、こんな感じ。



none3@pci0:2:0:0: class=0x020000 card=0x82261043 chip=0x10261969 rev=0xb0 hdr=0x00
    vendor     = 'Attansic (Now owned by Atheros)'
    class      = network
    subclass   = ethernet



ソースコードを見ると



http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/age/if_agereg.h?rev=1.1&content-type=text/x-cvsweb-markup



/*
* Attansic Technology Corp. PCI vendor ID
*/
#define VENDORID_ATTANSIC  0x1969



/*
* Attansic L1 device ID
*/
#define DEVICEID_ATTANSIC_L1  0x1048



とあるので、1048と1026の違いかなぁ?という気がします。
…よくわかりませんが(笑)





DVDドライブが認識されない件ですが、使えないと困るんだ!、っていう気持ちもないので、あまりよく調べていません。まあそれは、上のネットワークの件も同じですけど。あくまでも、ためしにインストールしてみた、というだけでして…



DVDドライブは、昔ながらのP-ATAなインターフェイスのを使っています。



P5Qには、S-ATAのコネクタがたくさんついていますが、P-ATAなコネクタは1つしかありません。



どうもこのP-ATAなコネクタは、このデバイスっぽいです。



atapci0: <Marvell ATA controller> port 0xec00-0xec07,0xe880-0xe883,0xe800-0xe807,0xe480-0xe483,0xe400-0xe40f mem 0xfeaffc00-0xfeafffff irq 16 at device 0.0 on pci3
atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0xe400
atapci0: [MPSAFE]
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0xec00
atapci0: Reserved 0x4 bytes for rid 0x14 type 4 at 0xe880
ata2: reset tp1 mask=03 ostat0=50 ostat1=50
ata2: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
ata2: stat1=0x50 err=0x01 lsb=0x00 msb=0x00
ata2: reset tp2 stat0=00 stat1=50 devices=0x10002
ata2: [MPSAFE]
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0xe800
atapci0: Reserved 0x4 bytes for rid 0x1c type 4 at 0xe480
ata3: reset tp1 mask=03 ostat0=7f ostat1=7f
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat0=0x7f err=0xff lsb=0xff msb=0xff
ata3: stat1=0x7f err=0xff lsb=0xff msb=0xff
ata3: reset tp2 stat0=ff stat1=ff devices=0x0
ata3: [MPSAFE]
ata3: [ITHREAD]



P-ATAのコネクタには、DVDドライブと、ハードディスクの2つを接続していますが、両方とも認識されていません。masterとslaveをひっくり返すとうまくいくとか、BIOSメニューの何かを変更すると認識される、などあるかもしれませんが、試していません…使うつもりはないので…(笑)



pciconfではこれみたいです。



atapci0@pci0:3:0:0: class=0x01018f card=0x82e01043 chip=0x612111ab rev=0xb2 hdr=0x00
    vendor     = 'Marvell Semiconductor (Was: Galileo Technology Ltd)'
    device     = '6121 SATA2 Controller'
    class      = mass storage
    subclass   = ATA



atacontrol listはこんな感じ。ATAコントローラは認識されているけど、ドライブが認識されない、という状況みたいです。



ATA channel 0:
    Master:      no device present
    Slave:       no device present
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:      no device present
    Slave:       no device present
ATA channel 3:
    Master:      no device present
    Slave:       no device present
ATA channel 4:
    Master:  ad8 <WDC WD5000AACS-00ZUB0/01.01B01> Serial ATA II
    Slave:       no device present
ATA channel 5:
    Master:      no device present
    Slave:       no device present
ATA channel 6:
    Master:      no device present
    Slave:       no device present
ATA channel 7:
    Master:      no device present
    Slave:       no device present





以上のほかに、いまいち!と思ったのは、Intel Enhanced SpeedStepがちゃんと認識できなかった、ということ。



こんな感じなんですが、



CPU: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz (2999.67-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x10676  Stepping = 6
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x8e3fd<SSE3,RSVD2,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,<b19>>
  AMD Features=0x20100000<NX,LM>
  AMD Features2=0x1<LAHF>
  Cores per package: 2



Instruction TLB: 4 KB Pages, 4-way set associative, 128 entries
1st-level instruction cache: 32 KB, 8-way set associative, 64 byte line size
1st-level data cache: 32 KB, 8-way set associative, 64 byte line size
L2 cache: 6144 kbytes, 16-way associative, 64 bytes/line



こうなります。



est1: <Enhanced SpeedStep Frequency Control> on cpu1
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 61a092006000920







というわけで、現状、このハードウェアでFreeBSDを使うのは、いまいちかな、って感じです。



テストユーザーとして動作テストに協力するくらいのことは、よろこんでしますけど…。





(参考までに) Windows XPのデバイスマネージャでの表示



20080629







(2008-07-05)



なんとなく、USBなLANアダプタを使って、cvsup (csup)して、make buildworld buildkernel ...して、最新のCURRENTにしてみました。
が、LANも、estも、P-ATAも使えてません。



LANについては、もしかしてこれが使えるかも?



http://docs.freebsd.org/cgi/getmsg.cgi?fetch=359499+0+archive/2008/freebsd-current/20080629.freebsd-current



と思ったんですが、ためしてません。このデバイスドライバのソースコードを見たら、



/*
* Supported chips identifiers.
*/
#define VENDORID_ATTANSIC       0x1969
#define DEVICEID_ATTANSIC_L2    0x2048



と書いてあって、DEVICEIDが違うので。



ちなみに、scanpci -vだと、こんな感じ。



pci bus 0x0002 cardnum 0x00 function 0x00: vendor 0x1969 device 0x1026
Attansic Technology Corp.  Device unknown
CardVendor 0x1043 card 0x8226 (Card unknown)
  STATUS    0x0010  COMMAND 0x0007
  CLASS     0x02 0x00 0x00  REVISION 0xb0
  BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x08
  BASE0     0x00000000fe9c0004  addr 0x00000000fe9c0000  MEM 64BIT
  BASE2     0x0000dc01  addr 0x0000dc00  I/O
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x11
  BYTE_0    0x01  BYTE_1  0x48  BYTE_2  0x02  BYTE_3  0xc0





(2008-07-05 その2)



ためしに、if_ageのソースコードを変更して、DEVICE IDを0x1026にしてみました。



認識されたんですが、実際に通信しようとすると、watchdog timeoutとかなんとか出て、使えませんでしたが。



Linux方面はどうなのかと思って、カーネルソースをのぞいてみたところ



linux-2.6.25.10//drivers/net/atl1



では、どうやら対応していなそうです。ネット検索してみると、動きません報告がちらほら。動くという人もいるけど、どうやら、ASUS P5Qシリーズの中の一部のモデルは、別のネットワークのコントローラを使っているようで、それなら動くらしい。



さらに探してみると、ドライバがメーリングリストに投稿されているようです。





ふむ、もうちょっと時間がかかりそうです。



ところで、P5Qシリーズでは、Express Gateっていう、電源入れるとすぐブラウザが使える機能があって、これはLinuxを使って実現しているそうなんですが、これではネットワークが使えてるんですけどね・・・






(2008-11-14)



ごくごく最近のFreeBSD 8.0-CURRENTにて、aleというドライバで、P5Qのオンボードのイーサネット(Attansic L1E / Atheros L1E)が使えるようになりました。






0 件のコメント:

コメントを投稿