Networking

Best USB Console Cables for Cisco, Juniper, MikroTik and Aruba

This post contains affiliate links. If you buy through them, we may earn a small commission at no extra cost to you. Learn more.

If you carry one cable into every comms room, make it the console cable. It is the only way in when a switch has no IP yet or has just lost its config. The best USB console cable for Cisco, Juniper, MikroTik and Aruba gear is a USB-A or USB-C to RJ45 rollover built on a genuine FTDI chip. Linux binds it with a driver that ships in every kernel, and a fake one fails in a way you can read in dmesg before you’re standing in front of a dead switch.

Original content from computingforgeeks.com - post 177922

We compared five cables on maker spec sheets and Amazon’s catalog, then tested the Linux side on a lab VM with no physical cable attached. The VM presented USB serial devices with FTDI, Prolific, WCH and CDC ACM IDs, and we logged what each stock driver did. Everything here was built in October 2026 on an Ubuntu 26.04.1 LTS VM, so every dmesg line and picocom prompt below is real output. You’ll also find FTDI vs Prolific vs CH340, vendor console settings and the picocom, screen, minicom and tio commands.

The quick picks

Every pick below uses a chip with an in-kernel Linux driver, so none of them needs a vendor download on Ubuntu, Fedora or Debian. What separates them is the connector on your laptop, the connector on the device and how much you trust the chip:

  • Best overall, Cable Matters USB to RJ45 FTDI: a USB-A rollover that the maker says carries an FTDI chipset, 6 ft, about $17 (check the live price).
  • Best for USB-C laptops, Cable Matters USB-C to RJ45 FTDI: the same FTDI design with a USB-C plug, so a MacBook or a USB-C-only ThinkPad needs no dongle, about $22 (check the live price).
  • Best Prolific cable, StarTech ICUSBROLLOVR: a current-generation PL2303GC chip, a 2-year warranty and a documented driver list, about $31 (check the live price).
  • Best for DB9 serial ports, Sabrent CB-FTDI: an FT232RL adapter with a male DB9 on the cable end, for gear with a DB9 serial port (add a null-modem cable when that port is male too), about $14 (check the live price).
  • Best for troubleshooting a dead link, Gearmo FTDI with LEDs: an FTDI DB9 adapter with an LED on every RS-232 signal, so you can see whether the device talks back, about $24 (check the live price).

If you buy one cable, buy the FTDI rollover that matches your laptop’s port. We’d only reach for a DB9 adapter when the device in front of you has a DB9 port, because adding an RJ45 to DB9 rollover on top doubles the connectors that can work loose in a rack.

Our selection method and Linux lab

We had no physical cables on the bench, so this guide separates what came from documents from what came from our own Linux runs. Chip, connector, length and warranty claims come from each maker’s product page. Prices, stock and review counts come from Amazon’s catalog API on 27 October 2026. Console settings come from Cisco, Juniper, MikroTik and HPE Aruba documentation, and driver behaviour comes from the kernel source and our lab.

Our lab covers the part a spec sheet cannot give you. Our Ubuntu VM built a USB serial device in software with the kernel’s configfs gadget framework, then plugged it into itself over USB/IP (the usbip-vudc and vhci-hcd modules), so the stock drivers saw a real USB device enumerate. We re-enumerated that device with the vendor and product IDs of FTDI, Prolific and WCH chips to see how ftdi_sio, pl2303 and ch341 react to something that claims to be their chip but is not. That is the failure a counterfeit cable produces, taken to its extreme, and it is why the dmesg section further down is worth reading before you buy the cheapest listing.

The cables side by side

Read the chip column first. It decides which Linux driver binds, what the device node is called and whether Windows colleagues can use the same cable without a support ticket:

CableChip (maker)Laptop endDevice endLengthLinux driver and nodePrice on Amazon
Cable Matters USB to RJ45FTDIUSB-ARJ45 rollover6 ftftdi_sio, ttyUSB0about $17
Cable Matters USB-C to RJ45FTDI with RS-232 level shifterUSB-CRJ45 rollover6 ftftdi_sio, ttyUSB0about $22
StarTech ICUSBROLLOVRProlific PL2303GCUSB-ARJ45 rollover6 ftpl2303, ttyUSB0about $31
Sabrent CB-FTDIFTDI FT232RLUSB-ADB9 male6 ftftdi_sio, ttyUSB0about $14
Gearmo FTDI with LEDsFTDIUSB-ADB9 malenot statedftdi_sio, ttyUSB0about $24

