Liên hệProfile
Danh mục

Mục Lục

    Cách sử dụng lệnh lsusb trong Linux để kiểm tra thiết bị USB chi tiết

    Nguyễn Hưng

    Ngày đăng:

    05/05/2026

    Cập nhật lần cuối:

    05/05/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    Đánh giá bài viết

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    05/05/2026

    Cập nhật lần cuối:

    05/05/2026

    Mục lục

    lsusb là lệnh dùng để liệt kê các thiết bị USB và bộ điều khiển USB đang được hệ thống nhận diện. Bài viết này được mình đúc kết từ kinh nghiệm xử lý sự cố thực tế cho hàng ngàn máy chủ Linux để hướng dẫn bạn cách sử dụng lsusb với các tùy chọn phổ biến, giúp bạn thu thập thông tin phần cứng một cách nhanh chóng và chính xác nhất.

    Những điểm chính

    • Quan điểm của mình: Lệnh lsusb không chỉ đơn thuần là một công cụ liệt kê danh sách phần cứng mà còn giúp quản trị viên xác định chính xác nguyên nhân hệ thống từ chối nhận diện thiết bị ngoại vi.
    • Khái niệm lsusb: Hiểu rõ lsusb là gì và cách lsusb truy xuất thông tin từ hệ thống để liệt kê chính xác các thiết bị ngoại vi đang kết nối.
    • Vai trò của lệnh: Nắm vững các lợi ích của lsusb trong việc định danh phần cứng, hỗ trợ tìm driver và xác định kết nối vật lý nhanh chóng.
    • Yêu cầu cài đặt: Biết cách cài đặt gói usbutils trên nhiều bản phân phối Linux khác nhau để khắc phục lỗi “command not found”.
    • Cách sử dụng chi tiết: Thành thạo các tùy chọn lệnh để xem thông số kỹ thuật chuyên sâu, lọc ID thiết bị hoặc trực quan hóa sơ đồ cây USB.
    • Xử lý lỗi thường gặp: Nắm được quy trình kiểm tra và khắc phục khi hệ thống không nhận thiết bị hoặc thiết bị thiếu driver hoạt động.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc thường gặp liên quan đến lệnh lsusb.

    lsusb là gì?

    lsusb (List USB Devices) là lệnh dùng để hiển thị thông tin chi tiết về các cổng kết nối và thiết bị USB đang được gắn vào máy tính như chuột, bàn phím, ổ cứng di động, webcam,… Công cụ này thường nằm trong gói usbutils và hoạt động bằng cách quét nội dung của thư mục hệ thống /dev/bus/usb hoặc /proc/bus/usb trên các hệ thống cũ để tổng hợp dữ liệu.

    Kết quả của lệnh lsusb cung cấp thông tin ngắn gọn về hạ tầng USB, bao gồm các thông số kỹ thuật quan trọng như:

    • Vị trí vật lý: Số thứ tự của Bus (Bus ID) và thiết bị (Device Number).
    • Mã định danh phần cứng: Cặp mã Vendor ID và Product ID hiển thị dưới dạng Hex. Thông tin này giúp hệ điều hành nhận diện và nạp driver chính xác.
    • Mô tả thiết bị: Tên thương mại của thiết bị nếu có trong cơ sở dữ liệu usb.ids.

    Dựa vào kết quả này, người quản trị có thể dễ dàng kiểm tra xem phần cứng ngoại vi đã được máy chủ nhận diện thành công hay chưa.

    lsusb hiển thị thông tin chi tiết về các bus USB trên hệ thống và tất cả các thiết bị ngoại vi đang kết nối với chúng
    lsusb hiển thị thông tin chi tiết về các bus USB trên hệ thống và tất cả các thiết bị ngoại vi đang kết nối với chúng

    Các chức năng chính của lệnh lsusb

    Dưới đây là vai trò quan trọng của lệnh lsusb:

    • Liệt kê thiết bị đang kết nối: Lệnh sẽ hiển thị toàn bộ danh sách các thiết bị USB đang kết nối vật lý với máy chủ theo thời gian thực.
    • Định danh thiết bị chính xác: Cung cấp thông tin chi tiết về Vendor ID và Product ID, giúp quản trị viên xác định danh tính thực sự của thiết bị.
    • Hỗ trợ tìm kiếm Driver: Cặp mã định danh là cơ sở quan trọng nhất để tìm và cài đặt đúng Driver hoặc Firmware tương thích khi hệ điều hành không tự động nhận diện thiết bị.
    • Xác định kết nối vật lý: lsusb giúp xác nhận xem nhân hệ điều hành đã nhận được tín hiệu từ thiết bị hay chưa. Nếu thiết bị không xuất hiện trong danh sách lsusb, khả năng cao là do lỗi phần cứng hoặc thiết bị mất nguồn.
    • Kiểm kê thiết bị ngoại vi: Liệt kê toàn bộ các thiết bị đang kết nối qua cổng USB như ổ cứng di động, chuột, bàn phím, webcam, card mạng rời hay modem 3G/4G.
    • Hỗ trợ cấu hình ảo hóa: lsusb cung cấp thông tin về Bus ID và Device Number cần thiết để cấu hình tính năng USB Passthrough, cho phép máy ảo truy cập trực tiếp vào thiết bị USB vật lý.
    • Phân tích kiến trúc kết nối: Lệnh có khả năng vẽ sơ đồ dạng cây để người dùng theo dõi chính xác cách các thiết bị USB được phân bổ trên từng Hub.
    • Trích xuất thông số kỹ thuật sâu: Hệ thống sẽ cung cấp một báo cáo chi tiết về tốc độ truyền tải, cấu hình năng lượng, các giao thức mà thiết bị hỗ trợ và mức tiêu thụ điện năng tối đa của thiết bị.
    Các chức năng chính của lệnh lsusb
    Các chức năng chính của lệnh lsusb

    Cài đặt lsusb

    Lệnh lsusb nằm trong gói phần mềm usbutils. Trên hầu hết các bản phân phối Linux hiện đại, gói này thường đã được cài đặt sẵn. Nếu lệnh không hoạt động và báo lỗi command not found, bạn có thể cài đặt bằng các lệnh sau tùy theo hệ điều hành:

    • Trên Debian/Ubuntu:
    sudo apt install usbutils
    • Trên CentOS/RHEL:
    sudo yum install usbutils

    Mẹo từ chuyên gia: Trên các hệ điều hành Linux phiên bản Minimal (thường dùng để cài đặt VPS/Server), gói usbutils thường bị lược bỏ để tối ưu dung lượng. Theo kinh nghiệm của mình, bạn nên cài đặt sẵn gói này ngay trong khâu thiết lập máy chủ ban đầu để tránh bị động khi cần rà soát phần cứng gấp.

    Xem danh sách thiết bị USB cơ bản

    Để xem danh sách tổng quan các thiết bị USB hiện đang được kết nối và nhận diện bởi hệ thống, bạn sử dụng lệnh sau:

    lsusb
    Xem danh sách thiết bị USB cơ bản
    Xem danh sách thiết bị USB cơ bản

    Kết quả mặc định sẽ cung cấp các thông tin sau:

    • Bus: Số hiệu Bus USB mà thiết bị đang kết nối.
    • Device: Số thứ tự của thiết bị trên Bus đó.
    • ID: Tổ hợp mã VendorID:ProductID (ví dụ: 046d:c077) để nhận dạng thiết bị.
    • Description: Tên mô tả ngắn gọn về thiết bị.

    Góc nhìn thực tế: Đây là lệnh nền tảng giúp bạn xác định nhanh địa chỉ Bus/Device. Kinh nghiệm của mình là luôn kiểm tra kỹ ID (VendorID:ProductID). Nếu ID trả về 0000:0000 hoặc các mã lạ, đó thường là dấu hiệu của việc phần cứng bị lỗi kết nối vật lý thay vì lỗi phần mềm.

    Hiển thị thông tin chi tiết

    Để kết quả hiển thị thông tin kỹ thuật chuyên sâu hơn về thiết bị USB, bao gồm tốc độ truyền tải, các endpoint và cấu hình cụ thể, bạn thêm tùy chọn -v vào câu lệnh với cú pháp như sau:

    lsusb -v

    Tùy chọn -v phù hợp cho các nhà phát triển hoặc quản trị viên khi cần gỡ lỗi các vấn đề về hiệu suất và kết nối của thiết bị USB.

    Hiển thị thông tin kỹ thuật chuyên sâu hơn về thiết bị USB
    Hiển thị thông tin kỹ thuật chuyên sâu hơn về thiết bị USB

    Xem cấu trúc cây USB

    Nếu bạn muốn kết quả hiển thị mối quan hệ phân cấp giữa các bộ điều khiển USB và các thiết bị được kết nối vào chúng, bạn sử dụng lệnh sau:

    lsusb -t

    Tùy chọn -t giúp trực quan hóa cách các thiết bị được cắm vào các cổng và Hub USB khác nhau, đồng thời hiển thị tốc độ kết nối hiện tại.

    Xem cấu trúc cây USB
    Xem cấu trúc cây USB

    Lọc thông tin theo ID cụ thể

    Bạn có thể xem thông tin hiển thị thông tin của một thiết bị duy nhất dựa trên ID Vendor/Product cụ thể. Ví dụ, để kiểm tra thiết bị có ID là 046d:c077, bạn chạy lệnh sau:

    lsusb -d 046d:c077

    Bạn hãy thay thế 046d:c077 bằng ID của thiết bị mà bạn muốn kiểm tra. Đây là cách nhanh nhất để xác minh xem một thiết bị cụ thể có được hệ thống nhận diện hay không.

    Lọc thông tin theo ID cụ thể
    Lọc thông tin theo ID cụ thể

    Mẹo từ chuyên gia: Khi bạn quản lý hàng loạt thiết bị cùng loại (ví dụ: chuỗi thiết bị kết nối Serial qua USB), việc dùng tùy chọn -d giúp bạn cô lập chính xác thiết bị cần cấu hình, tránh việc thao tác nhầm lẫn trên các thiết bị đang vận hành.

    Trong quá trình quản trị hệ thống, việc lsusb không trả về kết quả như mong đợi thường xuất phát từ nhiều nguyên nhân khác nhau, từ thiếu gói phần mềm đến lỗi tầng vật lý. Dưới đây là hướng dẫn xử lý từng bước:

    Lỗi: “lsusb: command not found”

    Nguyên nhân: Lệnh lsusb nằm trong gói công cụ usbutils. Trên các bản phân phối Linux tối giản hoặc các hệ điều hành dành cho server/container, gói này thường không được cài đặt mặc định.

    Giải pháp: Bạn cài đặt gói usbutils thông qua trình quản lý gói tương ứng:

    • Ubuntu/Debian: sudo apt update && sudo apt install usbutils.
    • CentOS/RHEL: sudo yum install usbutils.
    • Arch Linux: sudo pacman -S usbutils.

    Quan điểm của mình: Việc thiếu các công cụ chẩn đoán cơ bản là rủi ro khi có sự cố. Mình luôn khuyến khích khách hàng cài đặt sẵn usbutils vào hệ thống ngay khi khởi tạo server và coi đây là một phần của quy trình thiết lập tiêu chuẩn để đảm bảo bất kỳ ai trong đội ngũ cũng có thể chẩn đoán sự cố ngay lập tức.

    Thiết bị đã cắm nhưng không xuất hiện trong danh sách

    Phân tích nguyên nhân: Khi đèn nguồn trên thiết bị USB sáng nhưng danh sách lsusb hoàn toàn không hiển thị dòng nào liên quan đến thiết bị đó thì nguyên nhân thường là lỗi ở tầng vật lý hoặc tầng giao tiếp thấp nhất. Điều này khiến nhân hệ điều hành hoàn toàn không nhận được tín hiệu điện từ thiết bị.

    Quy trình khắc phục:

    • Kiểm tra vật lý: Bạn thử cắm sang cổng USB khác, ưu tiên cắm trực tiếp vào mainboard phía sau thùng máy thay vì cổng phía trước hoặc qua USB Hub. Tiếp theo, bạn thay thế cáp kết nối vì cáp kém chất lượng thường chỉ cấp nguồn mà không truyền dữ liệu.
    • Kiểm tra log thời gian thực: Bạn mở terminal và chạy lệnh dmesg -w (hoặc journalctl -f). Tiếp theo, bạn rút thiết bị ra và cắm lại:
      • Nếu không có dòng log nào mới xuất hiện thì cổng USB hoặc thiết bị đã hỏng phần cứng.
      • Nếu có log báo lỗi, thì nguyên nhân là do nguồn điện không đủ hoặc chip điều khiển USB bị lỗi.

    Thiết bị hiển thị trong danh sách nhưng không hoạt động

    Phân tích nguyên nhân: Hệ thống đã nhận diện được phần cứng, nhưng thiếu driver hoặc firmware để điều khiển.

    Quy trình khắc phục:

    • Kiểm tra driver đang nạp:
      • Bạn sử dụng lệnh lsusb -t để hiển thị sơ đồ cây.
      • Tiếp theo, bạn hãy tìm đến thiết bị của bạn và xem cuối dòng có thông số Driver=... hay không.
      • Nếu bạn thấy Driver=(none), điều này cho thấy hệ thống chưa có driver cho thiết bị này.
    • Tìm kiếm Driver dựa trên ID: Bạn dùng ID dạng xxxx:yyyy từ lsusb để tìm kiếm trên Google hoặc trang chủ nhà sản xuất driver Linux tương ứng.
    • Kiểm tra quyền truy cập: Một số thiết bị chuyên dụng yêu cầu cấu hình udev rules để người dùng thường có thể truy cập. Bạn hãy thử chạy ứng dụng với quyền sudo để loại trừ nguyên nhân do phân quyền.
    Các lỗi thường gặp và cách khắc phục khi chạy lệnh lsusb
    Các lỗi thường gặp và cách khắc phục khi chạy lệnh lsusb

    Câu hỏi thường gặp

    Làm thế nào để biết thiết bị đang chạy chuẩn USB 2.0 hay 3.0?

    Bạn có thể xác định tốc độ kết nối bằng cách sử dụng tùy chọn -t. Trong kết quả hiển thị:
    – 12M: Tương ứng với USB 1.1 (Full Speed).
    – 480M: Tương ứng với USB 2.0 (High Speed).
    – 5000M (hoặc 5G): Tương ứng với USB 3.0 (Super Speed).
    – 10000M (hoặc 10G): Tương ứng với USB 3.1/3.2 (Super Speed+).

    Tại sao tôi thấy thiết bị hiển thị nhưng không có tên mô tả?

    Nguyên nhân là do cơ sở dữ liệu định danh thiết bị USB trên máy của bạn đã cũ và chưa cập nhật thông tin về thiết bị mới này. Để khắc phục, bạn có thể cập nhật cơ sở dữ liệu bằng lệnh sudo update-usbids, sau đó chạy lại lsusb.

    Tôi có thể dùng lsusb để tắt hoặc ngắt kết nối thiết bị USB không?

    Không vì lệnh lsusb chỉ có chức năng liệt kê và xem thông tin. Để ngắt kết nối an toàn), bạn cần dùng lệnh umount hoặc eject. Để tắt nguồn cổng USB, bạn cần can thiệp vào hệ thống file /sys.

    Bằng cách sử dụng lệnh lsusb kết hợp với các tùy chọn linh hoạt, bạn có thể dễ dàng kiểm tra, trích xuất thông tin chi tiết và xác định chính xác các thiết bị USB đang được kết nối với hệ thống Linux. Việc nắm vững công cụ này sẽ giúp bạn quản lý thiết bị ngoại vi, tìm kiếm và cài đặt driver chính xác, đảm bảo hoạt động ổn định của các thiết bị USB.

    Đánh giá bài viết
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Ansible là gì? Hướng dẫn sử dụng Ansible trên Linux chi tiết cho người mới
    Ansible là gì? Hướng dẫn sử dụng Ansible trên Linux chi tiết cho người mới

    Việc quản trị thủ công từng server đơn lẻ sẽ trở thành rào cản lớn khi hệ thống mở rộng và Ansible chính là giải pháp mình đã áp dụng để đồng bộ hóa cấu hình trên hàng trăm node chỉ với một câu lệnh duy nhất. Những hướng dẫn trong bài viết này không…

    05/05/2026

    Kubectl là gì? Hướng dẫn quản lý Kubernetes thông qua các lệnh kubectl trên Linux
    Kubectl là gì? Hướng dẫn quản lý Kubernetes thông qua các lệnh kubectl trên Linux

    Kubectl là công cụ dòng lệnh chính thức để giao tiếp và quản lý cụm Kubernetes. Thực tế vận hành hệ thống cho thấy, việc quản trị một cluster phức tạp không thể tách rời khả năng tương tác trực tiếp với API Server. Từ kinh nghiệm triển khai hạ tầng, mình nhận thấy Kubectl…

    05/05/2026

    Podman là gì? Hướng dẫn sử dụng Podman trong Linux để quản lý container không cần Daemon
    Podman là gì? Hướng dẫn sử dụng Podman trong Linux để quản lý container không cần Daemon

    Trong quá trình quản trị hệ thống, mình đã trực tiếp kiểm chứng khả năng tương thích của Podman khi có thể thay thế hoàn toàn Docker mà không làm gián đoạn các workflow hiện có trên Linux. Những thao tác quản lý container không cần Daemon mà mình chia sẻ dưới đây là bộ…

    05/05/2026

    Lệnh perf trong Linux là gì? Những lệnh perf cơ bản
    Lệnh perf trong Linux là gì? Những lệnh perf cơ bản

    Trong những lần xử lý sự cố server bị treo cứng mà không rõ nguyên nhân, perf chính là phương án giúp mình soi chiếu chính xác từng chu kỳ CPU để tìm ra hàm xử lý đang gây nghẽn. Việc đọc hiểu các thông số từ công cụ này đã giúp mình tối ưu…

    05/05/2026

    linux

    lenh

    text