私はFirewireミキシングコンソールを持っており、コンソールが開いたときに完全なオーディオチェーン(alsa -> pulseaudio -> jackd -> firewire)を設定するスクリプトを呼び出すudevルールを作成しました。
jackd
今始めましたが、数秒後に消えることがわかりました。出力をキャプチャしましたが、エラーメッセージが含まれています。テストするためにudevイベントを偽造し、udevadm trigger
すべてがうまくいきました。
これにより、(実際)udevイベントの発生とデバイスの実際の準備との間には少し時間があると信じていました。私の偽のudevイベントにはコンソールが開いていて、/ dev / fw1が常に存在して準備されているため、この問題はありません。
実際にsleep 2
スクリプトに追加すると問題は解決しましたが、この解決策は満足できません。負荷がひどい場合は3〜4秒かかることがあるので、壊れやすく見えます。そして私には寛大なので、余計なsleep
遅延がたくさん発生しました。
それでは、デバイスが実際にいつ準備されたかを知る方法はありますか?