MCCI Model 3411 Windows Driver & Test Tools

MCCI Model 3411 Users guide, Windows Drivers & Test Tools

USB 3.2 Gen2 · Type-C Loopback Test Device
Model3411 - Blue Enclosure

MCCI® Model 3411

Saturate any USB-C host, hub, or USB4®/Thunderbolt™ fabric at up to 8 Gbps bidirectional — measure throughput, verify data integrity, and run USB-IF compliance from one rugged board. No custom firmware. No real peripheral required.

10 Gbps Gen2 signaling 8 Gbps bidirectional 4 device modes OLED live status
● In stock SKU 123002552 Firmware v2.6.0 Updated March 2026 · KB-3411-PORTAL

Getting Started, Drivers & Test Tools. Everything you need to set up, run, and troubleshoot the Model 3411 — from first power-up to USB-IF compliance testing. Ref: Engineering Reports 950001616 Rev O · 950001629 Rev B.

1. What is the Model 3411 and Who Is It For?

The MCCI® Model 3411 is a professional-grade USB test device that plugs into any USB-C host port and runs at the full speed of the bus — from Full Speed (12 Mbps) all the way up to SuperSpeed Plus Gen2 (10 Gbps). It loops back whatever data the host sends, letting you measure throughput, verify data integrity, and validate USB host behavior without needing custom firmware or a real peripheral.

If any of these describe you, this device is built for your workflow:

Host Stack / xHCI Developer

Validating your USB host stack or xHCI controller IP? Use Loopback mode for throughput regression and Compliance mode for USB-IF certification with XHCICV.

→ Modes 0 & 1

System / Hub Integrator

Benchmarking USB-C port throughput on a new motherboard, hub design, or USB4/Thunderbolt fabric? The 3411 saturates the bus to expose bottlenecks.

→ Modes 1 & 2

Manufacturing / QA Engineer

Building a production test station? USBIOTEST is a scriptable CLI tool that runs on Linux and Windows — no GUI needed. Serial-number-based device selection supports multi-device fixtures.

→ USBIOTEST + Mode 1 or 2

Storage Stack Developer

Testing UAS/UASP vs BOT performance? UASP mode presents a 750 MB RAM disk for benchmarking with CrystalDiskMark or fio — no real storage media needed.

→ Mode 3 (UASP)

Silicon / IP Vendor

Bringing up a new xHCI IP block? The 3411 is SuperMUTT-compatible in Compliance mode, and the MCCI USB host stack was used by multiple vendors to certify xHCI silicon at the USB-IF PIL.

→ Mode 0 + XHCICV/xHSETT

Evaluating / Considering Purchase

Researching USB test devices? Scroll down for specs, modes, and capabilities. Purchase directly from the MCCI store. See the datasheet for full specifications.


Model 3411 PCB, front and back. Front: Micro-B control port, OLED display, MA2085 processor, USB-C data port. Back: serial number label (format 00-02-CC-xx-xx-xx), FTDI FT2232H, Micro-B connector.

How a test runs — signal path through the 3411

Control PCShell / test host
Micro-BControl port
FT2232HUSB ↔ UART / JTAG
MA2085Movidius VPU
(test engine)
USB-CData port
Host Under TestDUT
Control path (commands & status) On-board test engine Data path under test

1.1 Key Specifications

8 Gbps
Bidirectional Bulk (Gen2)
1 GBps sustained
4 Gbps
Bidirectional Bulk (Gen1)
500 MBps sustained
320 Mbps
Unidirectional (High Speed)
40 MBps sustained
96K Isoch
High-BW Isochronous (Gen2)
48K at Gen1
Component Detail
Processor 800 MHz Intel Movidius MA2085 VPU
RAM 1 GiB LPDDR4
Flash 16 MiB (firmware storage)
EEPROM 4 KiB (settings & mode persistence)
Data Port USB-C — USB 3.2 Gen2 / Gen1 / HS / FS
Control Port Micro-B — FTDI FT2232H (serial console + JTAG)
Display 128×64 OLED (SSD1306B) — real-time status
Sensors Accelerometer, thermal, power
Firmware MCCI USB DataPump, RTEMS-based, field-upgradable via DFU
Enclosure Rugged polycarbonate plastic

2. Your First 5 Minutes

Quickstart: Confirm Your 3411 Is Working

This gets you from unboxing to a confirmed working test in under 5 minutes.

