tsydc
2022年8月8日 23時12分
USBドングルのBluetooth通信機能を使用しようとしております。
当該USBドングルは、ポートへの挿入時にファームウェアファイルを
「/usr/lib/firmware/rtl_bt」内から読み込む為、予めファイルを配置しております。
Armadillo本体の電源を投入する前から挿入していると、カーネル起動中にファイルを読み込もうとする際にエラーが発生してしまいます。
電源投入してカーネルが起動完了した後にUSBドングルを挿入する場合は、エラーは置きず読み込みされます。
なんとか、USBドングルを挿入したまま電源投入してもファームウェアファイルを正常に読み込んでほしいと考えております。
読み込み失敗する原因や、その対策方法などをご教示いただけないでしょうか。
起動時のログを添付しております。
何卒、よろしくお願い申し上げます。
ファイル | ファイルの説明 |
---|---|
USBドングルファームウェア読み込み失敗.pdf |
at_mizo
2022年8月9日 9時37分
溝渕です。
> Armadillo本体の電源を投入する前から挿入していると、カーネル起動中にファイルを読み込もうとする際にエラーが発生してしまいます。
> 電源投入してカーネルが起動完了した後にUSBドングルを挿入する場合は、エラーは置きず読み込みされます。
>
> なんとか、USBドングルを挿入したまま電源投入してもファームウェアファイルを正常に読み込んでほしいと考えております。
> 読み込み失敗する原因や、その対策方法などをご教示いただけないでしょうか。
原因は、USBドングルのドライバをアタッチするタイミングでルートファイルシステムがマウントされていない(ルートファイルシステムに存在するファームウェアが見えない)為です。
回避策は以下2通りあります。
1. Linuxカーネルにファームウェアを組み込む
2. USBドングルのドライバをカーネルモジュールにする
前者については、Linuxカーネルコンフィギュレーションの以下の場所で指定可能です。
上記を指定したソースがあるPC(ATDE)の"/lib/firmware/"以下にファームウェアを配置した状態でビルドしてみてください。