Skip to content
Back to skills

Cmedia

ASecurity

C-Media Electronics MPN encoding patterns, USB audio controller decoding, and handler guidance. Use when working with C-Media audio ICs or CMediaHandler.

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
developmentjavagit

Security analysis

A100/100

Scanned February 10, 2026

npx -y skills add majiayu000/claude-skill-registry --skill cmedia --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cmedia?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cmedia
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-cmedia/badge)](https://www.skillsdirectory.com/skills/majiayu000-cmedia)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cmedia
description: C-Media Electronics MPN encoding patterns, USB audio controller decoding, and handler guidance. Use when working with C-Media audio ICs or CMediaHandler.
---

# 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

```java
// 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

```java
// 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

```java
// 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

```java
// 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.

<!-- Add new learnings above this line -->

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.