Four of the five are FTDI, and that is deliberate rather than brand loyalty. None of the five lists TX/RX activity LEDs except the Gearmo, which matters more than it sounds when you’re debugging a cable you cannot see into. The StarTech is the only one built on Prolific, and it is a current GC chip rather than the old HXA family that gave Prolific its reputation.

FTDI vs Prolific vs CH340 on Linux

All four common USB serial chips work on a current Linux kernel without a vendor driver, so the choice is about how each one fails, not whether it works. The driver name tells you which chip you have, and the device node tells you which family of driver claimed it:

Chip familyCommon USB IDLinux driverDevice nodeIDs in the driver (modinfo aliases)
FTDI FT232R / FT231X0403:6001, 0403:6015ftdi_sio/dev/ttyUSB0879
Prolific PL2303 (HX, GC)067b:2303, 067b:23a3pl2303/dev/ttyUSB077
WCH CH340 / CH3411a86:7523ch341/dev/ttyUSB06
Silicon Labs CP210x10c4:ea60cp210x/dev/ttyUSB0204
USB CDC ACM (built-in USB console ports)varies by vendorcdc_acm/dev/ttyACM0142

Those alias counts come from modinfo on our VM’s stock kernel and show how many device IDs each driver claims. FTDI’s 879 reflects two decades of products built on its chips, which is also why a random serial tool, a UPS cable and a console cable in the same drawer usually all work on the first try.

The chips differ in the details that bite on the job:

  • FTDI: the safest default. Juniper points users of its own USB console adapters to FTDI’s VCP drivers, and the kernel even recognises the 0403:0000 ID that FTDI’s withdrawn 2014 Windows driver wrote onto clone chips.
  • Prolific: fine on Linux, risky on Windows. Prolific’s Windows driver rejects clones and the old HXA chips with messages like “PL2303HXA PHASED OUT SINCE 2012. PLEASE CONTACT YOUR SUPPLIER”, so a cable that works on your Ubuntu laptop can fail on a colleague’s Windows 11 machine.
  • CH340: cheap and common on no-name cables, with a short driver history of baud rate and lost-character fixes. On Ubuntu 22.04 desktops the brltty braille daemon grabs 1a86:7523 adapters (Launchpad bug 1990189, fixed in later Ubuntu releases), and we found no CH340 console cable with a maker spec page to verify, so none made the list.
  • CP210x: rare on standalone console cables but common inside devices. Aruba’s outdoor APs and some Cisco USB console ports put a Silicon Labs bridge on the device side, and the kernel’s cp210x table even has an “Aruba Networks 7xxx USB Serial Console” entry.

Prolific’s newer GC, GS and GT chips use different product IDs from the old 067b:2303, and the pl2303 driver only learned them in Linux 5.5. That rarely matters on a laptop, but a jump host on an upstream kernel older than 5.5 won’t create a ttyUSB node for a GC-based cable unless its distro backported the IDs, while an FTDI cable works on both.

Console ports on Cisco, Juniper, MikroTik and Aruba

All four vendors put RS-232 on an RJ45 jack on most switches and routers, so one rollover cable covers the rack, but the default speed is not the same everywhere. Get the baud rate wrong and you see garbage or nothing at all, which looks exactly like a broken cable:

VendorConsole connectorDefault settingsUSB console on the device
Cisco (Catalyst 9300 and most IOS gear)RJ45, rollover pinout9600 8N1, no flow controlMini-B on the 9300: a Cisco USB device or a Silicon Labs CP210x, depending on the switch
Juniper (EX2300, EX3400, EX4300)RJ45 RS-2329600 8N1, no flow controlMini-USB on most EX models; the 24MP and 48MP EX2300 are RJ45 only
MikroTik (RB2011, RB3011, RB4011, CCR1072, CCR1036 r2, CCR2xxx, CRS)RJ45 “Cisco style” on those models, DB9 or none on others115200 8N1, RTS/CTS flow control (9600 on x86)None on those models
HPE Aruba (switches, controllers, APs)RJ45 on switches and controllers; USB or a header on APsVaries by model; check the hardware installation guideFTDI-based AP cables; Silabs bridge inside outdoor APs