Step 1 — Power up via Micro-B. Connect the included Micro-B cable from the Model 3411 to your PC. The OLED display will show the MCCI logo, then the status screen.

Step 2 — Check the serial console. Open a terminal (Tera Term on Windows, minicom on Linux) at 115200/8N1 on the assigned COM port. Type:

SHLL [/] # getdevicemode Current device mode is loopback ← if this says "compliance", run: setdevicemode 1

Step 3 — Connect USB-C. Plug the included Gen2 USB-C cable from the 3411's USB-C port to the host system you want to test. The OLED will update to show the connection speed (e.g., G2(G2) for Gen2).

Step 4 — Run your first test.

# Linux: sudo ./usbiotest -i 0/0/1/0 -o 0/0/1/1 -N 100 -T benchmark -b 1048576 -F 100 040e:f645 # Windows: .\usbiotest.exe -i 0/0/1/0 -o 0/0/1/1 -N 100 -T benchmark -b 1048576 -F 100 040e:f645

Step 5 — Read the result. You should see throughput numbers like:

WRITE: 104.9 Mbytes 0.4 sec (0 ms overhead): 245.4 Mbytes/sec 1.963 Gbits/sec READ: 104.9 Mbytes 0.4 sec (0 ms overhead): 241.7 Mbytes/sec 1.934 Gbits/sec TOTAL: 209.7 Mbytes 0.4 sec (0 ms overhead): 483.3 Mbytes/sec 3.867 Gbits/sec

If you see throughput numbers — your 3411 is working. Read on to learn about the different modes, tools, and advanced testing options.

Don't have USBIOTEST yet? Download mcci_usbiotest-v2.0.0.zip from the attachments at the bottom of this page. Extract and navigate to the bin directory. On Linux, first run install.sh from the rules.d folder.

3. What's in the Box

The standard kit from the MCCI store includes:

  • Model 3411 board in polycarbonate enclosure
  • 1m USB-C to USB-C cable — Gen2 rated (use this for data testing)
  • 3-foot USB-A to Micro-B cable — for the control/power port
Bulk pack note: Accessories may differ if purchased in bulk or as part of a larger equipment set.

4. Powering & Control Port Setup

4.1 Power Options

The Model 3411 can be powered three ways:

  1. USB-C port — from the host system under test
  2. Micro-B port — from a control computer (takes priority over USB-C)
  3. USB charger on Micro-B — 5V/0.5A, regulated 4.5–5.25V, ≤100 mV ripple
Best practice for testing: Power via Micro-B so the device doesn't depend on the host's power supply. This is especially important when testing hosts that may have marginal VBUS.

4.2 Control Port (Serial Console)

The Micro-B port presents a composite USB device via an FTDI FT2232H chip: one function is a serial console (COM port), the other is JTAG (not used in normal operation). The control port is identified by VID 0x0403, PID 0x6010, product string MCCI Model 3411 Control.

Host driver: Install FTDI VCP drivers from ftdichip.com/drivers/vcp-drivers.

Platform Terminal Tool Connection Example
Windows Tera Term Select COM port → Serial → 115200
macOS screen screen /dev/tty.usbserial-FTxyz 115200
Linux minicom May need udev rules or sudo

Settings: 115200 baud · 8-bit · No parity · 1 stop bit · No local echo

4.3 OLED Display

The 128×64 OLED provides real-time feedback without needing a serial connection. The photos below show the display fields with numbered callouts.

Model 3411 OLED display fields

OLED status display. Numbered callouts identify each field. Loopback counters appear only during an active loopback test.

OLED Field Reference

① Model
"3411"
② Serial Number
6-char hex (00XXXX)
③ Device Mode
LOOP / COMP / mLOOP / UASP
④ Firmware Ver.
vX.Y.Z
⑤ Voltage
Supply voltage (V)
⑥ Temperature
Device temp (°C)
⑦ Speed XX(YY)
XX=current, YY=max. G1/G2/FS/HS. E.g., G1(G2) = connected at Gen1 on Gen2-capable device — check cable.
⑧ Device Address
USB address from host (hex)
⑨ Link State
U0–U3 (SS) or L1–L2 (HS). 'r' = remote wakeup.
⑩ Device State
"Configured" = USB-C active, ready for operation. "Attached" = Micro-B powered only, no USB-C host connected.
⑪ Loopback Counters
LB(AA:BB) rx XX tx YY — AA=interface, BB=alt setting, XX=bytes received, YY=bytes transmitted. Live during active loopback test.
Reading the OLED during problems: If the device fails to enumerate, the OLED will show "Attached" (not "Configured") and the speed field will be blank. This confirms the USB-C link did not come up — check your cable, port, or host controller. If you see G1(G2), your device supports Gen2 but the host/cable only negotiated Gen1.

