• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ドライバをソースからインストールする方法について)

ドライバをソースからインストールする方法について

このQ&Aのポイント
  • Vine LinuxでPROMISE FastTrak SX4100を使用できるようにする方法
  • Vine Linux用のPROMISE FastTrak SX4100のドライバが見つからない場合の対処法
  • ソースコードからドライバをインストールする方法

質問者が選んだベストアンサー

  • ベストアンサー
  • A1200hd40
  • ベストアンサー率51% (336/647)
回答No.13

古いハードウェアです。 動いたとしても、速度を期待してはいけないカードであることは、覚えておいてください。 「カード内にキャッシュメモリを持った」、PATA/SATAのブリッジカードですが、基本的には、PATAカードのように振る舞います。 (atawiki参照。) ASUS版のA8V-Deluxeのマニュアルの、 4-24 Chapter 4: BIOS Setup 4.4.3 Onboard Devices Configuration の部分をご覧ください。 オンボードのpromiseチップのRAID機能のトグルが出来るはずです。 競合する可能性が有りますので、これを[Diable]にして、無効化してください。 それから、前回の自分の回答の中のFastTrakのマニュアルのFAQ部分に、こういう記述が有ります。 What it the maximum disk drive storage capacity of FastTrak SX4100? FastTrak SX4100 supports up to 1.5 TB (four 400 GB disk drives). FastTrak SX4100でのディスクドライブの最大容量は? FastTrak SX4100は、最大1.5TBまでサポートします。(400GBドライブx4台) How can I change the resources that the FastTrak uses? FastTrakの使うリソースの変更はどうやりますか? The FastTrak SX4100 is fully PnP. This means all the resources that it uses are given to it by the PnP BIOS on the motherboard. The FastTrak SX4100は、完全プラグ&プレイ(対応)です。 これは、それが使うすべてのリソースは、マザーボードのプラグ&プレイBIOSによって渡されることを意味します。 The FastTrak Controller supports IRQ sharing, but this feature only works when ALL the concerned devices support it. FastTrakコントローラは、IRQ共有をサポートしますが、この機能は、認識されたデバイスが、「すべて」、それ(IRQ共有)をサポートする場合に限ります。 If your motherboard allows you to control the assignment of these resources, you may be able to remedy the problem by: マザーボードがそれらのリソースの制御を設定可能にしている場合、この様な手段で、問題に対処することが出来ます。 Changing the IRQ assignments to the PCI slots in the motherboard BIOS during boot up. ブート時の各PCIスロット(上のデバイス)のIRQ割り当てを変更する。 Reset the configuration data in your CMOS. CMOS(BIOS)の設定データをリセットする。 This is usually an option in the PnP section of your CMOS. これは、普通、CMOS(BIOS)の、PnP(プラグ&プレイ)セクションの中にあるオプションです。 Otherwise, switch the FastTrak Controller card to a different PCI slot. あるいは、FastTrakコントローラカードを、別のPCIスロットに差し替えてみる。 最大容量を越えていないか、IRQの競合は発生していないか、確認が必要です。 それと、情報を掘っていて気になった事が有ります。 ご相談のカードが、Promiseの製品版だった場合は問題有りませんが、NEC製品向けOEM"N8103-89"だった場合、制限事項が有ります。 http://support.express.nec.co.jp/pcserver/detail.php?options=467 これに該当する場合、コントローラカードのBIOSが、「JBODに対応せず」、ブートドライブ指定以外受け付けず、Windows以外に対応しないことになります。 NECが、縛りの緩いBIOSを出していてくれて居れば良いのですが、そうでない場合・・・。 こうなると、カードを潰す覚悟でカードのBIOSを「本家版へ書き換える」事に挑戦する くらいしか方法が思いつきません。 ・・・Linuxと関係ない話になって来ましたね。

jun_jii
質問者

お礼

