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.

install
source · Clone the upstream repo
git clone https://github.com/Cantara/lib-electronic-components
Claude Code · Install into ~/.claude/skills/
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"
manifest: .claude/skills/manufacturers/realtek/SKILL.md
source content

Realtek 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)

SeriesCategoryExamplesFeatures
ALC2xxEntry-levelALC269, ALC272Basic PC audio, notebooks
ALC6xxMid-rangeALC662, ALC663Desktop motherboards
ALC8xxHigh-endALC892, ALC898Enthusiast motherboards
ALC1xxxHD AudioALC1150, ALC1200, ALC1220High-end gaming
ALC5xxxMobileALC5640, ALC5682Smartphones, 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)

SeriesCategoryInterfaceSpeed
RTL810xFast EthernetPCIe10/100 Mbps
RTL811xGigabit PCIePCIe10/100/1000 Mbps
RTL816xGigabit PCIePCIe10/100/1000 Mbps
RTL821xGigabit PHYRGMII/SGMII10/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)

SeriesStandardBandNotes
RTL8188802.11n2.4GHzSingle-band, USB/PCIe
RTL8192802.11n2.4GHzDual-stream, USB/PCIe
RTL8812802.11acDual-bandWave 1, USB/PCIe
RTL8814802.11acDual-bandWave 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)

SeriesCategoryApplication
RTD2xxxLCD ControllersMonitors, TVs

Package Codes

QFP (Quad Flat Package)

CodePackageNotes
GRQFPStandard quad flat package
GQFPQFP variant

QFN (Quad Flat No-lead)

CodePackageNotes
VBQFNStandard QFN
CGQFNCommon for Ethernet ICs
VLQFN-VLQFN VL variant
VSQFN-VSQFN VS variant
VDQFN-VDQFN VD variant
VAQFN-VAQFN VA variant
VCQFN-VCQFN VC variant
VFQFN-VFQFN VF variant
LFQFN-LFLead-free QFN

BGA (Ball Grid Array)

CodePackageNotes
BRBGABall grid array
BGBGABGA variant

Qualifiers

CodeMeaningNotes
TRTape and ReelPackaging for SMT
LFLead-freeRoHS compliant

Series Extraction Rules

The handler extracts series using these rules:

MPN PrefixSeriesProduct Category
ALC1xxxALC1HD Audio Codecs
ALC5xxxALC5Mobile Audio Codecs
ALC2xxALC2Entry-level Audio
ALC6xxALC6Mid-range Audio
ALC8xxALC8High-end Audio
RTL8188/8192RTL88WiFi Controllers (special case!)
RTL810x/811x/816xRTL81Ethernet Controllers
RTL821xRTL82Gigabit PHY
RTL88xxRTL88WiFi Controllers
RTD2xxxRTD2Display 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

OriginalReplacementNotes
ALC892ALC898Pin-compatible upgrade
ALC898ALC892Pin-compatible downgrade
ALC1150ALC1200Similar pinouts
ALC1200ALC1220Often compatible

Ethernet Controller Compatibility

OriginalReplacementNotes
RTL8111ERTL8111F/G/HBackward compatible generations
RTL8168ERTL8168F/G/HBackward compatible generations
RTL8211ERTL8211FBackward compatible

WiFi Controller Compatibility

OriginalReplacementNotes
RTL8188EURTL8188EUSSame IC, different suffix
RTL8192EURTL8192EUSSame IC, different suffix

Handler Helper Methods

The RealtekHandler provides these utility methods for product classification:

isAudioCodec(String mpn)

Returns true if the MPN is an ALC audio codec.

isAudioCodec("ALC892-GR")     // true
isAudioCodec("RTL8111H-CG")   // false

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)

Returns true if the MPN is a WiFi controller.

isWiFiController("RTL8188EU")    // true
isWiFiController("RTL8812AU")    // true
isWiFiController("RTL8111H-CG")  // false

isDisplayController(String mpn)

Returns true if the MPN is an RTD display controller.

isDisplayController("RTD2660")   // true
isDisplayController("ALC892")    // false

getAudioCodecGeneration(String mpn)

Returns the audio codec generation.

getAudioCodecGeneration("ALC1220")  // "HD"
getAudioCodecGeneration("ALC5682")  // "Mobile"
getAudioCodecGeneration("ALC892")   // "Standard"

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

MPNSeriesPackageGenerationNotes
ALC269-GRALC2QFPStandardEntry-level notebook audio
ALC662-GRALC6QFPStandardMid-range desktop audio
ALC892-GRALC8QFPStandardHigh-end motherboard audio
ALC1150-VBALC1QFNHDPremium PC audio
ALC1220-VBALC1QFNHDTop-tier gaming audio
ALC5640-VBALC5QFNMobileSmartphone/tablet audio
ALC5682-VFALC5QFNMobileCurrent mobile audio

Ethernet Controllers

MPNSeriesPackageInterfaceNotes
RTL8101E-GRRTL81QFPFast Ethernet10/100 Mbps PCIe
RTL8102E-GRRTL81QFPFast Ethernet10/100 Mbps PCIe
RTL8111E-VL-CGRTL81QFNGigabitGen E Gigabit PCIe
RTL8111H-CGRTL81QFNGigabitLatest Gigabit PCIe
RTL8168E-VL-CGRTL81QFNGigabitServer Gigabit
RTL8211E-VL-CGRTL82QFNGigabit PHYIntegrated PHY
RTL8211F-CGRTL82QFNGigabit PHYLatest PHY

WiFi Controllers

MPNSeriesPackageStandardNotes
RTL8188EURTL88-802.11nUSB 2.4GHz
RTL8188EUSRTL88-802.11nUSB 2.4GHz
RTL8192EURTL88-802.11nUSB 2.4GHz dual-stream
RTL8812AURTL88-802.11acUSB dual-band
RTL8814AURTL88-802.11acUSB 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:
    ComponentType.IC
    (all Realtek products)
  • Supported types:
    Set.of(ComponentType.IC)
    (immutable)

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.
<!-- Add new learnings above this line -->