Gắn ổ USB không được nhận dạng


23

Sử dụng Arch Linux / XFCE, tôi thường xuyên gặp vấn đề với các ổ USB không được gắn đúng cách. Đôi khi chúng tự động hiển thị trong Thunar và tôi có thể gắn kết chúng với một cú nhấp chuột. Tuy nhiên, vào những thời điểm khác (khoảng năm mươi / năm mươi) ổ đĩa không được nhận ra. Tôi đã gặp vấn đề này với Ổ cứng gắn ngoài USB, Thẻ nhớ USB và máy ảnh. Nếu ổ đĩa ngoài không được nhận dạng, đây là tình huống:

  • Ổ đĩa hoàn toàn không hiển thị fdisk -l(nó chỉ hiển thị các ổ đĩa cứng của tôi)
  • Ổ đĩa không xuất hiện tại /dev/disk
  • KHÔNG xuất hiện khi chạylsusb

Vì vậy, có một số loại nhận dạng, nhưng tôi không hiểu tại sao, và tôi cũng không biết cách gắn ổ đĩa khi điều này xảy ra. Tôi chỉ khởi động lại và hy vọng nó hoạt động vào lần tới, rõ ràng là không tiện lợi ...

CẬP NHẬT

Khi tôi giám sát /var/log/everything.log(không có thông tin trong syslog), thì tôi thấy điều này xảy ra khi cắm USB:

Dec 14 15:36:32 localhost kernel: [ 6591.042911] usb 1-3: new high speed USB device number 9 using ehci_hcd
Dec 14 15:36:32 localhost mtp-probe: checking bus 1, device 9: "/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-3"
Dec 14 15:36:32 localhost mtp-probe: bus: 1, device: 9 was not an MTP device

Đây là một đầu ra được yêu cầu khác:

$udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[6809.192268] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-3 (usb)
KERNEL[6809.193421] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0 (usb)
UDEV  [6809.299246] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-3 (usb)
UDEV  [6809.306074] add      /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0 (usb)

chạy lệnh này udevadm monitor, sau đó cắm thiết bị USB của bạn và gửi gói mọi vấn đề bạn tìm thấy ở đó.
Hanan N.

@HananN. sao chép cái đó; Tôi đã thêm cái này

1
Chỉ là một suy nghĩ: Đôi khi tôi gặp vấn đề này khi kết nối qua USB Hub không được cấp nguồn bên ngoài
erch 2/12/13

Câu trả lời:


12

Vấn đề dường như là một quy tắc hấp dẫn trong /lib/udev/rules.d/69-libmtp.rules :

# Autoprobe vendor-specific, communication and PTP devices
ENV{ID_MTP_DEVICE}!="1", ENV{MTP_NO_PROBE}!="1", ENV{COLOR_MEASUREMENT_DEVICE}!="1", ENV{libsane_matched}!="yes", ATTR{bDeviceClass}=="00|02|06|ef|ff", PROGRAM="/usr/lib/udev/mtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}", RESULT=="1", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

Nhận xét dòng đó, như được hiển thị bên dưới, đã khắc phục vấn đề:

# Autoprobe vendor-specific, communication and PTP devices
ENV{ID_MTP_DEVICE}!="1", ENV{MTP_NO_PROBE}!="1", ENV{COLOR_MEASUREMENT_DEVICE}!="1", ENV{libsane_matched}!="yes", ATTR{bDeviceClass}=="00|02|06|ef|ff", PROGRAM="/usr/lib/udev/mtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}", RESULT=="1", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

Trong trường hợp của tôi, tôi đã phải khởi động lại, nhưng có lẽ có một dịch vụ có thể được khởi động lại thay thế.


dữ liệu này có trong /var/log/everything.log, nhưng như bạn có thể thấy không có ký tự ổ đĩa được gán (cũng được nhìn thấy với fdisk). Có rất ít đầu ra, nhưng có một số. Tôi đã thêm cái này ở trên cùng.

5
Bây giờ, nó dường như được sửa chữa! Trong nhật ký Tôi thấy điều này: ngày 14 tháng 12 15:36:32 localhost MTP-thăm dò: xe buýt: 1, thiết bị: 9 không phải là một thiết bị MTP, và sau khi tìm kiếm tôi này tìm thấy chủ đề này: bbs.archlinux.org/viewtopic. php? id = 119676 - và tôi đã có thể giải quyết nó nhận xét dòng bắt tất cả trong các quy tắc MTP, giờ đây nó dường như đang hoạt động. Cảm ơn!

4
@ user11780: nếu câu trả lời thực tế là câu trả lời bạn đưa ra trong nhận xét của mình, thì thay vì chấp nhận câu trả lời được cung cấp, bạn nên tự viết một câu trả lời mới với thông tin bạn tìm thấy, sau đó chấp nhận điều đó. Mặt khác, những người đọc bình thường sẽ bị lầm tưởng khi nghĩ câu trả lời của kbyrd - đây thực sự là một nhận xét nhiều hơn là một câu trả lời - là câu trả lời đúng.
Teemu Leisti

Hoàn toàn đồng ý với @TeemuLeisti. Đặt câu trả lời đúng ở đây sau đó thay đổi câu trả lời đúng từ câu hỏi của tôi sang câu trả lời mới của bạn.
kbyrd

Ồ, và thay vì chỉ liên kết đến bài viết, vui lòng lặp lại thông tin ở đây - trang ở cuối liên kết có thể biến mất, khiến câu trả lời của bạn trở nên vô dụng.
Teemu Leisti

7

Tôi đã từng ENV{MTP_NO_PROBE}="1"dừng MTP thăm dò. Bằng cách đó tôi đã không sửa đổi Arch /lib/udev/rules.d/69-libmtp.rules.

export MTP_NO_PROBE="1"

Cảm ơn. Giải pháp ngắn gọn và tốt đẹpexport MTP_NO_PROBE="1"
kyb

Nhưng nó dường như hoạt động như USB2.0 trong cổng USB3.0.
kyb

0

Ghi nhật ký cho thấy có điều gì đó đang xảy ra với phát hiện thiết bị MTP.

Hãy thử gỡ cài đặt libmtpnếu bạn có thể thoát khỏi nó hoặc chỉ nhận xét quy tắc udev trong tệp có liên quan.

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.