
所以我遇到了一個奇怪的問題。我有一個比特幣 USB 礦機 Bitfury,我正在使用 CGMiner 進行挖礦。
當我以 root 身分啟動應用程式時,不會自動偵測到 USB 裝置。 CGMiner 僅在重新插入時檢測棒(它會偵測熱插拔事件,然後按預期工作)
我想設定一個無頭迷你伺服器,因此,我不想在每次伺服器重新啟動時站起來拔掉設備,然後重新插入設備,因為我太懶了,而且這有點困難當我不在家時。
那麼,是否可以關閉 USB 系統並重新啟動它?或者有更好的方法嗎?
目前,我在 HP t5730 終端上運行 Fedora 20,但我在 Raspberry PI 上的 Raspbian 上遇到了問題,所以我認為這不是作業系統方面的問題。也許是設備本身的問題,或者是 CGMiner 的錯,但我還無法找到有關該主題的任何內容。
答案1
卸載 USB HCI 核心模組(任何 *hci_hcd 和 *usb*)並重新載入它們。這是真正切斷 USB 連接埠電源的唯一可靠方法。
還有其他不太嚴格的方法可以實現相同的目的,但不能保證它們能夠工作,這取決於您的設備發生故障的方式。
答案2
這個答案詳細說明該實用程式的用法usbreset
。如果這有幫助,請投票。
這就是我「拔掉然後重新插入」我的 USB 無線適配器的方法,該適配器經常掛起。在找到這個腳本之前,我必須將其物理上拔下然後重新插入才能重置。
$ usbreset
Usage:
usbreset PPPP:VVVV - reset by product and vendor id
usbreset BBB/DDD - reset by bus and device number
usbreset "Product" - reset by product name
Devices:
Number 001/003 ID 046d:080a
Number 003/002 ID 045e:07a5 Microsoft® 2.4GHz Transceiver v9.0
Number 001/002 ID 0cf3:9271 USB2.0 WLAN
$ sudo usbreset 0cf3:9271
Resetting USB2.0 WLAN ... ok
如您所見,我在不帶任何參數的情況下執行一次腳本來查看連接了哪些裝置。然後,我使用 sudo 和產品/供應商 ID(在重新啟動後保持一致)再次運行它,以虛擬地拔出並重新插入設備。