Модуль FN-Link 6221C-PUC встречается на платах одноплатных компьютеров, ТВ-приставок и промышленных контроллеров как готовое решение беспроводной связи, и именно с его идентификацией начинается большинство поисков — по маркировке на экранирующей крышке нужно понять, какой чип внутри и какой драйвер потребуется. Внутри этого модуля размещён чип Realtek RTL8821CS: связка Wi-Fi 802.11ac (однодиапазонная либо двухдиапазонная, в зависимости от исполнения) и Bluetooth, обмен с хост-процессором идёт через интерфейс SDIO для Wi-Fi и UART для Bluetooth.

Ниже разберём, как подтвердить идентичность модуля, какие напряжения и линии ему нужны, как поднимать его в Linux на одноплатниках и какие проблемы встречаются чаще всего. Материал ориентирован на тех, кто интегрирует модуль в собственное устройство или ремонтирует плату, где он уже установлен.

Что такое 6221C-PUC и где он применяется

FN-Link — производитель готовых радиомодулей, которые OEM-производители ставят на свои платы, чтобы не проектировать ВЧ-тракт самостоятельно. Маркировка вида «6221C-PUC» — это внутреннее обозначение производителя: серия 6221 указывает на базовый чип Realtek RTL8821C, а суффиксы описывают вариант исполнения (тип антенного вывода, напряжение, интерфейсы).

Типичные места, где вы можете встретить этот модуль:

  • 📺 ТВ-приставки и смарт-медиаплееры на Android;
  • 🖥️ одноплатные компьютеры и dev-платы на процессорах Amlogic, Rockchip, Allwinner;
  • 🏭 промышленные контроллеры и терминалы с Linux;
  • 📡 IoT-шлюзы и устройства умного дома с проводным хостом.

Точные характеристики конкретного исполнения (диапазоны, мощность передатчика, тип антенного разъёма) зависят от ревизии. Если нужны гарантированные значения, запрашивайте даташит именно на суффикс PUC у поставщика — параметры разных суффиксов одной серии могут отличаться.

Идентификация: как убедиться, что это именно RTL8821CS

Прежде чем искать драйвер, подтвердите чип. Самый надёжный способ — посмотреть, как модуль определяется на шине SDIO со стороны хоста. На Linux-системе с подключённым модулем выполните:

ls /sys/bus/sdio/devices/

