Linux組み込みシステム(特にQNAP NAS)でさまざまなUSB DVBチューナーをサポートするために、ロード可能なカーネルモジュール(.koファイル)をコンパイルしようとしています。カーネル 4.2.8。このシステムにはudevがないので(まだありますが、デフォルトでは触れることはできません)、カーネルモジュールを構築する必要があります。モジュールの挿入彼らは次々と来ます。
正しく読み込まれる.koファイルを正常に構築しましたが、特定のDVBチューナーにどのモジュールが必要かを知る必要があります。それがなければ手に。
モジュールの依存関係を確認できる2040:7070
Hauppaugeなどの一部のデバイスでは、これは簡単です。dvb-usb-dib0700.ko
[~] # modinfo dvb-usb-dib0700.ko | grep depends
depends: dib7000m,dib9000,dibx000_common,dvb-usb,dib0090,dib0070,dib3000mc,rc-core
など、さまざまなフロントエンドをすべて接続でき、dib7000m.ko
チューナーが完全に検出されます。情報)そして/dev/dvbそれに応じてノードを作成します。
逆に、一部の他のデバイスはより難しくなり、質問が提起されます。 Pinnacle PCTV DVB-S2の例2013:024c
:報告されたdmesgログLinuxTVページ利用できることをお勧めしますEM28xx、a8293そしてTDA10071しかし、モジュール情報この場合は役に立ちません:
# modinfo em28xx-dvb.ko | grep depends
depends: em28xx
# modinfo em28xx.ko | grep depends
depends:
ご覧のとおり、ここにはフロントエンドa8293およびTDA10071への言及はありません(カーネル4.2.8にロード可能なカーネルモジュールとして存在します)。したがって、物理デバイスがなければ、どのチューナーとフロントエンドカーネルモジュールが必要かをどうやって知ることができますか?
dvb-frontends/a8293.ko
このチューナーを使っている友人はinsmodを試してみましたが、dvb-frontends/tda10071.ko
dmesgはまだ話していないので尋ねます。em28xx-dvbを正常にロードしました。...でもない/dev/dvb作成されたため、他のカーネルモジュールが欠落しているようです。ところで、どのようなモジュールですか?カーネルモジュールもカーネルのバージョンに応じて変更されるため、LinuxTVページがカーネル4.2.8に収まらない可能性があります。
USBチューナーをDebian仮想マシンに接続すると、システムは次のコマンドを使用してチューナーとフロントエンドに必要なカーネルモジュールを自動的にロードします。ウデブ。オペレーティングシステムはチューナーに関する情報をどこで見つけることができますか?どこかにハードコードされている場合は、それを抽出してlsusb IDを介してチューナーの正しいカーネルモジュールを知ることができますか?私は組み込みシステムでDebianが実行する正確なプロセスを複製したいと思います。
編集する:
オンライン検索で知り続けた事実はウデブ利用できるモデリア使用可能なカーネルモジュールを一致させ、必要であることを確認します。しかし、チューナーを組み込みシステム(udevを使わずに)に接続しても、他のi2cエイリアスをどのように「確認」できますか?