MikroTik is the one that catches people. Its serial console documentation lists 115200 baud with hardware flow control, so a session that works on a Cisco switch at 9600 shows garbage or nothing on those models until you raise the baud rate, and matching the flow control setting removes one more variable. The RJ45 port on the models in the table uses Cisco’s pinout, so the same rollover cable works.

Juniper’s RJ45 port on the EX2300 is not wired identically to Cisco’s. Transmit, receive and ground sit on the same pins (3, 6, 4 and 5), which is why a Cisco rollover cable gets you a working session, but the EX2300 uses pin 7 for DCD and leaves 1, 2 and 8 unconnected where Cisco has RTS, DTR and CTS. Other Juniper platforms wire those pins differently, so run with flow control off and you’ll never notice on any of them.

A built-in USB console port changes which cable you need. Cisco’s Catalyst 9300 install guide says a given switch has either a Cisco USB device or a Silicon Labs CP2102N behind that port. On a Catalyst 9300 or a Juniper EX3400, the serial chip lives inside the switch, so a plain USB-A to mini-B cable replaces the rollover. Linux then sees whatever that chip is: a CP210x shows up as ttyUSB0 through cp210x, and a class-compliant port shows up as ttyACM0 through cdc_acm, the case our lab reproduced below.

Cable Matters USB to RJ45 FTDI, the best overall

We’d put this cable in every bag. It is a USB-A to RJ45 rollover with an FTDI chipset, it costs about the same as the no-name cables with unknown chips, and FTDI is the chip family Linux has supported longest.

Cable Matters USB to RJ45 FTDI console cable for Cisco and Juniper switches
Cable Matters USB to RJ45 FTDI console cable: USB-A, 6 ft rollover. Image: Cable Matters.

Cable Matters lists Windows, macOS and Ubuntu support, notes that FTDI drivers are already built into recent Windows and macOS, and sells it as product 202065-6. On Linux it binds ftdi_sio and appears as /dev/ttyUSB0, the same path the rest of this guide uses. At 6 ft it leaves room to work from a cart beside the rack rather than balancing the laptop on the switch above. It had 298 Amazon reviews and sold for about $17 when we checked (check the live price).

  • Who it is for: anyone with a USB-A port who works on Cisco, Juniper, MikroTik RJ45 models or Aruba switches.
  • Skip it if: your laptop is USB-C only, or you need TX/RX LEDs, since the maker lists none.
  • Chip caveat: the maker says “FTDI chipset” but does not name the exact part, so we do not either.

Cable Matters USB-C to RJ45 FTDI for USB-C laptops

A USB-A cable plus a USB-C adapter works until the adapter goes missing, so on a USB-C-only laptop we’d buy the native cable instead. This one is the same FTDI design with a USB-C plug, and Cable Matters describes an integrated FTDI chipset with an RS-232 level shifter in the plug.

Cable Matters USB-C to RJ45 FTDI console cable for MacBook and USB-C laptops
Cable Matters USB-C to RJ45 FTDI console cable: bus-powered, 6 ft. Image: Cable Matters.

Cable Matters lists it as bus-powered, 6 ft long and listed for Windows 10, macOS and Ubuntu, with downloads for Linux and Android too. Linux treats it exactly like the USB-A version because the USB-C plug changes nothing about the chip, so the picocom and udev steps below apply unchanged. It was about $22 with 120 reviews when we checked (check the live price).

  • Who it is for: MacBook users, USB-C-only ThinkPads and anyone tired of carrying dongles.
  • Skip it if: you also work from an older USB-A laptop or a jump host, where the USB-A model is the one cable that fits both.
  • Stock caveat: Amazon showed only a few units left on 27 October 2026, so check stock before a job.

StarTech ICUSBROLLOVR, the Prolific cable worth buying

Prolific’s bad name comes from cloned HXA chips, not from what it sells today. StarTech’s product page names the chip as a Prolific PL2303GC, a current part (reseller copies of an older spec sheet list a PL2303HXD, so older stock may differ), and backs the cable with a 2-year warranty and a support matrix that runs from Windows 7 to Windows 11, Windows Server 2016 to 2022, macOS and Linux.