5. Which Mode Should I Use?

The Model 3411 has four firmware personalities. Modes are switched via setdevicemode on the serial console and stored in EEPROM (persists across power cycles).

5.1 Decision Tree

Your Goal Mode Command
Run USB-IF XHCICV/USB4CV certification tests 0 — Compliance setdevicemode 0
xHCI HS electrical test with xHSETT 0 — Compliance (+ setvidpid) setdevicemode 0
Measure max throughput on a host port/hub/fabric 1 — Loopback setdevicemode 1
Verify data integrity through a USB path 1 — Loopback (integrity test) setdevicemode 1
Test isochronous or interrupt transfer types 1 — Loopback setdevicemode 1
Stress-test concurrent bulk streams through a hub 2 — Multi-Bulk setdevicemode 2
Benchmark UAS/UASP storage protocol performance 3 — UASP setdevicemode 3
Compare UASP vs BOT throughput 3 — UASP setdevicemode 3

5.2 Mode Details

Model 3411 Device Mode Map

Mode 0 — Compliance

xHCI compliance test device. SuperMUTT-compatible. Use with XHCICV, xHSETT, USB4CV, or Microsoft MUTT test tools. No MCCI driver needed.

VID: 040E · PID: F644
setdevicemode 0

Mode 1 — Loopback

Bulk, interrupt, isochronous loopback. Optimized for max bandwidth. OUT→IN data loopback across all transfer types. Test with USBIOTEST or USBIOEx.

VID: 040E · PID: F645
setdevicemode 1

Mode 2 — Multi-Bulk

3 interfaces, each with independent bulk IN/OUT streams. For concurrent multi-stream stress testing.

VID: 040E · PID: 020C
setdevicemode 2

Mode 3 — UASP

USB Attached SCSI Protocol. Presents 750 MB RAM disk. Enumerates as "USB Attached SCSI (UAS) Mass Storage Device." Test with CrystalDiskMark or fio.

VID: 040E · PID: 020D
setdevicemode 3

Switching Modes

SHLL [/] # getdevicemode Current device mode is compliance SHLL [/] # setdevicemode 1 Setting loopback device mode # Disconnect and reconnect the USB-C cable after switching. # The mode is stored in EEPROM — it persists across power cycles.

6. Which Tool Should I Use?

USBIOTEST USBIOEx
Type Command-line (CLI) Windows GUI
Platforms Linux (x86_64, AARCH64) · Windows (i386, x64) Windows only
Requires MCCI 3411 Driver? No — works directly via OS USB stack Yes — requires driver install
Best For Throughput benchmarks, scripted tests, headless/CI environments, Linux workflows Interactive exploration, visual descriptor browsing, vendor command testing
Loopback Test ✔ benchmark, integrity, view ✔ Benchmark, Data Integrity, Data View
Vendor Commands ✔ via Control Test with vendor request file
Modes Supported Loopback (PID F645) · Multi-Bulk (PID 020C) Loopback · Multi-Bulk (with driver installed)
Download mcci_usbiotest-v2.0.0.zip usbioex-V5_19c.zip
Quick decision: On Linux? → USBIOTEST. Need a GUI? → USBIOEx. Need automation? → USBIOTEST. Need to send vendor commands interactively? → USBIOEx. Both tools can test Loopback and Multi-Bulk modes.

7. Downloads

All files are available as attachments at the bottom of this page.

Available Downloads

USBIOTEST v2.0.0

CLI test tool. Linux x86_64 + AARCH64 + Windows i386/x64. No driver needed.

mcci_usbiotest-v2.0.0.zip (3 MB)

USBIOEx v5.19c

Windows GUI test tool. Requires MCCI 3411 Driver.

usbioex-V5_19c.zip (238 KB)

MCCI 3411 Driver

Windows driver for USBIOEx. Checked + Free variants.

MCCI-3411-driver-V5_38_17_1-release.zip (324 KB)

DFU Firmware Installer v2.6.0

Windows, Linux, macOS packages.

