อุปกรณ์ USB ไม่ยอมรับที่อยู่


12

ฉันมีชุดของเครื่องจักรที่ฉันสร้างสำหรับงานที่มีเครื่องอ่านการ์ด usb เมื่อฉันบูตพวกเขาฉันจะได้รับข้อความยาว ๆ :

...
[ 2347.768419] hub 1-6:1.0: unable to enumerate USB device on port 6
[ 2347.968178] usb 1-6.6: new full-speed USB device number 10 using ehci_hcd
[ 2352.552020] usb 1-6.6: device not accepting address 10, error -32
[ 2352.568421] hub 1-6:1.0: unable to enumerate USB device on port 6
[ 2352.768179] usb 1-6.6: new full-speed USB device number 12 using ehci_hcd
[ 2357.352033] usb 1-6.6: device not accepting address 12, error -32
...

ในเครื่องรุ่นเก่าบางเครื่องใช้เวลาเพียงไม่กี่ครั้งก่อนที่เครื่องอ่านบัตรจะยอมรับที่อยู่ในขณะที่เครื่องรุ่นใหม่อาจใช้เวลาหลายนาที การเปลี่ยนฮาร์ดแวร์ไม่ใช่ตัวเลือกและการเสียบตัวอ่านการ์ด usb เข้ากับพอร์ตอื่นเป็นเพียงตัวเลือกสำหรับ manchines รุ่นเก่า นี่เป็นปัญหาที่ต่ำกว่า 11.04 และตอนนี้ฉันกำลังรันเบต้า 12.04 และยังคงเกิดขึ้นอยู่

มีบางสิ่งที่ฉันสามารถทำได้ในซอฟต์แวร์ (อาจเป็นกฎของ udev?) ที่จะแก้ไขปัญหานี้?

คำแนะนำใด ๆ ชื่นชม ฉันยินดีที่จะให้รายละเอียดเพิ่มเติมหากคุณต้องการ


สำหรับฉันปัญหาคือสายเคเบิล
Gayan Weerakutti

คำตอบ:


6

คุณลองใช้รูปแบบการเริ่มต้นเก่าสำหรับอุปกรณ์ usb ได้หรือไม่? สิ่งนี้สามารถทำได้โดยการเปลี่ยนพารามิเตอร์เคอร์เนลใน/etc/default/grub:

  • เปลี่ยนบรรทัดที่บอกว่าGRUB_CMDLINE_LINUX_DEFAULT="quiet splash"เป็นGRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.old_scheme_first=1"
  • วิ่ง update-grub
  • รีบูทและดูว่าช่วยได้หรือไม่

2

ในกรณีของฉันฉันดูเหมือนจะมีฮับภายในเครื่อง (อาจให้คลัสเตอร์สี่พอร์ตที่ด้านหลัง) ที่จะไม่ยอมรับที่อยู่ที่ได้รับมอบหมาย

ข้อความบันทึกสำหรับฉันมีลักษณะเช่นนี้:

usb 6-1: new low-speed USB device number 116 using uhci_hcd
usb 6-1: device not accepting address 116, error -71
hub 6-0:1.0: unable to enumerate USB device on port 1

นี้แสดงให้เห็นว่ามันเป็นUSB รถบัส 6 ฉันไม่มีอะไรเกี่ยวข้องกับมันและฉันต้องการให้มันปิด

ตอนนี้เราจำเป็นต้องค้นหาไดรเวอร์ที่เกี่ยวข้อง ในกรณีนี้มันเป็นuhci_hcdเช่นนั้น

$ sudo -s
# cd /sys/bus/pci/drivers/uhci_hcd

และค้นหาอุปกรณ์ PCI ที่ให้บริการบัส usb 6:

# echo */usb6
0000:00:1a.2/usb5

ชื่อไดเร็กทอรีที่นี่คือ PCI บัส ID ที่สอดคล้องกับบัส USB นั้น จากนั้นเป็นเพียงแค่:

# echo 0000:00:1d.0 > unbind

เพื่อปิด

หากใช้งานได้เพียงแค่บรรทัดสุดท้ายเท่านั้นที่สามารถเพิ่มลงในสคริปต์บูตได้ ดูเหมือนว่าควรมีพารามิเตอร์เคอร์เนลเพื่อหลีกเลี่ยงบัส USB บางอัน แต่ฉันหาไม่เจอ

(อิงตามคำตอบของ titaniumtuxแต่พยายามหลีกเลี่ยงการผูกคีย์บอร์ดของฉันโทรหาฉันล้าสมัย แต่ฉันก็ยังใช้มันอยู่)


0

ฉันได้พบกับสถานการณ์เดียวกันกับคุณ

แต่ฉันใช้ Ubuntu 10.04

แต่ถ้าฉันใช้คอมพิวเตอร์เครื่องอื่นมันจะไม่ออกมา

ดังนั้นจนถึงตอนนี้ฉันคิดว่ามันเป็นสิ่งที่มีอินเตอร์เฟส USB ของฉัน

หลังจากที่ฉันเพิ่มกฎ udev ลงในระบบของฉันมันสามารถเกิดขึ้นได้น้อยลงก่อน

คุณสามารถลอง

ด้วยความปรารถนาดี!


0

สร้างสคริปต์ที่มีสิ่งต่อไปนี้และเรียกใช้เมื่อเริ่มต้น:

cd /sys/bus/pci/drivers/ehci_hcd/

sudo sh -c 'find ./ -name "0000:00:*" -print| sed "s/\.\///">unbind'

ที่ควรแก้ปัญหา

ที่มา: ที่นี่


โปรดทราบว่าคำสั่งนี้ตามที่เขียนจะยกเลิกการผูกกับทุกอุปกรณ์ EHCI ซึ่งอาจรวมถึงแป้นพิมพ์ของคุณ
1450 Poolie

0

มี

usb 2-2: new high speed USB device using address 10
usb 2-2: device not accepting address 10, error -71
...
usb 2-2: new high speed USB device using address 13
usb 2-2: device not accepting address 13, error -71

บน CentOS

พบhttp://paulphilippov.com/articles/how-to-fix-device-not-accepting-address-error

แน่นอนว่าการใส่ฮับ USB ที่ได้รับพลังงานในสมการนั้นช่วยแก้ไขได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.