StarTech ICUSBROLLOVR USB to RJ45 Cisco console cable with Prolific PL2303GC chip
StarTech ICUSBROLLOVR: Prolific PL2303GC, USB-A to RJ45, 6 ft. Image: StarTech.com.

StarTech rates it at up to 460.8 Kbps with a 512-byte FIFO, which is far more than a 9600 or 115200 baud console needs. On Linux the GC chip uses product ID 067b:23a3 and binds pl2303, so it needs a kernel from the last several years; a current Ubuntu, Fedora or Debian laptop is fine. Run lsusb on a new unit: 067b:23a3 is the GC, while 067b:2303 means an older HX-family chip. It had 143 reviews and sold for about $31 against a $34 list price (check the live price).

  • Who it is for: teams that buy through a reseller, need TAA compliance or want a named chip and a warranty on the invoice.
  • Skip it if: you mainly connect from old jump hosts, or you want the cheapest cable; it costs nearly twice the FTDI pick.
  • Windows note: StarTech says no drivers are needed but also links Prolific driver packages, so keep them on hand for older Windows builds.

Sabrent CB-FTDI for DB9 serial ports

Some of what you’ll console into has a DB9 port, not an RJ45 one: MikroTik models without the Cisco-style jack, older firewalls, servers and lab gear. Sabrent’s FAQ states the FTDI FT232RL chipset, the adapter ends in a male DB9 with thumbscrews, and at about $14 it was the cheapest verified FTDI option we found.

Sabrent CB-FTDI USB to DB9 RS-232 serial adapter with FTDI FT232RL chip
Sabrent CB-FTDI: FTDI FT232RL, USB-A to DB9 male, 6 ft. Image: Sabrent.

Check the gender of the port before you buy. A male DB9 on the adapter is wired like a PC serial port (DTE), so it plugs straight into a female DB9 on the device. Routers and servers usually have a male DB9 as well, and those need a female-to-female null-modem cable in between. MikroTik supports only no-handshake or loopback-handshake null-modem wiring on its DB9 ports, so turn flow control off in your terminal over that cable. UPS serial ports often expect the vendor’s own signalling cable, so check the UPS manual before assuming any adapter will do. For Cisco or Juniper RJ45 ports the adapter needs an RJ45 to DB9 console cable on the end, the kind that shipped in the box with older Cisco gear. That chain works, but we’d only build it if you already own the rollover, since the Cable Matters cable does the same job in one piece. With 1,275 reviews it had the longest track record of the five (check the live price).

  • Who it is for: DB9 devices (with a null-modem cable for male ports), and anyone who already has a box of Cisco RJ45 to DB9 cables.
  • Skip it if: every device you touch has an RJ45 console port.
  • Warranty: 2 years, if you register it within 90 days.

Gearmo FTDI with LEDs for troubleshooting

When a console stays blank, you have three suspects: the cable, the settings and the device. Gearmo’s adapter puts a green and red LED on every RS-232 signal, so a blinking receive LED with nothing on screen points at the baud rate, while a dark one points at the device or the pinout.

Gearmo FTDI USB to RS-232 DB9 serial adapter with TX RX LED indicators
Gearmo FTDI USB to RS-232 adapter: an LED on each signal line. Image: Gearmo.

Gearmo lists an FTDI chipset and ±15 kV ESD protection, with Linux, macOS and Windows 7 to 11 support. Like the Sabrent, it is a DB9 adapter, so RJ45 consoles need a rollover on the end. It was about $24 when we checked (check the live price).

  • Who it is for: field engineers who inherit undocumented gear and need to see whether anything is talking.
  • Skip it if: your devices use RJ45 consoles, since RJ45 consoles need an RJ45 to DB9 rollover added to the chain.
  • Listing caveat: Gearmo sells two LED models with the same description, and we could not confirm which one this Amazon listing ships, so length is not stated here.

Linux console setup with picocom, screen, minicom and tio

Plug the cable in and confirm the kernel created a device node before you open any terminal program, because a missing node and a wrong baud rate look the same from inside picocom. Install the four clients on Ubuntu or Debian:

sudo apt install -y picocom minicom screen tio

Then check what the kernel logged when the cable went in. Our VM’s software console port enumerated as a CDC ACM device, the same driver a class-compliant USB console port on a switch uses:

sudo dmesg | grep -E "ttyUSB|ttyACM|converter|cdc_acm"

The filter catches both driver families. Our console port matched on its cdc_acm lines, and the first one names the node, ttyACM0 here. An FTDI, Prolific or CH340 cable prints a “converter now attached to ttyUSB0” line instead:

[   31.564181] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
[   31.564232] usbcore: registered new interface driver cdc_acm
[   31.564252] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

Node numbers move when you plug in a second adapter, so the stable path is the symlink udev builds from the cable’s vendor, product and serial number. List it:

ls -l /dev/serial/by-id/

Each cable gets one line, and the name survives a replug into a different USB port:

total 0
lrwxrwxrwx 1 root root 13 Oct 26 22:20 usb-LabConsole_Console_port_LAB0001-if00 -> ../../ttyACM0

Use that by-id path in scripts and saved minicom profiles, since it points at the same cable after a reboot or after a second adapter shows up.

FATAL: cannot open /dev/ttyACM0: Permission denied

Most people hit this error first, and it has nothing to do with the cable. Serial nodes on Ubuntu are owned by root and the dialout group with mode 660, and a new user is not in that group. Our first picocom run as the lab user failed before it touched the device:

picocom -b 9600 /dev/ttyACM0

Picocom printed its settings, then refused to open the port:

FATAL: cannot open /dev/ttyACM0: Permission denied

tio fails more quietly. It prints “Warning: Could not open /dev/ttyACM0 (Permission denied)” and then “Waiting for tty device..”, so it looks like it is waiting for a cable that is already plugged in. The screenshot shows the kernel’s view of the device and the picocom refusal together:

USB console cable detected as ttyACM0 on Ubuntu 26.04 with picocom permission denied error

Add your user to the group once, then log out and back in so the new membership applies:

sudo usermod -aG dialout "$USER"

Do not fix it with sudo picocom or a chmod 666 on the node. The first runs your terminal session as root, and the second resets every time the cable is replugged.

A working session at 9600 8N1

With the group in place, picocom opened the port. On the other side of our software console port we ran a getty, which stands in for a switch’s login prompt:

picocom -b 9600 /dev/ttyACM0

After pressing Enter once, the login prompt arrived over the USB link. The settings block is worth reading on a new cable, because it confirms the baud rate, parity and flow control picocom actually applied:

picocom v3.1

port is        : /dev/ttyACM0
flowcontrol    : none
baudrate is    : 9600
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        :
omap is        :
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : 6000 ms
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready

Ubuntu 26.04.1 LTS bastion-netops ttyGS0

bastion-netops login:
bastion-netops login:
Terminating...
Thanks for using picocom

The exit_after is : 6000 ms line is there because our capture ran with -x 6000 so it would end on its own; leave that flag off in real use. On a Cisco switch the same session shows the IOS banner or a Switch> prompt instead of a Linux login.

The other three clients open the same port with one command each. The settings and exit keys differ, which is where most of the confusion comes from:

  • picocom: picocom -b 9600 /dev/ttyUSB0, exit with Ctrl-a then Ctrl-x. Add -f h for MikroTik’s RTS/CTS default on its RJ45 models.
  • screen: screen /dev/ttyUSB0 9600, exit with Ctrl-a then \. Handy because it is already on most servers.
  • minicom: minicom -D /dev/ttyUSB0 -b 9600, exit with Ctrl-a then x. If you see output but keystrokes go nowhere, run minicom -s, open Serial port setup and set Hardware Flow Control to No.
  • tio: tio -b 9600 /dev/ttyUSB0, exit with Ctrl-t then q. tio defaults to 115200, so always pass -b 9600 for Cisco and Juniper.

For every picocom option, see the picocom man page. Once you have a prompt, the CCNA command cheat sheet covers the first IOS commands most people type on a new device.

A stable name, and keeping ModemManager away

Ubuntu’s ModemManager rules mark every tty as a candidate modem, and our VM tagged the console port with ID_MM_CANDIDATE=1. A udev rule can tell ModemManager to ignore the cable and give it a short name at the same time. Find your cable’s IDs and serial with udevadm info -q property -n /dev/ttyUSB0: ID_VENDOR_ID goes in idVendor, ID_MODEL_ID in idProduct and ID_SERIAL_SHORT in serial. Many Prolific and CH340 cables carry no USB serial number, so drop the serial match for those and accept that two identical cables will share one name. Then create the rule file:

sudo vim /etc/udev/rules.d/99-console-cable.rules

Our lab rule matched on the FTDI vendor and product ID plus the serial number of the device we attached. Replace LAB0001 with your own cable’s serial:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="LAB0001", SYMLINK+="console-ftdi", ENV{ID_MM_DEVICE_IGNORE}="1"

Reload the rules and re-run them against existing tty devices so you do not need to replug:

sudo udevadm control --reload
sudo udevadm trigger --subsystem-match=tty --action=add

Confirm the symlink and the ModemManager tag:

ls -l /dev/console-ftdi
udevadm info -q property -n /dev/ttyUSB0 | grep -E "ID_MM|ID_SERIAL_SHORT"

Both took effect on our VM. ModemManager still sees the candidate flag, but ID_MM_DEVICE_IGNORE=1 tells it to leave the port alone:

lrwxrwxrwx 1 root root 7 Oct 26 22:33 /dev/console-ftdi -> ttyUSB0
ID_SERIAL_SHORT=LAB0001
ID_MM_CANDIDATE=1
ID_MM_DEVICE_IGNORE=1

From now on, picocom -b 9600 /dev/console-ftdi reaches that cable whatever ttyUSB number it gets. ModemManager’s modem filter documentation covers the ignore tag. Its default filter already skips most plain serial ports, so treat the tag as a belt-and-braces setting on a laptop that also runs a USB modem.

Counterfeit chip signatures in dmesg

Linux drivers identify the chip from the USB descriptor, and the descriptor is the one part a clone copies perfectly. The real test comes a few milliseconds later, when the driver sends the chip’s vendor-specific control requests and expects the answers a genuine part gives. We re-enumerated our software device with each vendor’s IDs to see that second step fail, and the results show why “it showed up in lsusb” proves nothing.

ftdi_sio: “Detected FT232R”, then urb failed to set baudrate

With FTDI’s 0403:6001 ID and a bcdDevice of 6.00, ftdi_sio announced an FT232R and attached ttyUSB0, even though nothing behind it was an FTDI chip. Every vendor request it sent after that came back with error -32 (EPIPE, the device stalled the request):

sudo dmesg | grep -E "idVendor=0403|ftdi_sio|FT232R|ttyUSB0" | grep -v -E "1\.1|ttyUSB1" | head -11

The first eight lines are the attach (the second “Detected FT232R” comes from the device’s second interface); the last three appeared when we opened the port with picocom:

[  868.741111] usb 2-1: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[  868.745147] ftdi_sio 2-1:1.0: FTDI USB Serial Device converter detected
[  868.745196] usb 2-1: Detected FT232R
[  868.746146] ftdi_sio ttyUSB0: Unable to read latency timer: -32
[  868.749130] ftdi_sio ttyUSB0: Unable to write latency timer: -32
[  868.750063] ftdi_sio 2-1:1.0: GPIO initialisation failed: -32
[  868.750981] usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0
[  868.753175] usb 2-1: Detected FT232R
[  871.439066] ftdi_sio ttyUSB0: ftdi_set_termios FAILED to set databits/stopbits/parity
[  871.441043] ftdi_sio ttyUSB0: ftdi_set_termios urb failed to set baudrate
[  871.442597] ftdi_sio ttyUSB0: failed to set flow control: -32

The dangerous part is what picocom showed at the same moment: its usual settings block and “Terminal ready”, with no error at all. The baud rate was never set, so on a real cable you’d stare at a blank or garbled console and blame the switch. If a new cable gives you nothing, read dmesg before you touch the device, and treat any -32 from the serial driver as a dead or fake chip:

ftdi_sio dmesg errors from a USB device with an FTDI ID that is not a real FT232R, on Ubuntu 26.04

Note that “Detected FT232R” comes from the descriptor’s bcdDevice value alone, so a clone gets the same line as the real chip. Real clones answer more of FTDI’s requests than our empty device did, which is why some work for years and others fail only at certain baud rates. FTDI’s own 2014 Windows driver went further and rewrote clone chips’ product ID to 0000; current Linux kernels still bind those bricked 0403:0000 devices to ftdi_sio.