model3411-compliance-dfu-installer-v260-*.zip

Vendor Request File

For USBIOEx vendor command testing.

model3411-vendor-request.txt (3 KB)

User's Manual (PDF)

Complete reference: 950001616 Rev O.

950001616o_Model-3411-Users-Guide.pdf

8. USBIOTEST — Command-Line Test Tool

8.1 Setup

Linux

  1. Extract mcci_usbiotest-v2.0.0.zip
  2. Install udev rules: cd rules.d && sudo ./install.sh
  3. Navigate to bin/ — choose Release (no debug logs) or Debug (verbose logging)
  4. Connect Model 3411 via USB-C
  5. If you see "Couldn't open device": run with sudo or verify udev rules are installed

Windows

  1. Extract mcci_usbiotest-v2.0.0.zip
  2. Choose i386 (32-bit) or x64 (64-bit), then Debug or Release
  3. Open Command Prompt → navigate to bin\
  4. Connect Model 3411 via USB-C

8.2 Command Syntax

usbiotest [options] <deviceId> # Full form: ./usbiotest -i <IN_PIPE> -o <OUT_PIPE> -N <COUNT> -T <TESTTYPE> \ -m <MODE> -b <BUFFERSIZE> -v -F <FREQ> -t <TIMEOUT> <VID>:<PID>

Options

Option Description
-i <pipe> IN endpoint pipe (c/i/a/p notation). -i - resets.
-o <pipe> OUT endpoint pipe. -o - resets.
-N <n> Number of iterations. 0 = indefinite.
-T <type> benchmark · integrity · view
-m <mode> normal · random · sweep
-b <bytes> Buffer size. Must match device buffer — see Section 8.5.
-v Verbose. Lists all pipes when run without test options.
-F <freq> Report every N iterations. 0 disables display.
-t <ms> Timeout in milliseconds.
-I <n> Max isoch packets per transfer. -I 0 = default.
-z Enable Zero Length Packet.
-D <mask> Debug mask. 0x10 = dump trace at end. 0xffffffff = all.
-h Print full help.

Test Types

Type What It Does Speed When to Use
benchmark Measures raw throughput, no data validation Fastest Maximum speed measurement, throughput regression
integrity Validates received data byte-by-byte against expected values Slower Verify data correctness after a path (hub, cable, fabric)
view Displays received data in hex Slowest Debugging data corruption — inspect actual bytes

Test Variations

Variation Options Device Behavior
Loopback Both -o and -i Device loops OUT data back on IN
Write-only Only -o Data sink test (device consumes data)
Read-only Only -i Data source test (device generates data matching what -o would send)

8.3 Understanding Pipes (c/i/a/p)

Pipes are addressed as C/I/A/P: Configuration / Interface / Alternate Setting / Pipe index. Run usbiotest -v <VID>:<PID> to list all pipes on your device.

Loopback Mode Pipe Map (v2.0.0+) — What to Use for Each Test

What You're Testing Pipe IN Pipe OUT Type MaxPacketSize Notes
Bulk throughput (primary) 0/0/1/0 0/0/1/1 Bulk 1024 Main benchmark path
Interrupt (small packet) 0/0/2/0 0/0/2/1 Interrupt 64 Low-bandwidth periodic
Interrupt (large packet) 0/0/3/0 0/0/3/1 Interrupt 16384 High-bandwidth periodic
Isochronous (low BW) 0/0/4/0 0/0/4/1 Isoch 512 Interval=8
Isochronous 48K (high BW) 0/0/5/0 0/0/5/1 Isoch 49152 Interval=1
Isochronous 96K (max BW) 0/0/6/0 0/0/6/1 Isoch 98304 Interval=1 · Driver limitation — see note
Bulk write-only (sink) 0/0/7/0 Bulk OUT 1024 OUT-only, no loopback
Bulk read-only (source) 0/0/8/0 Bulk IN 1024 IN-only, no loopback
Firmware version note: Pipe addresses changed between v1.25.0 and v2.0.0. In v1.25.0 and below, the primary bulk pair is 0/0/0/0 + 0/0/0/1. Always run usbiotest -v <VID>:<PID> to confirm your device's actual pipe layout. Check firmware version with appversion on the serial console.

8.4 Target Device Selection (Multiple Devices)

