Trang chủThủ thuật LinuxCách sửa lỗi USB không hoạt động trong Linux

Cách sửa lỗi USB không hoạt động trong Linux

Hoàng Hoa Thám
242 Lượt xem

Việc bạn kết nối USB hay các thiết bị khác như chuột, bàn phím với máy tính chạy hệ điều hành Linux mà gặp lỗi là việc hoàn toàn có thể xảy ra. Điều quan trọng là chúng ta phải biết lỗi gặp phải trong trường hợp này là gì? Có thể do thiết bị của bạn gặp trục trặc hoặc cổng USB trên Linux của bạn bị lỗi.

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.

Rất đơn giản thôi. Để test USB, bạ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” như dưới đây:

Cách sửa lỗi USB không hoạt động trong Linux

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

lỗi usb trên linux

Đây giống như sự kết hợp giữa lệnh dmesg và lsusb, 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.Usb không nhận trên thiết bị linux

Bạn có thể sửa lỗi này bằng cách chỉnh sửa file grub. Nhập lệnh sau:
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″.

Lỗi usb không nhận Linux

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.

Vào mục thảo luận