Thiết bị USB không chấp nhận địa chỉ


12

Tôi có một loạt các máy mà tôi đang xây dựng cho công việc có đầu đọc thẻ usb. Khi tôi khởi động chúng, tôi nhận được một loạt tin nhắn dài:

...
[ 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
...

Trên một số máy cũ, việc này chỉ mất một vài lần thử trước khi đầu đọc thẻ cuối cùng chấp nhận một địa chỉ, trong khi trên các máy mới hơn có thể mất nhiều phút. Thay đổi phần cứng không phải là một tùy chọn và cắm đầu đọc thẻ usb vào một cổng khác chỉ là một tùy chọn cho các manchines cũ. Đây là một vấn đề dưới 11.04 và hiện tôi đang chạy bản beta 12.04 và nó vẫn đang xảy ra.

Có điều gì tôi có thể làm trong phần mềm (có lẽ là quy tắc udev không?) Sẽ khắc phục điều này?

Mọi lời khuyên đánh giá cao. Tôi rất vui được cung cấp thêm chi tiết nếu bạn cần chúng.


Đối với tôi, vấn đề là với cáp.
Gayan Weerakutti

Câu trả lời:


6

Bạn có thể thử sơ đồ khởi tạo cũ cho các thiết bị usb không? Điều này có thể được thực hiện bằng cách thay đổi tham số kernel trong /etc/default/grub:

  • thay đổi dòng mà nói GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"đếnGRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.old_scheme_first=1"
  • chạy update-grub
  • khởi động lại và xem nếu nó giúp

2

Trong trường hợp của tôi, tôi dường như có một trung tâm bên trong máy (có thể cung cấp cụm bốn cổng ở mặt sau) sẽ không chấp nhận địa chỉ được chỉ định.

Các thông điệp tường trình cho tôi trông như thế này:

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

Điều này cho thấy đó là USB bus 6 . Tôi không có bất cứ điều gì liên quan đến nó, và tôi muốn nó im lặng.

Bây giờ chúng ta cần tìm trình điều khiển có liên quan. Trong trường hợp này là uhci_hcdvậy, vì vậy

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

và tìm thiết bị PCI nào cung cấp bus USB 6:

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

Tên thư mục ở đây là ID bus PCI tương ứng với bus USB đó. Sau đó, nó chỉ đơn giản là:

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

để tắt nó đi

Nếu điều này hoạt động thì chỉ có thể thêm dòng cuối cùng vào một kịch bản thời gian khởi động. Có vẻ như phải có một tham số kernel để tránh một số bus USB nhưng tôi không thể tìm thấy.

(Dựa trên câu trả lời của titantux nhưng cố gắng tránh mở khóa bàn phím của tôi. Gọi tôi là lỗi thời nhưng tôi vẫn sử dụng nó.)


0

Tôi đã gặp tình huống tương tự như của bạn.

Nhưng tôi đã sử dụng Ubuntu 10.04.

Nhưng nếu tôi sử dụng một máy tính khác, nó không bao giờ xuất hiện.

Vì vậy, cho đến bây giờ, tôi nghĩ đó là một cái gì đó với giao diện USB của tôi.

Sau khi tôi thêm các quy tắc udev vào hệ thống của mình, nó có thể xảy ra ít hơn trước.

Bạn có thể thử nó.

Lời chúc tốt nhất!


0

Tạo một tập lệnh chứa các mục sau và chạy nó khi khởi động:

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

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

Điều đó sẽ giải quyết vấn đề.

Nguồn: tại đây


Lưu ý rằng lệnh này khi được viết sẽ hủy liên kết mọi thiết bị EHCI, có thể bao gồm bàn phím của bạn.
poolie

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.