Syntax What It Selects When to Use
040e:f645 First matching device Single device on host
040e:f645/1 Second device (0-indexed) Multiple same-VID/PID devices
040e:f645::0002CC003355 Match by serial number Manufacturing fixtures, stable identification
040e:f645:2000 Match VID + PID + revision Mixed firmware versions
040e:f645:2000:0002CC003355 Match VID + PID + revision + serial Most specific selection

Finding identifiers:

# Linux — list devices and find serial/revision: lsusb -v -d 040e:f645 | grep -E "iSerial|bcdDevice" # Serial console: SHLL [/] # getserialnum Device serial number is 0002CC003355 # Windows — Device Manager → Properties → Details → Hardware Ids (revision) or Device Instance Path (instance number)

8.5 Buffer Sizes — Getting This Right

Critical: The -b buffer size must be an integral multiple of the device's internal buffer. Mismatched sizes cause stale data on the IN pipe, apparent device hangs, or incomplete transfers. USBIOTEST does not reset the device or drain queues at startup.
Pipe Type Formula Example
Bulk MaxPacketSize × MaxPacketSize 1024 × 1024 = 1,048,576
Isochronous MaxPacketSize × (8 ÷ Interval) × 20 49152 × (8÷1) × 20 = 7,864,320

Verify device-side buffer sizes with the serial console:

SHLL [/] # getbuffersize Bulk endpoint buffer size 100000 Interrupt endpoint buffer size 4000 Isochronous endpoint buffer size 180000
Pipe (IN/OUT) Type MaxPkt Interval Buffer -b -N -F Expected Throughput
0/0/1/0 · 0/0/1/1 Bulk 1024 1048576 1000 1000 2 GBps, 16 Gbps
0/0/4/0 · 0/0/4/1 Isoch 512 8 10240 100 100 1.0 MBps, 8.2 Mbps
0/0/5/0 · 0/0/5/1 Isoch 48K 49152 1 7864320 100 100 786 MBps, 6.3 Gbps
0/0/6/0 · 0/0/6/1 Isoch 96K 98304 1 15728640 100 100 Driver limitation
Known limitations: (1) 96K isochronous loopback is limited by a host-side driver issue — will be addressed in a future update. (2) High-speed isochronous loopback tests do not work on some Intel processors.

Interpreting Your Results

USBIOTEST reports WRITE (OUT) and READ (IN) throughput separately, plus a TOTAL. Here's how to read them:

What You See What It Means
TOTAL matches expected (e.g., ~16 Gbps for Gen2 bulk) Your host and path are performing optimally
TOTAL is roughly half expected Likely a unidirectional bottleneck — check if WRITE and READ are balanced
Gen2 device but throughput matches Gen1 levels Check the OLED — if it shows G1(G2), the link trained at Gen1. Try a different cable or port.
Throughput degrades over time Possible thermal throttling on the host xHCI controller. Check host system thermals.
Integrity test reports errors Data corruption on the path. Try a different cable, port, or hub. Check for EMI sources.

8.7 Multi-Bulk Loopback Settings (Mode 2, PID 020C, v2.0.0+)

Pipe (IN/OUT) Interface Buffer -b Expected Throughput
0/0/1/0 · 0/0/1/1 0 1048576 2 GBps, 16 Gbps
0/1/1/0 · 0/1/1/1 1 1048576 2 GBps, 16 Gbps
0/2/1/0 · 0/2/1/1 2 1048576 2 GBps, 16 Gbps
# Multi-bulk test (note the PID is 020C, not F645) sudo ./usbiotest -i 0/0/1/0 -o 0/0/1/1 -N 1000 -T benchmark -b 1048576 -F 1000 040e:020c

8.8 Tracing & Diagnostics

USBIOTEST has a built-in "flight recorder" trace subsystem for diagnosing hangs or unusual behavior:

  • During a test: Press Ctrl+\ (sends SIGQUIT) to dump the current trace buffer. Useful when the device appears hung.
  • After a test: Set -D 0x10 (bit 4 of debug mask) to dump the trace buffer at the end of the run.

9. USBIOEx — Windows GUI Test Tool

USBIOEx is a Windows GUI for interactive testing. It requires the MCCI 3411 driver.