pl2303: “unknown device type, please report to [email protected]”

The pl2303 driver works out the chip generation from the descriptor’s bcdUSB and bcdDevice fields. Given Prolific’s 067b:2303 ID with a bcdDevice no real PL2303 uses (8.00), it refused the device outright, and the kernel fell back to cdc_acm for the other interface:

[  729.390483] usb 2-1: New USB device found, idVendor=067b, idProduct=2303, bcdDevice= 8.00
[  729.395466] pl2303 2-1:1.0: required endpoints missing
[  729.397459] pl2303 2-1:1.1: pl2303 converter detected
[  729.397486] pl2303 2-1:1.1: unknown device type, please report to [email protected]
[  729.414631] cdc_acm 2-1:1.0: ttyACM0: USB ACM device

If a Prolific cable prints this line, you won’t get a ttyUSB node from pl2303, and a different cable solves it where a driver will not. Linux does not refuse Prolific clones the way Prolific’s Windows driver does. Since Linux 6.13 the driver detects one family of HXD clones, stops asking them for their line settings and no longer sends them a break, so a clone that works at 9600 keeps working.

ch341-uart: probe failed with error -32

The CH340 driver is the strictest of the three. It reads the chip version during probe, and when our device with WCH’s 1a86:7523 ID did not answer, the driver gave up before creating any port:

[  760.581988] usb 2-1: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
[  760.588131] ch341 2-1:1.0: ch341-uart converter detected
[  760.589028] usb 2-1: failed to receive control message: -32
[  760.589210] ch341-uart ttyUSB0: probe with driver ch341-uart failed with error -32

CH340 gives the more honest failure: no ttyUSB0 to open, so you know at once that the cable is the problem. On an Ubuntu 22.04 desktop, a CH340 cable that attaches and then disconnects a second later is a different problem, brltty claiming the device, and removing the brltty package is the usual fix if you don’t use a braille display.

The right cable for each console port

Pick from the connector on the device first, then the one on your laptop, and only then the chip:

  • RJ45 console, USB-A laptop: the Cable Matters USB to RJ45 FTDI. It covers Cisco, Juniper, MikroTik’s Cisco-style models and Aruba switches at 9600 or 115200.
  • RJ45 console, USB-C laptop: the Cable Matters USB-C version, so the adapter cannot get lost.
  • RJ45 console, corporate purchasing or Windows-heavy team: the StarTech ICUSBROLLOVR, for the named PL2303GC chip and the 2-year warranty.
  • DB9 serial port: the Sabrent CB-FTDI, or the Gearmo with LEDs if you regularly face gear you didn’t install. Add a female-to-female null-modem cable (no-handshake wiring) when the device’s DB9 is male.
  • Mini-USB or USB-C console port on the device: a plain USB data cable with the right plug, since the serial chip is inside the switch. Expect ttyACM0 or ttyUSB0 depending on that chip.

If you’re building a CCNA home lab, one FTDI rollover covers every used Catalyst switch and ISR router you’re likely to buy, and you can practise on the configs in our free CCNA labs or test yourself with the CCNA practice questions. Pair the cable with a laptop that still has a USB-A port and an RJ45 jack, as covered in our laptop guide for network engineers, and keep a rack console drawer in mind for the servers in the same rack. Whatever you buy, plug it in on the bench and read dmesg once before the day you need it.

Keep reading

Configure Samba File Share on Debian 13 / 12 Debian Configure Samba File Share on Debian 13 / 12 Free CCNA 200-301 Practice Questions with Answers Networking Free CCNA 200-301 Practice Questions with Answers WireGuard VPN Setup: Ubuntu 26.04/24.04, Debian 13, Rocky 10 Debian WireGuard VPN Setup: Ubuntu 26.04/24.04, Debian 13, Rocky 10 Best 1U Rack Console Drawers and Rackmount KVM Switches Networking Best 1U Rack Console Drawers and Rackmount KVM Switches OSI Model Explained: 7 Layers, TCP/IP Mapping & Encapsulation Networking OSI Model Explained: 7 Layers, TCP/IP Mapping & Encapsulation How to Pass the CCNA: 90-Day Study Plan Networking How to Pass the CCNA: 90-Day Study Plan

Leave a Comment

Press ESC to close