FreeBSD 12.1がQLogic FastLinQ QL41112 SFP+カードをPCI上で認識するがドライバがアタッチされない
少数のFreeBSDマシン群の面倒を見ていて、そのうちの1台に10Gを追加しようとしています。カードを挿してマシンは問題なく起動しますが、OSがそこからインターフェースを作ってくれません。
- サーバーはFreeBSD 12.1-RELEASE-p1、標準のGENERICカーネル
- QLogic FastLinQ QL41112デュアルポート10GbE SFP+アダプタ
- 両方のケージにSFP+光モジュールを装着、スイッチ側は設定済みで待機中
- /boot/loader.confにはデフォルト以外何もカスタムしていない
カードはバス上には見えていますが、そこで止まっています、両方のファンクションで同じです:
pci7: <network, ethernet> at device 0.0 (no driver attached)
インターフェースが作られないので、設定する対象がなく、トランシーバのステータスを読む方法もまったくありません。
すでにやったこと:
- カードを別のスロットに挿し直したが同じメッセージ
- どちらかが死んでいる場合に備えて2つのケージ間で光モジュールを入れ替えた
- ifconfigを一通り見てlo0でもオンボードNICでもないものを探した
PCIデバイスは明らかに列挙されているので、光モジュールの問題ではなくドライバの問題だと考えていますが、このリリースでこのカードにどのドライバが対応するのか分かりません。どのモジュールが必要で、自分でビルドする必要があるものですか?
Comments 3
そのカードを担当するのはqlnxe(4)で、このリリースでは自動では読み込まれません、だからこそPCIの行だけが出てその先が何もないのです。ローダにモジュールを入れて再起動してください:
を/boot/loader.confに入れます。再起動後、当てずっぽうを大幅に減らせるので、この順番で確認してください:
kldstatはモジュールが単に設定ファイルに書かれているだけでなく実際にロードされていることを証明し、dmesgにはno driver attachedの代わりにアタッチメッセージが出るはずで、pciconf -lはデバイスが変わらずそこにあることを確認します。インターフェースが存在するようになったら、光モジュールの心配に戻れます。1点注意: このドライバは特定のFastLinQモデル群だけをカバーしているので、思い込みで進めず自分のボードに付属するベンダードライバパッケージのリリースノートを読んでください。25GbEのQL41000系カードでこのドライバをロードしてもまだ何も出なかった人がいるので、上の手順は形だけでなくきちんと実行する価値があります。12.1上の10G QL41112については、これが標準的な対処法です。
何よりもまず、マシンが実際に何を認識しているかを特定してください。以下の出力を貼ってください
そして
kldstatで何がロードされているか確認してください。標準のGENERICカーネルでは、その系統のモジュールが自動ロードされていないだけというのがよくある答えで、インターフェースが存在しないのはまさにそう見える状態です。ドライバがアタッチするまでは光モジュールは関係ないので、入れ替えるのはやめてください。了解しました。
uname -aは12.1-RELEASE-p1であることを確認しています。pciconf -lは両方のファンクションをドライバ名ではなくnoneというデバイス名で表示しているので、何も掴んでいません。kldstatはカーネルといつもの一握りのモジュールを表示していますが、QLogic関連らしきものはありません。つまりハードウェアが死んでいるというより、単純にドライバが欠けているケースに見えます。