9.1 Installing the Driver

  1. Download MCCI-3411-driver-V5_38_17_1-release.zip. The package has checked (debug logs) and free (no debug logs) versions — use free for normal testing.
  2. Ensure the 3411 is in Loopback or Multi-Bulk mode. Connect via USB-C.
  3. Device Manager → find "Model 3411 USB Loopback Device" under Universal Serial Bus devices.
  4. Right-click → Update driverBrowse my computerLet me pick from a list.
  5. Click Have Disk…Browse → select 3411gen.inf from the extracted driver folder → OK.
  6. Select "MCCI USB Model 3411 in Loopback Mode" → Next → Close.
The driver is digitally signed. No test signing mode required.

9.2 Running a Loopback Test

  1. Launch USBIOEx → Test → Open Device…
  2. Test → Run Loopback Test…
  3. Configure: Test Type, Input/Output Pipe (c/i/a/p), Buffer Sizes, Loop Mode, Iterations
  4. Click OK → results display in the main window

Use the recommended settings from Section 8.6 (same pipe addresses and buffer sizes apply).

9.3 Vendor Commands

  1. Place model3411-vendor-request.txt in the USBIOEx application directory
  2. Test → Run Control Test… → Browse → load the vendor request file
  3. Select a command (e.g., GET_DEVICE_SERIAL_NUMBER, SET_DEVICE_MODE_LOOPBACK) → Send

10. Compliance Mode (Mode 0)

In Compliance mode, the 3411 is SuperMUTT-compatible and works with USB-IF test tools. No MCCI driver is needed — the USB-IF/Microsoft tools use their own drivers.

Supported Test Tools

Tool Purpose Download
XHCICV xHCI host controller compliance verification usb.org/compliancetools
xHSETT USB SuperSpeed electrical test usb.org/compliancetools
USB4CV USB4 compliance (Chapter 9 tests) usb.org/compliancetools
Microsoft MUTT Microsoft USB Test Tool suite Microsoft Docs

Direct Run Mode (v2.0.0+, Bootloader v1.1.0+)

Bypasses bootloader enumeration, directly launching the compliance app:

SHLL [/] # dfu # halt before compliance mode starts SHLL [/] # run 1 # enable direct run (bypass bootloader) enable direct run mode # Disconnect and reconnect to activate

xHSETT Setup

Set VID/PID for xHSETT using the serial console. Use VID 0x1a0a and a PID from this table:

PID Test Mode Description
0x0101 TEST_SE0_NAK SE0 state continuously
0x0102 TEST_J J state (D+ high, D− low)
0x0103 TEST_K K state (D+ low, D− high)
0x0104 TEST_PACKET Standard test packets for eye diagram
0x0107 SINGLE_STEP_GET_DEV_DESC 15s SOFs then GetDescriptor(Device)
0x0106 SUSPEND / RESUME / RESET 15s SOFs then suspend, resume, or reset
SHLL [/] # setvidpid 0x1a0a 0x0101 Setting vid=1a0a pid=0101

11. UASP Mode (Mode 3)

Presents a 750 MB RAM disk over USB Attached SCSI Protocol. Enumerates as "USB Attached SCSI (UAS) Mass Storage Device."

CrystalDiskMark (Windows)

Download CrystalDiskMark → Test size: 512 MiB → Profile: Peak Performance → Queue Depth: 64 → Click "All".

fio (Linux)

# Random R/W benchmark fio --name=rand-rw --filename=/mnt/usb/testfile --size=1G \ --rw=randrw --bs=4k --ioengine=libaio --numjobs=4 \ --runtime=30 --time_based --group_reporting # Latency test fio --name=latency --filename=/mnt/usb/testfile --size=1G \ --rw=randrw --bs=4k --iodepth=32 --ioengine=libaio \ --numjobs=4 --runtime=30 --time_based --group_reporting

12. Firmware Update (DFU)

DFU requires firmware v1.24.3+. Older units must be sent to MCCI for update. Contact support.

The DFU process has 3 stages, each requiring a cable disconnect/reconnect:

  1. Download model3411-compliance-dfu-installer-v260-<OS>.zip
  2. Connect 3411 via Type-C. On Linux, also connect Micro-B.
  3. Run: model3411-compliance-dfu-installer
  4. Stage 1: Bootloader app downloads → "Please disconnect and reconnect" → unplug/replug Type-C within 10 seconds
  5. Stage 2: Bootloader firmware downloads → unplug/replug again within 10 seconds
  6. Stage 3: Production firmware downloads → unplug/replug one final time
  7. Verify: appversion on serial console
If you miss the timing: If the device isn't reconnected within the 10-second window, the installer exits. Restart the process from Step 3.

