nns779 / px4_drv

Unofficial Linux driver for PLEX PX4/PX5/PX-MLT series ISDB-T/S receivers (not V4L-DVB)
GNU General Public License v2.0
308 stars 49 forks source link

定期的に usb_alloc_coherent() failed. が発生する #4

Closed kazuki0824 closed 4 years ago

kazuki0824 commented 5 years ago

「recpt1を起動し録画を終了する」という一連の流れを何度も連続して行うと、dmesg上に以下のエラー出力がされることがあります px4_drv 4-7:1.0: it930x_usb_start_streaming: usb_alloc_coherent() failed.

OSはUbuntu 18.04 LTSで、uname は以下のとおりです $ uname -a Linux (コンピュータ名) 4.15.0-43-generic #46-Ubuntu SMP Thu Dec 6 14:45:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

どのようにすれば100%再現するかはわかりませんが、何度もrecpt1の起動と終了を繰り返すとまれに発生します.

nns779 commented 5 years ago

ご報告ありがとうございます。

一つ確認させていただきたいのですが、こちらのエラーが出力されて録画が失敗するようなことはございますでしょうか。

kazuki0824 commented 5 years ago

今のところ、この症状が発生した時は必ずrecpt1は正常終了してくれます。しかし、録画を終えたファイルを見ると再生できないという状況です。 ちなみに実行時に与えた引数は以下の通りです。 recpt1 --b25 --strip 22 10 test.ts

単にデスクランブルが失敗している可能性も十分あり得ますが...以上をご参考まで。

gifuhabu commented 5 years ago

自分も/var/log/kern.logを見ると全く同じエラーが出ていますが、録画に全く支障はないです。

nns779 commented 5 years ago

ありがとうございます。

録画が失敗することがないのであれば、px4_drvの「max_urbs」パラメータの値をデフォルトの「6」から少し下げることで、このエラーの発生を抑えることが出来る可能性があります。 ただし、この値を小さくしすぎるとドロップが発生しやすくなります。 個人的には、性能に余裕のあるマシンであれば「3」までなら問題ないように思います。

nns779 commented 4 years ago

こちらのissueですが、1年半以上新たな書き込みがないためクローズさせて頂きます。