現象:
樹莓派4b或3b+ 插着兩個USB免驅相機
攝像頭朝着燈就會報 time out
攝像頭不朝着燈就不報
問題:
功率不夠
朝着燈可能觸發了USB相機的曝光補償導致功率變大
解決:
使用帶額外供電的hub
linux下調用相機出現select timeout錯誤,有可能是相機(尤其是USB2.0相機)插在2.0接口上時,端口供電能力不足。如果排查了其他問題還沒有解決,可以看看有沒有這個端口的問題。
V4L2的select函數的最后一個參數是timeout,timeout是用來設置超時時間的,設置了timeout以后,如果select在沒有文件描述符監視可用的情況下,會等待這個timeout,超過這時間select就會返回錯誤。
當遇到select timeout錯誤的時候,不能只考慮調大timeout的時間,實際上這是治標不治本,timeout不可能調的很大,調大一點又沒什么用,肯定還是有別的傳輸阻塞之類的問題。這個問題困擾了很久,后來就想,會不會是渣本的端口不行,換了個3.0接口的電腦,再沒有出現這個問題,這個問題咨詢了相機廠家,他們的回答是USB2.0相機的傳輸和供電是做在一起的,因此不是很穩定,當數據傳輸和供電之間可能會相互影響,關於這個怎么影響的我搞不清楚,但是這個問題不妨作為一個額外的檢查思路吧。