Claude-skill-registry cmedia
C-Media Electronics MPN encoding patterns, USB audio controller decoding, and handler guidance. Use when working with C-Media audio ICs or CMediaHandler.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/cmedia" ~/.claude/skills/majiayu000-claude-skill-registry-cmedia && rm -rf "$T"
manifest:
skills/data/cmedia/SKILL.mdsource content
C-Media Electronics Manufacturer Skill
MPN Structure
C-Media specializes in USB and HD audio controller ICs.
CM Series (USB Audio)
CM[SERIES][VARIANT]-[PACKAGE][PINS] | | | | | | | | | +-- Pin count (optional) | | | +-- Package code (QFP, LQFP, etc.) | | +-- Variant (A, AH, B) | +-- Series (108, 109, 119, 6xxx) +-- CM = C-Media prefix
CMI Series (HD/PCI Audio)
CMI[SERIES][VARIANT] | | | | | +-- Variant suffix | +-- Series (8738, 8768, 8788) +-- CMI = C-Media Interface
Example Decoding
CM108AH | | || | | |+-- H = variant revision | | +-- A = first variant | +-- 108 = Basic USB stereo audio codec +-- CM = C-Media prefix CM6631A-S | | || | | |+-- S = SSOP package | | +-- A = variant | +-- 6631 = Professional USB 2.0 audio processor +-- CM = C-Media prefix CMI8788 | ||| | ||+-- 8 = series number | |+-- 8 = 8-channel HD audio | +-- 87 = HD audio codec series +-- CMI = C-Media Interface
Product Families
CM108 Series - Basic USB Audio Codec
Entry-level USB stereo audio for PC peripherals.
| Part | Description | Features |
|---|---|---|
| CM108 | USB stereo codec | Basic stereo |
| CM108AH | Enhanced version | Higher quality |
| CM108B | Cost-optimized | Lower cost |
CM109 Series - USB Audio with HID
USB audio with keyboard/HID controller for headsets.
| Part | Description |
|---|---|
| CM109 | USB audio + HID keyboard |
| CM109A | Enhanced variant |
CM119 Series - USB 7.1 Channel Audio
Multi-channel USB audio for gaming and surround sound.
| Part | Description | Channels |
|---|---|---|
| CM119 | 7.1 USB audio | 8 |
| CM119A | Enhanced version | 8 |
| CM119B | Cost-optimized | 8 |
CM6xxx Series - Professional USB Audio
Higher-end USB audio ICs for professional applications.
| Part | Description |
|---|---|
| CM6206 | USB 2.0 basic audio |
| CM6400 | USB audio controller |
| CM6631 | USB 2.0 audio processor |
| CM6631A | Enhanced CM6631 |
| CM6632 | USB audio DAC |
CMI87xx Series - HD Audio Codec (PCI/PCIe)
HD audio codecs for motherboards and sound cards.
| Part | Description | Features |
|---|---|---|
| CMI8738 | PCI audio codec | Legacy 7.1 |
| CMI8768 | PCI-E audio | 7.1 surround |
| CMI8788 | Oxygen HD Audio | High-end 8-ch |
CMI83xx Series - Legacy PCI Audio
Older PCI audio codecs.
| Part | Description |
|---|---|
| CMI8330 | Legacy PCI audio |
Package Codes
| Code | Package | Notes |
|---|---|---|
| QFP | QFP | Quad flat package |
| LQFP, LQ | LQFP | Low-profile QFP |
| QFN | QFN | Quad flat no-lead |
| SSOP, S | SSOP | Shrink small outline |
| TQFP | TQFP | Thin QFP |
| PLCC | PLCC | Plastic leadless |
| BGA | BGA | Ball grid array |
Package Code Extraction
// Handle hyphenated suffixes // CM6631A-LQ -> LQFP // CM6631A-S -> SSOP // Handle embedded package codes // After variant letters, look for package indicators
Variant Suffixes
| Suffix | Meaning |
|---|---|
| A | First variant revision |
| AH | Enhanced variant |
| B | Second variant (often cost-optimized) |
Handler Implementation Notes
Series Extraction
// CM108, CM109, CM119 - return 5 characters if (upperMpn.matches("^CM108.*")) return "CM108"; if (upperMpn.matches("^CM109.*")) return "CM109"; if (upperMpn.matches("^CM119.*")) return "CM119"; // CM6xxx - return 6 characters (CM + 4 digits) if (upperMpn.matches("^CM6[0-9]{3}.*")) { return upperMpn.substring(0, 6); // CM6631 } // CMI87xx - return 7 characters (CMI + 4 digits) if (upperMpn.matches("^CMI87[0-9]{2}.*")) { return upperMpn.substring(0, 7); // CMI8788 }
Base Part Number Extraction
// Include variant letters in base part // CM108AH -> CM108AH // CM6631A -> CM6631A // Stop at package indicators if (remaining.matches("^(QFP|LQFP|QFN|SSOP|TQFP).*")) { break; }
Matching Patterns
// CM10x series "^CM10[89][A-Z]*.*" // CM119 series "^CM119[A-Z]*.*" // CM6xxx series "^CM6[0-9]{3}[A-Z]*.*" // CMI87xx series "^CMI87[0-9]{2}[A-Z]*.*" // CMI83xx series "^CMI83[0-9]{2}[A-Z]*.*"
Replacement Rules
Same Series Variants
Parts in the same series with different variants (A, AH, B) are generally compatible:
- CM108 -> CM108A -> CM108AH (increasing quality)
- CM119 -> CM119A -> CM119B (same features, different optimization)
Different Series
Different series are NOT compatible (different USB classes, channel counts):
- CM6206 != CM6631 (different USB audio implementations)
- CM108 != CM119 (stereo vs 7.1 channel)
Related Files
- Handler:
manufacturers/CMediaHandler.java - Component types:
ComponentType.IC
Common MPNs
| MPN | Description | Application |
|---|---|---|
| CM108AH | USB stereo codec | USB headsets |
| CM109 | USB audio + HID | Gaming headsets |
| CM119 | USB 7.1 audio | Gaming audio |
| CM6631A | USB 2.0 audio processor | USB DACs |
| CM6632 | USB audio DAC | External audio |
| CMI8788 | Oxygen HD Audio | Sound cards |
USB Class Compliance
| Series | USB Class | Driver Required |
|---|---|---|
| CM108 | USB Audio Class 1.0 | No (driverless) |
| CM119 | USB Audio Class 1.0 | No (driverless) |
| CM6631 | USB Audio Class 2.0 | Yes (on Windows) |
Applications
- USB headsets
- USB sound cards
- Gaming audio devices
- USB DACs
- Webcams with audio
- Conference devices
- PCI/PCIe sound cards
- Motherboard audio
Learnings & Edge Cases
- CM vs CMI prefix: CM = USB audio controllers, CMI = PCI/PCIe HD audio codecs.
- USB Class matters: CM108/CM119 are class-compliant (driverless), CM6631 needs drivers on Windows.
- 7.1 channel support: CM119 series is for 7.1 surround, CM108 is stereo only.
- HID keyboard support: CM109 has integrated HID controller for headset buttons/volume.
- CMI8788 "Oxygen": High-end part used in audiophile sound cards (Asus Xonar, etc.).
- Variant progression: A < AH < B is not always quality progression - check datasheets.
- Package suffix position: Package code comes after variant letter(s) in hyphenated format.