mcci-3411

Operate an MCCI Model 3411 USB 3.2 Gen2 test device via its FTDI control port and RTEMS shell.

2|Updated May 13, 2026
One-click install
npx skills add https://github.com/curtisgalloway/public-skills --skill mcci-3411-curtisgalloway
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mcci-3411
Source: https://github.com/curtisgalloway/public-skills/tree/main/plugins/hardware-lab/skills/mcci-3411
Command: npx skills add https://github.com/curtisgalloway/public-skills --skill mcci-3411-curtisgalloway

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyserial, and includes scripts (resource) and references (resource) components.

What problem does it solve? Configuring and driving an MCCI Model 3411 "Merganser" USB 3.2 Gen2 test device is error-prone: its control port enumerates as a generic FTDI FT2232H (0403:6010) rather than the documented MCCI VID/PID, only one of the two serial channels answers, and the RTEMS shell's pager silently eats keystrokes. This Skill handles all of that so you can switch device personalities and run throughput tests reliably. ## Core Features & Use Cases - Control-port automation: Auto-detects the correct FT2232H channel-B serial node, handles the pager, and runs RTEMS shell commands (mode, speed, buffer size, VID/PID override) via the bundled mcci3411.py helper. - Personality switching: Sets compliance, loopback, or multi-bulk device modes and forces enumeration speed (FS/HS/SS Gen1/Gen2) for host-controller and hub testing. - Throughput and integrity testing: Guides host-side usbiotest runs with correct pipe notation, buffer sizing, and benchmark/integrity test types. - Use Case: Benchmark a new USB 3.2 Gen2 host controller by putting the 3411 in loopback mode, then running a 100-iteration bulk benchmark from the system under test and verifying it approaches line rate. ## Quick Start Ask the agent to run the mcci3411 helper's info command to detect the connected Model 3411 control port and report its firmware, mode, speed, and buffer configuration.

Frequently Asked Questions about mcci-3411

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control an MCCI Model 3411 from the command line?▼

Connect the micro-B control port and use the bundled mcci3411.py script with pyserial to run RTEMS shell commands like setdevicemode, setdevicespeed, and getbuffersize. The script auto-detects the correct serial channel and handles the shell pager.

Why does my MCCI 3411 show up as 0403:6010 instead of 040e:f645?▼

The 0403:6010 identifier is the FTDI FT2232H chip on the micro-B control port, which is normal. The documented 040e:f64x VID/PID belongs to the USB-C data port and only appears when that port is plugged into a host.

How do I run a USB 3.2 Gen2 throughput benchmark with usbiotest?▼

Put the device in loopback mode, then run usbiotest on the system under test with the bulk pipe pair, benchmark test type, and a buffer size matching the device's getbuffersize value. A typical run uses -i 0/0/1/0 -o 0/0/1/1 -N 100 -T benchmark -b 1048576.

Why does the serial port open but nothing echoes on the Model 3411?▼

You are connected to FT2232H channel A, which is the JTAG/MPSSE interface and never responds. Use the second serial node, ending in 1 on macOS or /dev/ttyUSB1 on Linux, which carries the RTEMS shell.

Why do USB compliance tools not recognize the Model 3411?▼

Compliance tools like USB4CV and XHCICV only accept the device in compliance mode. Verify with getdevicemode, run setdevicemode 0 if needed, and then unplug and replug the USB-C cable because mode changes only apply on re-enumeration.