cat /sys/bus/sdio/devices/*/uevent

В выводе ищите идентификаторы вида SDIO_ID=024C:C821 — это vendor/device ID Realtek для семейства RTL8821C. Если модуль не виден на шине вообще, проблема аппаратная: питание, линия WL_REG_ON (enable) или тактирование SDIO.

Визуально модуль представляет собой небольшую плату под металлическим экраном с маркировкой FN-LINK и кодом модели. Не путайте его с похожими модулями серий 6221A/6222B — у них другие чипы и, соответственно, другие драйверы.

💡

Сфотографируйте маркировку на экране модуля до демонтажа: суффикс модели понадобится при заказе замены, а после перепайки он может стать нечитаемым.

Электрическое подключение: питание и сигнальные линии

Модуль требует как минимум два питания: основное VBAT 3.3 В для радиочасти и питание ввода-вывода VDDIO (обычно 1.8 В или 3.3 В — должно совпадать с логическими уровнями хост-процессора, иначе обмен по SDIO работать не будет). Точную распиновку берите из даташита на конкретный суффикс: посадочные места у модулей этой серии похожи, но нумерация контактов может различаться.

Минимальный набор сигналов для работы:

  • VBAT и VDDIO — питание ядра и логики;
  • 📶 SDIO: CLK, CMD, DAT0–DAT3 — интерфейс Wi-Fi;
  • 🔵 UART: TX, RX (иногда с RTS/CTS) — интерфейс Bluetooth;
  • 🔘 WL_REG_ON и BT_REG_ON — линии включения Wi-Fi и Bluetooth;
  • 🕐 32 кГц clock — внешний сигнал сна, если предусмотрен схемой хоста.
⚠️ Внимание: подача VDDIO с неверным уровнем — частая причина «мёртвого» модуля. Если хост работает с логикой 1.8 В, а модуль запитан на 3.3 В по VDDIO (или наоборот), SDIO-обмен либо не стартует, либо модуль выходит из строя. Сверяйте уровни по схеме исходного устройства.

Антенный вывод зависит от исполнения: встречаются варианты с разъёмом под внешнюю антенну и с выводом на контактную площадку. При ремонте не заменяйте штатную антенну произвольным куском провода — согласование ВЧ-тракта рассчитано под конкретную антенну.

Настройка в Linux: драйвер и device tree

Для RTL8821CS существует out-of-tree драйвер, который чаще всего включают в сборки для одноплатников (Armbian и подобные). Если модуль определился на шине SDIO, проверьте, загружен ли модуль ядра:

lsmod | grep 8821

dmesg | grep -i rtl

Если драйвера нет в вашем образе, его обычно собирают из исходников под конкретную версию ядра. Учтите: при обновлении ядра модуль придётся пересобирать, если не используется DKMS.

На уровне device tree для SoC нужно корректно описать SDIO-контроллер и линии включения. Типичные ошибки на этом этапе:

  • 🔧 не поднят GPIO для WL_REG_ON — модуль не выходит из выключенного состояния;
  • 🔧 неверная частота или режим SDIO-контроллера — карта не инициализируется;
  • 🔧 отсутствует описание питания (regulator) — модуль обесточен.

Для Bluetooth потребуется загрузка прошивки через UART утилитой семейства rtk_hciattach (или аналогом из BSP производителя SoC), после чего интерфейс hci0 появляется в системе. Конкретная процедура зависит от сборки Linux — сверяйтесь с BSP вашей платы.

☑️ Проверка модуля 6221C-PUC после установки

Выполнено: 0 / 6

Типичные проблемы и диагностика

Разберём симптомы, с которыми чаще всего сталкиваются при работе с этим модулем.

СимптомВероятная причинаЧто проверить
Модуль не виден на SDIOНет питания или не поднят WL_REG_ONНапряжения на VBAT/VDDIO, уровень enable-линии
wlan0 есть, но сети не сканируютсяНе загружена прошивка (firmware)Наличие файлов fw в /lib/firmware, ошибки в dmesg
Wi-Fi нестабилен, обрывыПитание проседает под нагрузкой TXПросадки VBAT осциллографом, качество антенны
Bluetooth не появляетсяНе загружена fw через UARTРаботу hciattach, скорость UART, линию BT_REG_ON
Модуль греется и отваливаетсяНеверный VDDIO или повреждениеУровни питания, целостность монтажа

Отдельно отметим нестабильность Wi-Fi под нагрузкой: передатчик в момент передачи потребляет заметный импульсный ток, и слабый стабилизатор 3.3 В или длинные тонкие дорожки питания дают просадку, после которой чип перезапускается. Если модуль «отваливается» именно при активной передаче данных, первым делом смотрите питание, а не драйвер.

📊 С какой проблемой вы столкнулись при работе с 6221C-PUC?
Модуль не определяется на шине
Нет драйвера под моё ядро Linux
Нестабильный Wi-Fi / обрывы
Не работает Bluetooth

Замена модуля при ремонте

Если модуль неисправен (например, после пробоя по питанию или механического повреждения), его меняют целиком — ремонт внутри экрана не практикуется. При замене критично совпадение суффикса: модуль 6221C-PUC следует заменять на тот же суффикс, так как распиновка и требования к питанию у других исполнений могут отличаться.

Пайка ведётся феном с защитой соседних компонентов; температура и профиль — стандартные для безсвинцовой пайки, но конкретные режимы зависят от вашего оборудования и платы. После монтажа промойте флюс и проверьте отсутствие короткого замыкания по питанию до первого включения.

⚠️ Внимание: при перегреве модуля феном возможен отслоение внутренних слоёв его платы и повреждение чипа. Грейте равномерно, не держите фен в одной точке, и дайте модулю остыть естественно — не охлаждайте принудительно.

После замены повторите программную проверку: видимость на SDIO, загрузку драйвера, сканирование сетей и поднятие Bluetooth. Если новый модуль ведёт себя так же, как старый — проблема в обвязке платы, а не в модуле.

Почему нельзя ставить модуль другого суффикса «похожей» серии

Суффикс кодирует вариант распиновки, уровни VDDIO, тип антенного вывода и иногда расположение линий enable. Модуль с другим суффиксом может физически встать на те же площадки, но линии питания или управления окажутся на других контактах — в лучшем случае устройство просто не заработает, в худшем — сгорит модуль или хост-процессор.

Ограничения и что стоит учесть

RTL8821CS — это решение начального уровня: одна пространственная линия, без Wi-Fi 6. Для задач вроде стриминга, IoT и управления его достаточно, но для высокоскоростных применений стоит смотреть на более новые чипы. Также учитывайте, что поддержка в mainline-ядре Linux ограничена — рассчитывайте на out-of-tree драйвер и закреплённую версию ядра.

При проектировании собственного устройства на этом модуле запросите у поставщика полный даташит и референс-схему: это снимет вопросы по распиновке, согласованию антенны и требованиям к питанию, которые невозможно надёжно определить «по аналогии».

💡

FN-Link 6221C-PUC — это модуль на Realtek RTL8821CS (Wi-Fi по SDIO + Bluetooth по UART). Ключ к успешному запуску: правильные уровни VBAT/VDDIO, поднятые линии enable и драйвер 8821cs под ваше ядро.

Частые вопросы

Какой чип внутри модуля FN-Link 6221C-PUC?

Модули серии 6221C построены на чипе Realtek RTL8821CS — это комбинированный контроллер Wi-Fi 802.11ac и Bluetooth. Подтвердить можно по SDIO ID 024C:C821 в системе.

Какой драйвер нужен для 6221C-PUC в Linux?

Используется out-of-tree драйвер rtl8821cs. Во многих сборках для одноплатников (например, Armbian) он уже включён. Если нет — драйвер собирается из исходников под вашу версию ядра, желательно через DKMS, чтобы он пересобирался при обновлениях.

Модуль виден на SDIO, но Wi-Fi не работает. Что проверить?

Сначала смотрите dmesg: чаще всего не находится файл прошивки в /lib/firmware или драйвер не загружен. Далее — линия WL_REG_ON и стабильность питания 3.3 В под нагрузкой передатчика.

Можно ли заменить 6221C-PUC модулем с другим суффиксом?

Не рекомендуется. Суффикс определяет распиновку, уровни питания и тип антенного вывода. Заменяйте модулем с идентичной маркировкой либо сверяйте даташиты обоих исполнений по каждому контакту.

Bluetooth не появляется, хотя Wi-Fi работает. В чём причина?

Bluetooth в этом модуле работает через отдельный UART и требует загрузки прошивки утилитой семейства rtk_hciattach, а также поднятой линии BT_REG_ON. Проверьте, что UART настроен на нужную скорость и процедура загрузки fw выполняется при старте системы.