Lib-electronic-components realtek
Realtek Semiconductor MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Realtek audio codecs, Ethernet controllers, WiFi ICs, or RealtekHandler.
git clone https://github.com/Cantara/lib-electronic-components
T=$(mktemp -d) && git clone --depth=1 https://github.com/Cantara/lib-electronic-components "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/manufacturers/realtek" ~/.claude/skills/cantara-lib-electronic-components-realtek && rm -rf "$T"
.claude/skills/manufacturers/realtek/SKILL.mdRealtek Semiconductor Manufacturer Skill
Company Overview
Realtek Semiconductor Corporation is a fabless IC design house founded in 1987 in Taiwan. They are a leading supplier of:
- Audio Codecs: PC audio (ALC series) - dominant in motherboard audio
- Ethernet Controllers: PCIe/USB Ethernet (RTL81xx series) - #1 market share
- Gigabit PHY: Physical layer transceivers (RTL821x series)
- WiFi Controllers: 802.11n/ac/ax wireless (RTL88xx series)
- Display Controllers: LCD/monitor controllers (RTD2xxx series)
- Card Readers: SD/MMC controllers
MPN Structure
Realtek MPNs follow this general structure:
[PREFIX][SERIES][VARIANT]-[PACKAGE] | | | | | | | +-- Package code (GR, VB, CG, etc.) | | +-- Variant letter (E, F, G, H for generations) | +-- Series number (269, 1220, 8111, etc.) +-- Family prefix (ALC, RTL, RTD)
Example Decoding
ALC892-GR | | || | | |+-- GR = QFP package | | +-- (no variant) | +-- 892 = High-end audio codec +-- ALC = Audio codec family RTL8111H-CG | | ||| | | ||+-- CG = QFN package | | |+-- H = Generation H (latest) | | +-- 8111 = Gigabit Ethernet +-- RTL = Realtek network IC RTL8211E-VL-CG | | | | || | | | | |+-- CG = QFN package | | | | +-- (second suffix) | | | +-- VL = QFN-VL variant | | +-- E = Generation E +-- RTL = Gigabit PHY
Product Families
Audio Codecs (ALC Series)
| Series | Category | Examples | Features |
|---|---|---|---|
| ALC2xx | Entry-level | ALC269, ALC272 | Basic PC audio, notebooks |
| ALC6xx | Mid-range | ALC662, ALC663 | Desktop motherboards |
| ALC8xx | High-end | ALC892, ALC898 | Enthusiast motherboards |
| ALC1xxx | HD Audio | ALC1150, ALC1200, ALC1220 | High-end gaming |
| ALC5xxx | Mobile | ALC5640, ALC5682 | Smartphones, tablets |
Audio Codec Generations:
- Standard: ALC2xx, ALC6xx, ALC8xx - PC audio applications
- HD (High Definition): ALC1xxx - Premium PC audio with higher SNR
- Mobile: ALC5xxx - Low-power codecs for portable devices
Ethernet Controllers (RTL81xx Series)
| Series | Category | Interface | Speed |
|---|---|---|---|
| RTL810x | Fast Ethernet | PCIe | 10/100 Mbps |
| RTL811x | Gigabit PCIe | PCIe | 10/100/1000 Mbps |
| RTL816x | Gigabit PCIe | PCIe | 10/100/1000 Mbps |
| RTL821x | Gigabit PHY | RGMII/SGMII | 10/100/1000 Mbps |
Notable Parts:
- RTL8101E: Budget Fast Ethernet, PCIe
- RTL8111H: Most popular Gigabit Ethernet controller
- RTL8168E: Server/industrial Gigabit Ethernet
- RTL8211E/F: Integrated Gigabit PHY for SoCs
WiFi Controllers (RTL88xx Series)
| Series | Standard | Band | Notes |
|---|---|---|---|
| RTL8188 | 802.11n | 2.4GHz | Single-band, USB/PCIe |
| RTL8192 | 802.11n | 2.4GHz | Dual-stream, USB/PCIe |
| RTL8812 | 802.11ac | Dual-band | Wave 1, USB/PCIe |
| RTL8814 | 802.11ac | Dual-band | Wave 2, 4x4 MIMO |
IMPORTANT: RTL8188 and RTL8192 start with "RTL81" but are WiFi controllers, NOT Ethernet! The handler groups them with RTL88xx for series extraction.
Display Controllers (RTD2xxx Series)
| Series | Category | Application |
|---|---|---|
| RTD2xxx | LCD Controllers | Monitors, TVs |
Package Codes
QFP (Quad Flat Package)
| Code | Package | Notes |
|---|---|---|
| GR | QFP | Standard quad flat package |
| G | QFP | QFP variant |
QFN (Quad Flat No-lead)
| Code | Package | Notes |
|---|---|---|
| VB | QFN | Standard QFN |
| CG | QFN | Common for Ethernet ICs |
| VL | QFN-VL | QFN VL variant |
| VS | QFN-VS | QFN VS variant |
| VD | QFN-VD | QFN VD variant |
| VA | QFN-VA | QFN VA variant |
| VC | QFN-VC | QFN VC variant |
| VF | QFN-VF | QFN VF variant |
| LF | QFN-LF | Lead-free QFN |
BGA (Ball Grid Array)
| Code | Package | Notes |
|---|---|---|
| BR | BGA | Ball grid array |
| BG | BGA | BGA variant |
Qualifiers
| Code | Meaning | Notes |
|---|---|---|
| TR | Tape and Reel | Packaging for SMT |
| LF | Lead-free | RoHS compliant |
Series Extraction Rules
The handler extracts series using these rules:
| MPN Prefix | Series | Product Category |
|---|---|---|
| ALC1xxx | ALC1 | HD Audio Codecs |
| ALC5xxx | ALC5 | Mobile Audio Codecs |
| ALC2xx | ALC2 | Entry-level Audio |
| ALC6xx | ALC6 | Mid-range Audio |
| ALC8xx | ALC8 | High-end Audio |
| RTL8188/8192 | RTL88 | WiFi Controllers (special case!) |
| RTL810x/811x/816x | RTL81 | Ethernet Controllers |
| RTL821x | RTL82 | Gigabit PHY |
| RTL88xx | RTL88 | WiFi Controllers |
| RTD2xxx | RTD2 | Display Controllers |
CRITICAL: RTL8188 and RTL8192 return "RTL88" (WiFi series), not "RTL81" (Ethernet), even though they start with "RTL81".
Official Replacement Rules
The handler identifies compatible replacements within series:
Audio Codec Compatibility
| Original | Replacement | Notes |
|---|---|---|
| ALC892 | ALC898 | Pin-compatible upgrade |
| ALC898 | ALC892 | Pin-compatible downgrade |
| ALC1150 | ALC1200 | Similar pinouts |
| ALC1200 | ALC1220 | Often compatible |
Ethernet Controller Compatibility
| Original | Replacement | Notes |
|---|---|---|
| RTL8111E | RTL8111F/G/H | Backward compatible generations |
| RTL8168E | RTL8168F/G/H | Backward compatible generations |
| RTL8211E | RTL8211F | Backward compatible |
WiFi Controller Compatibility
| Original | Replacement | Notes |
|---|---|---|
| RTL8188EU | RTL8188EUS | Same IC, different suffix |
| RTL8192EU | RTL8192EUS | Same IC, different suffix |
Handler Helper Methods
The RealtekHandler provides these utility methods for product classification:
isAudioCodec(String mpn)
isAudioCodec(String mpn)Returns true if the MPN is an ALC audio codec.
isAudioCodec("ALC892-GR") // true isAudioCodec("RTL8111H-CG") // false
isNetworkController(String mpn)
isNetworkController(String mpn)Returns true if the MPN is an Ethernet controller (excludes WiFi).
isNetworkController("RTL8111H-CG") // true isNetworkController("RTL8188EU") // false (WiFi, not Ethernet!)
isWiFiController(String mpn)
isWiFiController(String mpn)Returns true if the MPN is a WiFi controller.
isWiFiController("RTL8188EU") // true isWiFiController("RTL8812AU") // true isWiFiController("RTL8111H-CG") // false
isDisplayController(String mpn)
isDisplayController(String mpn)Returns true if the MPN is an RTD display controller.
isDisplayController("RTD2660") // true isDisplayController("ALC892") // false
getAudioCodecGeneration(String mpn)
getAudioCodecGeneration(String mpn)Returns the audio codec generation.
getAudioCodecGeneration("ALC1220") // "HD" getAudioCodecGeneration("ALC5682") // "Mobile" getAudioCodecGeneration("ALC892") // "Standard"
getNetworkInterfaceType(String mpn)
getNetworkInterfaceType(String mpn)Returns the network interface type.
getNetworkInterfaceType("RTL8101E") // "Fast Ethernet" getNetworkInterfaceType("RTL8111H") // "Gigabit Ethernet" getNetworkInterfaceType("RTL8211F") // "Gigabit PHY" getNetworkInterfaceType("RTL8188EU") // "WiFi"
Example MPNs with Full Decoding
Audio Codecs
| MPN | Series | Package | Generation | Notes |
|---|---|---|---|---|
| ALC269-GR | ALC2 | QFP | Standard | Entry-level notebook audio |
| ALC662-GR | ALC6 | QFP | Standard | Mid-range desktop audio |
| ALC892-GR | ALC8 | QFP | Standard | High-end motherboard audio |
| ALC1150-VB | ALC1 | QFN | HD | Premium PC audio |
| ALC1220-VB | ALC1 | QFN | HD | Top-tier gaming audio |
| ALC5640-VB | ALC5 | QFN | Mobile | Smartphone/tablet audio |
| ALC5682-VF | ALC5 | QFN | Mobile | Current mobile audio |
Ethernet Controllers
| MPN | Series | Package | Interface | Notes |
|---|---|---|---|---|
| RTL8101E-GR | RTL81 | QFP | Fast Ethernet | 10/100 Mbps PCIe |
| RTL8102E-GR | RTL81 | QFP | Fast Ethernet | 10/100 Mbps PCIe |
| RTL8111E-VL-CG | RTL81 | QFN | Gigabit | Gen E Gigabit PCIe |
| RTL8111H-CG | RTL81 | QFN | Gigabit | Latest Gigabit PCIe |
| RTL8168E-VL-CG | RTL81 | QFN | Gigabit | Server Gigabit |
| RTL8211E-VL-CG | RTL82 | QFN | Gigabit PHY | Integrated PHY |
| RTL8211F-CG | RTL82 | QFN | Gigabit PHY | Latest PHY |
WiFi Controllers
| MPN | Series | Package | Standard | Notes |
|---|---|---|---|---|
| RTL8188EU | RTL88 | - | 802.11n | USB 2.4GHz |
| RTL8188EUS | RTL88 | - | 802.11n | USB 2.4GHz |
| RTL8192EU | RTL88 | - | 802.11n | USB 2.4GHz dual-stream |
| RTL8812AU | RTL88 | - | 802.11ac | USB dual-band |
| RTL8814AU | RTL88 | - | 802.11ac | USB 4x4 MIMO |
Handler Implementation Notes
Package Code Extraction
// Realtek uses hyphen-separated suffixes // Most MPNs: BASE-PACKAGE // Multi-suffix: BASE-VARIANT-PACKAGE (take last segment) int lastDashIndex = mpn.lastIndexOf('-'); String suffix = mpn.substring(lastDashIndex + 1); return decodePackageCode(suffix); // Package codes starting with 'V' are typically QFN variants // Package codes starting with 'G' are typically QFP // Package codes starting with 'B' are typically BGA
Series Extraction - WiFi Special Case
// CRITICAL: RTL8188 and RTL8192 must be checked BEFORE general RTL81xx // They start with "RTL81" but are WiFi, not Ethernet! if (upperMpn.startsWith("RTL8188") || upperMpn.startsWith("RTL8192")) { return "RTL88"; // Group with WiFi series } // Then check RTL81 for Ethernet if (upperMpn.startsWith("RTL81")) { return "RTL81"; }
Component Type
RealtekHandler only supports
ComponentType.IC. All Realtek products (audio codecs, Ethernet, WiFi, display controllers) are registered under the base IC type.
Related Files
- Handler:
manufacturers/RealtekHandler.java - Component types:
(all Realtek products)ComponentType.IC - Supported types:
(immutable)Set.of(ComponentType.IC)
Learnings & Quirks
- WiFi vs Ethernet disambiguation: RTL8188 and RTL8192 start with "RTL81" but are WiFi controllers, NOT Ethernet. The handler explicitly checks these before the general RTL81 Ethernet pattern.
- Package code prefixes: Most QFN variants start with 'V' (VB, VL, VS, VD, VA, VC, VF). The handler uses a switch statement with fallback to prefix matching.
- Multi-suffix MPNs: Some MPNs have multiple hyphens (e.g., RTL8211E-VL-CG). The handler extracts the LAST segment as the package code.
- Audio codec tiers: ALC1xxx is HD Audio (highest quality), ALC8xx is high-end, ALC6xx is mid-range, ALC2xx is entry-level, ALC5xxx is mobile.
- Ethernet generation letters: RTL8111 generations (E, F, G, H) are typically backward compatible. H is the latest generation.
- getSupportedTypes() uses Set.of(): Handler correctly uses immutable Set.of() instead of HashSet.
- All products registered as IC: Unlike some handlers, Realtek doesn't use manufacturer-specific ComponentTypes (no AUDIO_CODEC_REALTEK etc.). Everything is ComponentType.IC.
- No manufacturer-specific types: getManufacturerTypes() returns empty set.