13. Shell Command Quick Reference

Command Description
getdevicemode Current mode (compliance / loopback / multi-bulk / uasp)
setdevicemode <0|1|2|3> 0=Compliance, 1=Loopback, 2=Multi-bulk, 3=UASP
getdevicespeed Current USB speed
setdevicespeed <spd> <disc> <conn> 0=nochange 1=FS 2=HS 3=Gen1 4=Gen2 + delays in sec
getbuffersize Show buffer sizes (bulk / interrupt / isochronous)
setbuffersize <0|1|2> <hex> Set buffer: 0=bulk 1=interrupt 2=isochronous
appversion Firmware version strings
getserialnum Device serial number
controlssc <0|1> Disable/enable Spread Spectrum Clocking
setvidpid <vid> <pid> Override VID/PID (for xHSETT)
dfu Halt at bootloader
run <0|1> Disable/enable direct run mode
help all List all commands

14. Troubleshooting

! Common Mistakes — Check These First
  1. Changing mode without a power cycle. A new mode only takes effect after you disconnect and reconnect the USB-C cable. Confirm with getdevicemode.
  2. Using a non-certified USB cable. Many USB-C cables are Gen1-only or charge-only. Use the Gen2-rated cable supplied with the 3411.
  3. Testing through a hub. Always connect the 3411 directly to a host port. Hubs cap the link speed and distort throughput results.
  4. Wrong driver installed. Each mode binds to a specific PID/driver (see Section 9.1). A mode/driver mismatch shows as “Unknown Device.”
  5. Compliance mode selected accidentally. Mode 0 enumerates as a SuperMUTT, not a loopback device, so USBIOTEST can’t open it. Switch back with setdevicemode.
Device shows "Unknown Device" or yellow bang in Device Manager

Wrong mode: The MCCI 3411 driver only matches PIDs F645 (Loopback) and 020C (Multi-Bulk). Compliance (F644) and UASP (020D) use different drivers. Check with getdevicemode.

Driver not installed: The driver is not auto-installed — follow Section 9.1 to manually install via 3411gen.inf.

USBIOTEST: "Couldn't open device" on Linux

Permissions: Run sudo ./usbiotest ... or install udev rules: cd rules.d && sudo ./install.sh

Stale data, device hangs, or incomplete transfers during loopback

Buffer mismatch: The -b value must be an integral multiple of the device's internal buffer. See Section 8.5 for formulas. Verify with getbuffersize.

Interrupted previous test: USBIOTEST does not reset queues on startup. Stale data from an interrupted test can cause the next test to read old data. Disconnect and reconnect USB-C to clear device state.

Device enumerates at Gen1 instead of Gen2

OLED check: If it shows G1(G2), the device supports Gen2 but the link negotiated Gen1 — the problem is the cable, port, or host.

Cable: Many USB-C cables are Gen1-only. Use the cable included with the 3411 (rated for Gen2).

Port: Verify the host port supports Gen2. Thunderbolt 3/4 and USB4 ports always do.

Force speed: setdevicespeed 4 1 1 forces Gen2 with 1-second connect/disconnect delays.

USBIOTEST shows wrong pipes or "can't find pipe for (null)"

Firmware version: Pipe addresses changed between v1.25.0 and v2.0.0. Run usbiotest -v <VID>:<PID> to see your device's actual layout. Check firmware with appversion.

Wrong PID: Multi-bulk uses 040e:020c, not 040e:f645. Match the PID to the device mode.

High-speed isochronous test fails or hangs

Known platform issue: HS isochronous loopback does not work on some Intel processors. Try an AMD system or a different Intel platform.

DFU firmware update fails or times out

Timing: You must disconnect and reconnect the Type-C cable within the 10-second window after each stage. If you miss it, the installer exits — restart from the beginning.

Linux: Both Micro-B and Type-C must be connected during bootloader download.

Old firmware: DFU requires v1.24.3+. Older units must be sent to MCCI for update.

15. Filing a Support Ticket — What to Include

? When Should I Open a Support Ticket?

You’ve worked through the troubleshooting steps above but still hit one of these. Open a ticket if:

  1. The device does not enumerate — no entry appears in Device Manager / lsusb on any port or cable.
  2. The driver installs but a test cannot start — correct mode and driver, yet USBIOTEST/USBIOEx fails to open the device.
  3. Throughput is below 50% of the expected value — confirmed Gen2 link, direct connection, correct buffer sizes.
  4. A firmware update fails — DFU repeatedly times out or the unit won’t boot afterward.
