5

最終的な顧客に販売しているクライアントにカーネルドライバーを販売しているクライアントのために、カーネルドライバーを開発しています。最終的な顧客は、契約上3回だけでなく、何千マイルも離れた12のタイムゾーンからも離れています。したがって、私は彼らのテスト環境に直接アクセスすることはできません。

私がテストしているいくつかのマシンといくつかの異なるバージョンのOSXですべてが正常にテストされており、それらが経験しているように見えるいくつかの問題を再現することはできません。

私は彼らがハッキントッシュでテストしているのではないかと少し疑っています。彼らのテスト設定が正しいと仮定して、報告された問題に角度から取り組んでいますが、次のビルドにコードを追加して疑惑を解消したいと思います。これは、実際のAppleハードウェアで実行されているかどうかを理解するのに役立ちます。

現在、システムプロファイル、kernel.log、console.log、およびUSBプロファイルを収集しています。そのうちの1つに答えが見つかれば、それはさらに良いことですが、それほど単純ではないと思います。

  • ドライバが実行されているコンピュータが実際のAppleハードウェアで構成されているかどうかを判断するためのオプションは何ですか?

繰り返しになりますが、私はユーザースペースとカーネルの両方にコードを持っているので、ユーザースペースソリューションを好みますが、マシンに完全にアクセスできます。ユーザースペースコードはrootとして実行されており、起動時にAppleロゴが表示される前に実行を開始します。OS Xの複数のバージョンをサポートするのは良いことですが、この場合、10.6.8がターゲットにする必要のある特定のバージョンです。

4

1 に答える 1

1

バグレポートごとにsystem_profilerの出力を収集しており、報告されたハードウェアをEveryMacのリストと比較できます。

私自身のMacハードウェアのデータベースをコンパイルせずにソフトウェアでこれを行うためのより良い答えがあればいいのですが、それはソフトウェアでこのタスクを達成するための最も包括的な方法かもしれません。おそらく最も簡単な方法は、いくつかの重要なハードウェア(ビデオカード、プロセッサなど)についてIOレジストリに問い合わせ、データが戻ってきたら、既知のAppleハードウェア構成のデータベースと照合するソフトウェアをローカルに用意することです。

今のところ、システムプロファイルの出力を手動で確認しています。

于 2011-08-19T12:40:59.733 に答える