Skip Navigation

Is there a way to test the data transfer speed of USB cables?

If you're like me, you have dozens of USB-A and USB-C cables. There are all of various quality, but I have no idea the history of each one. A lot of them came with other products and are total unknown quantity anyway.

Is there a tool to quickly test how good each cable is? Either a software or a hardware tool. Ideally it'd be nice to see something that can measure the power as well. Some charging cables are capable of fast charging, and some are not.

15 comments
  • Linux lets you see your USB tree with lsusb -t. That includes negotiated data transfer speeds.

    This doesn't, strictly-speaking, give you the cable speed, but it does give you the link speed to another USB device, so if you have a computer with a fast USB controller and a fast USB device (probably a new hub would work well here), such that any limiting factor is the cable, you can see what speed they have negotiated over the cable, which I suppose effectively tells you what speed the cable can support.

    A snippet of mine:

     undefined
            /:  Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/5p, 20000M/x2
            |__ Port 005: Dev 005, If 0, Class=Hub, Driver=hub/4p, 5000M
                |__ Port 003: Dev 006, If 0, Class=Hub, Driver=hub/4p, 5000M
                |__ Port 004: Dev 007, If 0, Class=Hub, Driver=hub/4p, 5000M
                    |__ Port 001: Dev 008, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
        /:  Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/2p, 480M
            |__ Port 002: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
                |__ Port 004: Dev 003, If 0, Class=Hub, Driver=hub/4p, 480M
                    |__ Port 001: Dev 004, If 0, Class=Human Interface Device, Driver=usbhid, 12M
                    |__ Port 001: Dev 004, If 1, Class=Human Interface Device, Driver=usbhid, 12M
                    |__ Port 002: Dev 005, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
                    |__ Port 003: Dev 006, If 0, Class=Audio, Driver=snd-usb-audio, 12M
                    |__ Port 003: Dev 006, If 1, Class=Audio, Driver=snd-usb-audio, 12M
                    |__ Port 003: Dev 006, If 2, Class=Human Interface Device, Driver=usbhid, 12M
    
    
      

    Those numbers there (20000M, 5000M, 480M, 12M, 1.5M) are the data transfer rates supported to the device.

15 comments