Sửa lỗi USB không hoạt động trong Linux

Bạn đã kết nối USB hoặc bàn phím hoặc chuột với PC Linux của mình, nhưng nó không hoạt động. Chuyện gì đang xảy ra vậy? Tại sao máy tính Linux lại không phát hiện được thiết bị? Có phải là thiết bị USB của bạn đã ngừng hoạt động rồi không? Đây là những việc cần làm trên Linux nếu USB của bạn không được phát hiện hoặc nhận diện.

1. Thiết bị USB không được phát hiện bởi Linux

Điều đầu tiên cần kiểm tra khi cắm thiết bị USB của bạn vào máy tính Linux là liệu nó có được phát hiện hay không. Việc phát hiện thiết bị USB thường không có tiếng hay âm thanh như trong Windows hoặc macOS, nghĩa là bạn thường phải kiểm tra xem thiết bị đã được hệ điều hành nhận diện hay chưa.

May mắn thay, điều này rất đơn giản. Đầu tiên, ngắt kết nối thiết bị USB mà bạn đang truy vấn. Sau đó, mở cửa sổ dòng lệnh và nhập lệnh "list USB":

lsusb
Liệt kê các thiết bị
Liệt kê các thiết bị

Ghi lại kết quả, sau đó kết nối thiết bị USB và chạy lại lsusb.

Lần này, bạn sẽ thấy một thiết bị bổ sung được liệt kê, với Bus ID, Device ID, USB ID và mô tả. Nếu bạn không thể tìm ra thiết bị bổ sung là gì (bạn có thể có thiết bị USB bên trong, chẳng hạn như Ethernet), hãy thử một lệnh khác.

dmesg | grep -i USB

Lệnh dmesg sẽ liệt kê các thiết bị USB được kết nối trên hệ thống của bạn. Nó cũng sẽ bao gồm phần cứng không phải USB và cung cấp một lượng lớn thông tin. Để ngăn điều này, bạn có thể thử:

dmesg | less

Kết quả sẽ cho bạn lượng thông tin thân thiện với người dùng hơn.

usb-devices
Liệt kê phần cứng USB được kết nối
Liệt kê phần cứng USB được kết nối

Đây giống như sự kết hợp giữa lệnh dmesglsusb, liệt kê phần cứng USB được kết nối với đủ thông tin để xác định chúng.

Vậy USB bạn đã kết nối có được liệt kê ở đây không? Nếu không, thì có lẽ cổng đã bị hỏng hoặc có vấn đề với thiết bị. Tương tự, thiết bị có thể không tương thích với Linux.

2. Cách kiểm tra cổng USB

Nếu thiết bị USB không hiển thị, đó có thể do sự cố với cổng USB.

Cách tốt nhất để kiểm tra điều này nhanh chóng là chỉ cần sử dụng một cổng USB trên cùng một máy tính. Nếu phần cứng USB bây giờ được phát hiện, thì bạn biết rằng bạn đang gặp sự cố với cổng USB ban đầu.

Nếu không có cổng USB khác, bạn sẽ cần thử thiết bị USB trên PC hoặc laptop khác. Tuy nhiên, điều này có thể không lý tưởng vì bạn có thể chỉ có một máy tính Windows hoặc macOS. Vì một số thiết bị USB không thể sử dụng trên Linux nên sẽ khó xác định liệu thiết bị USB hay cổng USB đang gây ra sự cố cho bạn.

Để có kết quả tốt nhất, nếu có thể, hãy chọn phần cứng tương thích với Linux khi khắc phục sự cố thiết bị USB.

3. Sửa phần cứng USB bị hỏng

Nếu phần cứng USB của bạn không hiển thị trong Linux và bạn nghi ngờ nó bị lỗi, bạn có hai lựa chọn: Sửa chữa hoặc trả lại.

Cách khắc phục thường liên quan đến việc kiểm tra cổng USB, cũng như thiết bị hiện không hoạt động. Đối với các thiết bị ngoại vi, các bản sửa lỗi hầu như sẽ luôn xoay quanh cáp USB và cổng trên máy tính. Tuy nhiên, cáp USB thường có thể được thay thế, trong khi các cổng có thể được sửa chữa.

Kiểm tra vật lý thiết bị USB là một ý kiến ​​hay. Cáp phải chắc chắn, không có vết nứt; phích cắm phải không lỏng lẻo.