Have the checklist below ready, then email techsupport@mcci.com.

When contacting techsupport@mcci.com or opening a portal ticket, please include all of the following to help us diagnose your issue quickly:

Support Ticket Checklist

  1. Serial number — from the OLED, or getserialnum, or the label on the underside (format: 00-02-CC-xx-xx-xx)
  2. Firmware version — from appversion output (all 3 lines)
  3. Current device mode — from getdevicemode
  4. Connection speed — from getdevicespeed or OLED display
  5. Buffer sizes — from getbuffersize
  6. OLED display contents — a photo or description of all fields
  7. Host system details — OS, xHCI controller (Intel/AMD/ASMedia), USB port type
  8. The exact USBIOTEST command you ran and its full output
  9. Steps to reproduce the problem

16. Firmware Version History

Version Key Changes
v2.6.0 UASP mode. Direct run mode (bootloader bypass). Additional isoch endpoints. Lost/corrupt packet identification.
v2.0.0 Vendor control commands. getserialnum. Changed pipe ordering (breaking change from v1.x).
v1.25.0 OLED display with device/operational info.
v1.24.3 Multi-bulk loopback. DFU update support.
v1.24.0 appversion shell command.
v1.23.0 SSC control.
v1.22.0 GetDeviceVersion. Endpoint order change in loopback.
v1.20.0 Unified compliance+loopback app. Mode switching. EEPROM. Isoch+bulk loopback.
v1.12.0 OLED driver. Device test application.
v1.10.0 EEPROM. OLED logo. Sensors.
v1.06.0 Initial loopback application.

Have a USB test challenge?

MCCI has built and licensed USB host and device stacks for over 20 years. Talk to our engineers about the Model 3411, custom firmware variants, or volume & manufacturing-fixture pricing.

17. Additional Resources

Resource Link
Datasheet 971001060c_Model-3411-Gen2-Loopback-Datasheet.pdf
Product Home Page mcci.com/usb/dev-tools/model-3411
Purchase store.mcci.com/products/model-3411
MCCI USB DataPump mcci.com/usb/software-stacks/datapump
FTDI VCP Drivers ftdichip.com/drivers
USB-IF Compliance Tools usb.org/compliancetools
MCCI Support Portal portal.mcci.com

MCCI®, TrueTask®, MCCI USB DataPump® are registered trademarks of MCCI Corporation. USB4®, USB-C®, USB Type-C® are registered trademarks of USB Implementers Forum, Inc. All other trademarks are property of their respective owners. Copyright © 2026 MCCI Corporation. Engineering Reports 950001616 Rev O, 950001629 Rev B.


    • Related Articles

    • MCCI Model 3421 Users Guide

      The MCCI® Model 3421 is a USB-to-HDMI converter device that runs with Basic Display Protocol (BDP) developed based on the USB/VESA joint specification. The MCCI Model 3421 has a USB micro-B port for control, a Type C port & a Micro HDMI port to act ...
    • MCCI Cricket UI Software and Documentation

      MCCI Cricket UI Overview MCCI® has created a versatile and easy-to-use MCCI Cricket UI that works across different platforms and devices. It allows you to control various MCCI products such as the Model 3142 USB4™ Model 3141 USB4™ Switch, Model 3201 ...
    • MCCI Model 4922 Test Controller Kit

      The MCCI Model 4922 Test Controller Kit is a computer-controlled programmable test adapter that allows fully hands-off control of Texas Instruments evaluation modules ("EVMs") for the Sitara AM243x, AM64xx, and AM62xx chips. Instead of changing ...
    • Model 3142 USB4™ Switch Documentation and Downloads

      Overview The MCCI® Model 3142 USB4 Switch is a computer-controlled programmable 2:1 switch, connecting two USB Type-C® receptacles to a single Type-C plug. It is compatible with USB4 hosts and devices at signaling rates up to 80 gigabits/second, as ...
    • Model 3141 USB4™ Switch Documentation and Downloads

      Overview The MCCI® Model 3141 USB4™ Switch is a computer-controlled programmable 2:1 switch, connecting two USB Type-C® receptacles to a single Type-C plug. It is compatible with USB4 hosts and devices, as well as other protocols such as Thunderbolt™ ...