>これに該当する場合、コントローラカードのBIOSが、「JBODに対応せず」、ブートドライブ指定以外受け付けず、Windows以外に対応しないことになります。 ・・・まさにこれっぽいですね、説明書通りにやっているのにJBODが表示されないのはおかしいと思いました。 ヤフオクで購入したのですが、説明書きもほとんどなくNEC製品向けかどうかはわかりませんが、OEMの場合に制限がある場合があるとは知りませんでした・・・てっきりネットで見つけた説明書通りかと思って購入したのですが・・・ まぁ~ある意味ホッとしました。ここ数日これについての検索とPCの再起動ばかりしていて疲れました。σ(^◇^;)ヒヤアセ このカードは、放置します。 新たなSATAカードを購入してソフトウェアレイドを構築しようと思います。 この度は親切丁寧に本当にありがとうございました。 (_ _(--;(_ _(--; ペコペコ

その他の回答 (12)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.12

今までの回答をちゃんと理解されてるのか私には怪しく思えてきてるんですけど・・・ >・・・ところで、このカードにHDDを接続しない状態で起動して >modprobe sata_sx4 >を実行すれば、カードだけなら認識するはずなのでしょうか? カード自体は認識されてると#10の方が何度も書かれていると思いますが? ドライバを読み込めばカードが使える状態になってるかどうかという事であればなってます。 HDDが接続されてないとそれを実際に動かして確認する手段がないというだけです。 >また、ドライバを読み込んでカードを正しく認識しているというのはどのようなコマンドで確認できるのでしょうか? dmesgで確認してください。と書きましたが。 >・・・他メーカーのRAIDカードでも有名ではないLINUXの場合は、ドライバが無くてSATAカードとしてのものになってしまうのでしょうか? カーネルのバージョン違いはあれど基本的には有名だろうか無名だろうが基本的には同じものです(そもそもlinuxというのはカーネルの名前だし)。 なので有名無名なんてのは関係ありません。 製造メーカーが対応する気があるのか、ないならないでそのインターフェイスの(ドライバが作れるだけの)仕様を公開してくれるのか、どうかです。

jun_jii
質問者

お礼

>ドライバを読み込めばカードが使える状態になってるかどうかという事であればなってます。 >dmesgで確認してください。と書きましたが。 A1200hd40様の下記の書き込みのより理由がわかりました。 「・・・これに該当する場合、コントローラカードのBIOSが、「JBODに対応せず」、ブートドライブ指定以外受け付けず、Windows以外に対応しないことになります。」 ですので、ドライバを読み込んでもカードが使える状態にはならなかったようです。また、dmesgで確認もできなかったようです。 >カーネルのバージョン違いはあれど基本的には有名だろうか無名だろうが基本的には同じものです 他メーカーのRAIDカードを少し調べたら、Red Hatなどはメーカーページでドライバがダウンロードできるようでしたのでお聞きしました。 今回は、ありがとうございました。 いい勉強になりました。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.11

とりあえずドライバが読み込まれてデバイスにアクセスできる状態になってるかは dmesg などで確認してみてください。 出力される情報量多いので大変かもしれませんが。 FreeBSDのドライバだとPDC20621は他のPromiseのSATAドライバと同じドライバなのでそれほど特殊ってわけでもないような(FreeBSDでもSATAコントローラとしてしか使えません)。

jun_jii
質問者

補足

dmesgにはやはりなかったです。 現在は、JBODの設定ができす、SATAコントローラとしての機能も使えない状態です。 ・・・ところで、このカードにHDDを接続しない状態で起動して modprobe sata_sx4 を実行すれば、カードだけなら認識するはずなのでしょうか? また、ドライバを読み込んでカードを正しく認識しているというのはどのようなコマンドで確認できるのでしょうか?

  • A1200hd40
  • ベストアンサー率51% (336/647)
回答No.10

>起動後にlspciを実行して既に表示されるということは、sata_sx4を読み込まなくても良いということでしょうか? lspciは、システムに対し、「そこ(pci)に何が見えますか?」と、聞いているに過ぎません。 ここで、きちんと「~~が見えます」という返事が返って来ないと、「このドライバを(持っている中から)探しなさい:modprobe」等、後の指示が出来ません。 この時点で、「製品かコントローラの名前」で返ってくる事は重要です。 少なくとも、「オープンソースドライバの開発側に、製品の存在は認知されている。」ことになりますから。 sata_promise https://wiki.debian.org/DeviceDatabase/PCI Promise社製品の製品は、数多く出されていますが、適用すべきドライバの数はそれほど種類がある訳では有りません。 同じドライバを用いる製品が多く存在しています。 ただ、このSX4100と、SX4-Mについては、挙動が特殊な様子なので、sata_sx4と言う、専用ドライバが必要になったのでしょう。 >元からマザーについている 参考まで、ご利用のマザーをお教え願います。 こちらがHDDのコンパチビリティリストです。 http://firstweb.promise.com/upload/Support/Compatibility/1_FastTrak%20SX4100%20HDD%20Compatibility%20List.pdf これによれば、同じコントローラを使った、SX4-Mでも、特定のキュー方式をサポートしていない旨、書かれています。 こちらがマニュアルです。 http://firstweb.promise.com/upload/Support/Manual/1_FastTrak_SX4100_User_v2.2.pdf 22ページからの、LD(論理ドライブ)の設定の項目のところをご覧ください。 不明瞭な部分については、対訳しますので、場所を指定してください。

参考URL:
http://firstweb.promise.com/upload/Support/Manual/1_FastTrak_SX4100_User_v2.2.pdf
jun_jii
質問者

補足

modprobe sata_sx4 を、実行した後はそれ以外に何もしなくても、通常なら「fdisk -l」を実行すればドライブは表示されるようになるのでしょうか? >参考まで、ご利用のマザーをお教え願います。 A8V Deluxe です。 >こちらがHDDのコンパチビリティリストです。 このリストに載っていないHDDは使用できないということでしょうか?! >こちらがマニュアルです。 マニュアルはすでに入手していてそれを見て各種設定はしたました。前回も書きましたが、14ページの3のスペースキーでRAIDレベルを選択のところで、スペースキーを押していってもJBODにならないのです。仕方ないのでRAID0でHDD4台とか1台にしてみたりとか色々試したのですが・・・ ・・・他メーカーのRAIDカードでも有名ではないLINUXの場合は、ドライバが無くてSATAカードとしてのものになってしまうのでしょうか?

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.9

>そして、現在も検索していてsata_sx4について調べていたら、違うraidカードについてでしたが、sata_sx4は、ハードウェアraidには対応していないとの書き込みがありました。Promiseのリンク先の詳細ページはエラーで見れませんでしたが、おっしゃられているのはこのことでしょうか? lspciはPCIに挿してあるデバイスを調べて表示するだけです。 ドライバのあるなしは関係ありません。 (具体的にいえばPCIデバイスにベンダーIDとデバイスIDを教えてもらって自前のデータベースを調べてるだけ) これがわかっていれば 「とFastTrak SX4100が表示され、これはもしかしてドライバは読み込んでいるということでしょうか?」という事にはならないでしょ? >・・・つまり質問が戻りましたが、結局ドライバをソースから入れるしかないという事でしょうか?・・・しかし、このソースもほかの方がおっしゃられている通り、古いカーネル用なのですが、平気なのでしょうか? Promise提供のソースを見てみましたけど肝心な部分のオブジェクトファイルでの提供なので移植は無理ですね。

  • A1200hd40
  • ベストアンサー率51% (336/647)
回答No.8

https://ata.wiki.kernel.org/index.php/Sata_sx4 このURLに、sata_sx4の詳細が説明されています。 インターフェイスは認識されています。 あとは設定です。 kernel.orgのatawikiの情報から、このドライバの制限事項として、利用できる設定は、全体をひとかたまりのディスクとして扱う、JBOD一択になります。 RAIDが必要な場合、その上で、ソフトウェアRAIDを組むことになります。

参考URL:
https://ata.wiki.kernel.org/index.php/Sata_sx4
jun_jii
質問者

補足

回答ありがとうございます。 >全体をひとかたまりのディスクとして扱う、JBOD一択になります。 なるほど、そうですか、折角買ったRAIDカードが・・・ で、JBODを試してみようと思ったのですが、説明書にはスペースキーで選択するとなっているのですが、RAIDの 0,1,5,10を繰り返すだけで JBOD が出てきません。他に設定ヶ所は無いようなのですが・・・JBODで認識できるかも現在は試せない状況です・・・何ででしょう・・・

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.7

>を実行するとlsmodでロードされたことが確認できましたが、fdisk -l をやってもやはりドライブは表示されません。 何の前置きもなく平然と「fdisk -l をやってもやはりドライブは表示されません。」といわれていますけど、質問は「ドライバをソースからインストール方法」だったのではないのですか? 質問が追加もしくは変わってますけど。 私はてっきりドライバの導入までの話だと思ってたのですが。 >あと、検索していてlspciというコマンドを見つけ試したのですが・・・ 探し出して試すのはいいことですけど、それが何をするものかも調べましょうよ・・・ man lspci で何をするコマンドなのかわかりますよね? sata_sx4のソース見てみましたけど、これLinuxではただのSATAカードとしてしか扱えないような・・・(MODULE_DESCRIPTIONに"Promise SATA low-level driver"て書いてあるのを読んだだけ)

jun_jii
質問者

お礼

申し訳ありません、ソースからについては前回の回答に書かれていましたね。 確かに厳しそうです・・・困りました・・・ ありがとうございました。

jun_jii
質問者

補足

> 何の前置きもなく平然と「fdisk -l・・・ 申し訳ありません。最初の質問時に省いてしまいました。この質問をしたのは、PC起動時にraid設定してHDDをカードが認識しているにもかかわらず、Linux起動後はOS上でfdisk -lをしてもハードディスクが表示されないので、カードのドライバがないのが原因と思い込み質問した次第です。 ですが、lspciコマンドでカード自体は認識していると知って「認識=ドライバ読み込み済み」と思ったわけです。おっしゃられる通りここで質問が変わってしまいました。 そして、現在も検索していてsata_sx4について調べていたら、違うraidカードについてでしたが、sata_sx4は、ハードウェアraidには対応していないとの書き込みがありました。Promiseのリンク先の詳細ページはエラーで見れませんでしたが、おっしゃられているのはこのことでしょうか? ・・・つまり質問が戻りましたが、結局ドライバをソースから入れるしかないという事でしょうか?・・・しかし、このソースもほかの方がおっしゃられている通り、古いカーネル用なのですが、平気なのでしょうか?

  • A1200hd40
  • ベストアンサー率51% (336/647)
回答No.6

マザーボードの起動ドライブ設定の確認をして、SCSI等、外部の機器を第一に参照するように設定してから再起動し、起動時オプション(f8キー等)で、マザーに繋がっているドライブではなく、raidカードを参照させます。 (あるいは、設定変更・セーブした時点で再起動すれば、そのままカード側biosが起動するかも知れません。) raidカード側のbiosが立ち上がったら、その設定を行ってください。 FT SX4100 (tm) BIOS Version**** と表示され、つながっているドライブの一覧が出ます。 >lspci カードは認識されています。 が、もし、これが、お使いの機械のそれ(結果出力)だとすると、raidだけで、いろいろ繋がりすぎているような気もします。 depmod -aで、つながっている機器のモジュールに対し、依存性を確認させ、更新します。 もしかすると、デバイスのエイリアス名の指定も必要になるかも知れません。 普通の機器ではこの辺までですが、起動ドライブに指定するなどで、起動に関わってくるようならば、mkinitramfsで、起動イメージを更新することになります。

jun_jii
質問者

補足

回答ありがとうございます。 起動後にlspciを実行して既に表示されるということは、sata_sx4を読み込まなくても良いということでしょうか? lsmod | grep sata としたら下記が表示されました。 sata_via sata_mv sata_promise sata_promiseあたりがそうなのでしょうか? >raidだけで、いろいろ繋がりすぎているような気もします。 おっしゃる通りなのですが、VIAとPromiseのもう一個の方は元からマザーについている、SATAx各2個のraidでVIAの方はBIOSで無効にできなくて、Promiseの方はIDE?として使用中なのです depmod -a を実行しましたが、何も表示されませんでした。 ・・・困りました

  • A1200hd40
  • ベストアンサー率51% (336/647)
回答No.5

件のカードがすでに刺さっていて、 "マザーボードのBIOS"設定で、scsiなどのカードのBIOSからの立ち上げが可能な状態に設定されていて、 なおかつ、"カード側"biosでのraid定義が済んでいる (マザーボードのBIOSが、カードに繋がったドライブを、ストレージとして認識できる状態になった) ならば、モジュールはすでに読み込まれ、 raidが単一ボリュームとして検出されている可能性が有ります。 カード、マザーボードの設定がまだなら、設定作業を行った後、起動後にlsmodで確認してみましょう。

jun_jii
質問者

補足

回答ありがとうございます。 > "マザーボードのBIOS"設定で、scsiなどのカードのBIOSからの立ち上げが可能な状態に設定されていて、 の設定がわかりませんが、それ以降の設定は済んでいます。(起動中の設定でraidの設定は済ませraid認識もできています。) しかし、起動して fdisk -l で確認すると表示されません。 あと、検索していてlspciというコマンドを見つけ試したのですが・・・ 00:08.0 RAID bus controller: Promise Technology, Inc. PDC20378 (FastTrak 378/SATA 378) (rev 02) 00:0d.0 RAID bus controller: Promise Technology, Inc. PDC20621 [FastTrak SX4100] (rev 01) 00:0e.0 SCSI storage controller: Marvell Technology Group Ltd. MV88SX6081 8-port SATA II PCI-X Controller (rev 09) 00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80) 0 とFastTrak SX4100が表示され、これはもしかしてドライバは読み込んでいるということでしょうか?・・・似たもの(カード)が競合してドライブが表示されないということもあるのでしょうか? lsmodでは、sata_sx4 は表示されませんでしたので、下記の回答者様の教え通り、modprobe sata_sx4 を実行してみると表示されました・・・が、やはり fdisk -l では、ドライブは表示されません。 どうすればよいのでしょうか?

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.4

modprobe sata_sx4 だったかと。 詳細は man modprobe で調べてください。 >ドライバをソースからインストールする方法について については入手されたドライバの対応しているカーネルのバージョンとお使いのVine Linuxのカーネルのバージョンが大きく異なっていてほぼ移植作業になってしまいますからlinuxのドライバの作りなどある程度知らないとコンパイルできるまでには行きません。

jun_jii
質問者

補足

回答ありがとうございます。 modprobe sata_sx4 を実行するとlsmodでロードされたことが確認できましたが、fdisk -l をやってもやはりドライブは表示されません。 その後何かするのでしょうか?

  • A1200hd40
  • ベストアンサー率51% (336/647)
回答No.3

PROMISE FastTrak SX4100は、PDC20621コントローラを使っているようです。 PROMISEのサイトに在るドライバソースやバイナリは、Kernel2.4か、2.6に向けられた、かなり前のモノです。 コンパイルが失敗するのは、そのへんの理由だと思われます。 製品名、コントローラ名で検索をかけてみたところ、製品名での検索では、直接のドライバにつながる話が古いものばかりなのが気になり、「もしかして」と思い、お尋ねします。 お使いのvineが、現行の6.2.xであるとしての話(kernel3.x.x)ですが、カーネルモジュールsata_sx4が、存在していませんか? 現在、vineを使っていないので、詳細はつかめませんが、この投稿をしている、debian(jessie)/sparky3.3では、/lib/modules/3.12-1-amd64/kernel/drivers/ataの中に有ります。 存在する場合は、定義方法など、使い方の問題になってきますが。

jun_jii
質問者

補足

回答ありがとうございます。 カーネルのバージョンは、3.4.69-1vl6 です。 > 定義方法など、使い方の問題になってきますが。 /lib/modules/3.4.69-1vl6/kernel/drivers/ata/sata_sx4.ko というファイルならありましたが、その場合どのようにすれば良いのでしょうか? よろしくお願いします。

関連するQ&A

専門家に質問してみよう