Trong khi đó, các cổng USB cần được kiểm tra khi PC của bạn đã tắt và ngắt kết nối khỏi nguồn điện chính. Kiểm tra các cổng có chắc chắn không (cổng USB lung lay là dấu hiệu của phần cứng đang bị hao mòn).

Nếu cổng USB bị lỏng, bạn có thể hàn lại vào vị trí cũ. Tất nhiên, bạn cần biết cách hàn, đừng bao giờ mày mò làm gì khi không biết gì cả.

Ngoài ra, hãy kiểm tra bụi bẩn trong các cổng USB, đặc biệt là những cổng xung quanh mặt sau của PC, nơi bụi thường xuyên bám vào. Bụi là kẻ thù của PC, vì vậy cần giữ hệ thống của bạn trong môi trường không có bụi để tăng cường hiệu suất. Vì bụi có thể xâm nhập vào PC thông qua các khe cắm USB, hãy dành thời gian để giữ cho các cổng này luôn sạch sẽ. Hãy sử dụng một lon khí nén để đẩy bụi bẩn ra ngoài.

Bạn có thể trả lại thiết bị USB của mình không? Nếu nó mới, thì có lẽ là được. Vấn đề là, trừ khi nó được dán nhãn rõ ràng là chạy trong Linux, bằng không nhà bán lẻ khó có thể chấp nhận việc đổi trả.

4. Khởi động lại Linux để sửa cổng USB

Trong một số trường hợp - chẳng hạn như nếu bạn đang sử dụng laptop - các vấn đề về nguồn điện có thể ảnh hưởng đến khả năng phát hiện thiết bị USB của nó. Cài đặt autosuspend được thiết kế để giảm mức sử dụng năng lượng trên laptop Linux, nhưng nó có thể phản tác dụng.

Vậy, bạn có thể làm gì?

Trước tiên, hãy kiểm tra xem autosuspend có gây ra sự cố hay không. Bạn có thể thực hiện việc này bằng cách khởi động lại máy tính của mình. Nếu thiết bị USB hoạt động, thì cổng USB đó đang nhận điện. Sự cố xảy ra khi phần mềm quản lý nguồn quyết định ngừng cấp nguồn đến cổng USB.

Bước tiếp theo là đảm bảo điều này không xảy ra nữa. Trên Ubuntu 20.04, bạn có thể mở một Terminal và nhập:

udisksctl power-off -b /dev/sdX

Nếu bạn đang sử dụng phiên bản Ubuntu cũ hơn, các lệnh khác là bắt buộc. Mở cửa sổ Terminal và nhập:

cat /sys/module/usbcore/parameters/autosuspend

Điều này sẽ trả về giá trị 2, có nghĩa là autosuspend được kích hoạt.

autosuspend được kích hoạt
autosuspend được kích hoạt

Bạn có thể sửa lỗi này bằng cách chỉnh sửa file grub. Nhập:

sudo nano /etc/default/grub

Tại đây, hãy tìm: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" và thay đổi nó thành

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1".

Chỉnh sửa file grub
Chỉnh sửa file grub

Nhấn Ctrl + X để lưu file và thoát. Tiếp theo, cập nhật grub:

sudo update-grub

Khi việc cập nhật hoàn tất, hãy khởi động lại Ubuntu.

Sau khi khởi động lại, hãy đăng nhập vào tài khoản của bạn và nhập lại lệnh cat:

cat /sys/module/usbcore/parameters/autosuspend

Lần này, giá trị trả về phải là -1. Bạn đã tắt tính năng autosuspend, vì vậy, các thiết bị USB được kết nối với laptop sẽ không bị lỗi do sự cố về nguồn.

5. Kiểm tra driver thiết bị USB trên Linux

Ngày xưa, các thiết bị USB thường không hoạt động trong Linux. Chỉ các thiết bị được sản xuất bởi OEM quan tâm đến Linux (có lẽ họ đã sử dụng nó để phát triển) mới cung cấp driver Linux.

Ngày nay, mọi thứ rất khác, hầu hết các nhà sản xuất đều cung cấp driver Linux. Trong hầu hết các trường hợp, driver sẽ có sẵn trong hệ điều hành Linux của bạn, thông qua kernel. Bạn không cần phải cài đặt bất kỳ driver USB nào.

Nếu không có driver, bạn có thể tìm thấy driver đó bằng cách liên hệ với nhà sản xuất thiết bị USB.

Thứ Năm, 29/04/2021 08:17
56 👨 3.462
0 Bình luận
Sắp xếp theo
    ❖ Linux