搜索
标签云
AI
Android
ArchLinux
Awesome WM
Coding
FLOSS
GitLab
Journal
ML
Mac OS X
NLP
OJ
OO
OpenWrt
Programming Language
PulseAudio
Qt
RQNOJ
Rocket
Rust
SNS
Server
TiddlyWiki
UML
Web Framework
Windows 7
XPS 13 9343
acer 5745g
alsa
audio
bbswitch
bluetooth
ddwrt
dkms
ext4
federated
fonosfera
howto
java
kde
linux
lxc
mount
nwauf
python
ruijie
shell
static website
superblock
usb
windows
winsock
《烏合之衆》
中醫
互聯
互聯網
傳統漢字
刷機
合同異
名
壞塊
學藝不精
安全
己見
心理學
懷
所思
拼音文字
文言
新文化運動
析世
概念
漢字
漢字簡化
漢語文
現代
現代醫學
用戶
異道
發行版
白話
硬盤
科學
簡化字
繁體字
群體心理學
翻譯用語
英語文
華夏
西醫
解题报告
觸摸板
路由器
辯辭
迷信
逸事
隱私
離堅白
分类
声明
鏈。。。
存档
匆匆过客
88541
功能
解決device not accepting address *, error -*
豫:實際上這裏提出的做法並不可稱爲“解決”,因爲沒有找到具體原因,而只有解決方案。
最近手上的Kingston DTR30 32G U盤(屬USB閃存設備)出了問題,在試圖查壞塊時候意外發現了另一個問題(已驗證和U盤無關):
- 插入U盤之後檢測到USB設備(lsusb),但是不出現對應的塊設備(lsblk);
-
查看dmesg,輸出中有多行如下內容:
usb 1-1.2: new high-speed USB device number 92 using ehci-pci usb 1-1.2: device descriptor read/64, error -110 usb 1-1.2: new high-speed USB device number 93 using ehci-pci usb 1-1.2: device not accepting address 93, error -110
- 之後信息反復(並不一定和上面完全相同),其中設備號不斷上升;
-
多次之後變成:
unable to enumerate USB device
其中的設備號完全可以是其他值,錯誤號也可以是其他值,例如下面的:
usb 1-1.4: new high-speed USB device number 103 using ehci-pci usb 1-1.4: device not accepting address 103, error -71 usb 1-1-port4: unable to enumerate USB device usb 1-1.4: new high-speed USB device number 104 using ehci-pci usb 1-1.4: device descriptor read/all, error -71 usb 1-1.4: new high-speed USB device number 105 using ehci-pci usb 1-1.4: device descriptor read/64, error -71
在網上搜索多時,總共找到兩個相關內容,分別如下:
-
過熱之說(網址1 網址2)
- 其中說道:“這極爲可能是硬件問題(failure)而不是驅動或者內核bug。USB有‘電流過載(over-current)保護’,會在接口電量消耗過大時觸發。”
- 解決方案是:“拔下所有USB設備,關閉電源,等一兩分鐘。然後接回所有設備並啓動系統。”
-
驅動bug之說(網址)
- 該論壇主題中,許多人遇到了這樣的問題;
-
2樓(Rocket2DMn)提出了一個解決方案:
sudo rmmod ehci_hcd
並說該問題有時候會發生在USB2.0設備上,但他也不清楚究竟是如何觸發的; - 再下面9樓(jhoderd)提出卸載ehci驅動模塊會導致無法使用高速USB,他也很糾結這個問題。
對於我碰到的問題,分別(是的我碰到了好幾次)嘗試上面兩個方案的結果如下:
-
分爲兩個階段,貌似管用
- 關機,睡覺起來之後再開,當時沒有再遇到問題;
- 開了一段時間以後(電腦服役五年了且散熱不好,最近濟南氣溫也比較高)溫度又昇上去(九十度),想起來再試,再次出現問題。
-
和論壇主題中說的解決方案有一定出入
- 卸載ehci_hcd模塊時候提示被ehci_pci模塊依賴,無法卸載;
- 同時卸載ehci_pci、ehci_hcd模塊之後所有(?)USB設備均不可使用;
- 重新裝載ehci_pci之後均再次工作,且未再出現問題。
在尋找問題過程中,還有過其他猜想,但經嘗試發現當可排除。猜想、原因及嘗試方案(結局均爲“問題依舊”,故不再贅述)如下:
-
USB接口問題
- 原因:電腦服役多年,且已知某接口可能接觸不良
- 方案:更換到其他接口上(共3個USB2.0、1個eSATA/USB)
-
USB接口供電/休眠問題
- 原因:開機自動啓動powertop進行調節,其中包括USB接口自動休眠
- 方案:關閉所有相關項目的自動調節功能
-
內核bug
- 原因:出現該問題前兩天剛剛把內核更新到4.1.2
- 方案:使用3.14.48(arch官方源中的linux-lts)內核
雖然就目前來看,問題得到解決,但是由於不清楚具體問題何在,難保日後不會再碰到。
如哪位知道具體問題何在,煩勞周知,多謝!