<div dir="auto">FYI<br><br><div data-smartmail="gmail_signature">Rgrds, Алексей</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>От: <strong class="gmail_sendername" dir="auto">Anton V. Boyarshinov</strong> <span dir="auto">&lt;<a href="mailto:boyarsh@altlinux.org">boyarsh@altlinux.org</a>&gt;</span><br>Date: пн, 19 апр. 2021 г., 11:27<br>Subject: Re: [Arm64-baikalm] Bluetooth/WiFi модуль RTL8821<br>To: Aleksey Novodvorsky &lt;<a href="mailto:aen@basealt.ru">aen@basealt.ru</a>&gt;,  &lt;<a href="mailto:sin@altinux.org">sin@altinux.org</a>&gt;, Nikolay Zhuravlev &lt;<a href="mailto:n.zhuravlev@edelweiss.msk.ru">n.zhuravlev@edelweiss.msk.ru</a>&gt;<br>Cc: Ольчев Алексей Иванович &lt;<a href="mailto:a.olchev@edelweiss.msk.ru">a.olchev@edelweiss.msk.ru</a>&gt;<br></div><br><br>Добрый день<br>
<br>
Данный модуль собран в Сизиф, в стабильном репозитории p9 он находится<br>
на тестировании.<br>
<br>
Поставить его из p9 можно следующим образом:<br>
<br>
# Обновляем ядро до последнего<br>
apt-get update<br>
update-kernel -t un-def<br>
<br>
# Ставим модуль<br>
apt-repo add 270268<br>
apt-get update<br>
apt-get install kernel-modules-rtl8821cu-un-def<br>
<br>
В Fri, 16 Apr 2021 19:51:19 +0300<br>
Aleksey Novodvorsky &lt;<a href="mailto:aen@basealt.ru" target="_blank" rel="noreferrer">aen@basealt.ru</a>&gt; пишет:<br>
<br>
&gt; Говорят, что для aarch64 тоже можно собрать.<br>
&gt; <br>
&gt; Rgrds, Алексей<br>
&gt; <br>
&gt; ---------- Forwarded message ---------<br>
&gt; От: Nikolay Zhuravlev &lt;<a href="mailto:n.zhuravlev@edelweiss.msk.ru" target="_blank" rel="noreferrer">n.zhuravlev@edelweiss.msk.ru</a>&gt;<br>
&gt; Date: пт, 16 апр. 2021 г., 19:37<br>
&gt; Subject: [Arm64-baikalm] Bluetooth/WiFi модуль RTL8821<br>
&gt; To: ARM64 Baikal-M &lt;<a href="mailto:arm64-baikalm@lists.altlinux.org" target="_blank" rel="noreferrer">arm64-baikalm@lists.altlinux.org</a>&gt;<br>
&gt; Cc: Ольчев Алексей Иванович &lt;<a href="mailto:a.olchev@edelweiss.msk.ru" target="_blank" rel="noreferrer">a.olchev@edelweiss.msk.ru</a>&gt;<br>
&gt; <br>
&gt; <br>
&gt; Коллеги,<br>
&gt; <br>
&gt; В некоторые наши моноблоки мы ставим BT/WiFi модуль RTL8821CU.  Такой,<br>
&gt; кажется, стоит и в моноблоках, которые готовятся для конференции.  Мы<br>
&gt; нашли в интернете кое-какие исходники, которые после легкого<br>
&gt; допиливания вроде заработали на arm64. Почему их нет (не было) в<br>
&gt; апстриме мы не выясняли. Хотелось бы увидеть их в дистрибутиве.<br>
&gt; <br>
&gt; Портированные исходники доступны на нашем гитхабе:<br>
&gt; <a href="https://github.com/edelweiss-tech/rtl8821CU" rel="noreferrer noreferrer" target="_blank">https://github.com/edelweiss-tech/rtl8821CU</a><br>
&gt; <a href="https://github.com/edelweiss-tech/rtl8821cu_bt" rel="noreferrer noreferrer" target="_blank">https://github.com/edelweiss-tech/rtl8821cu_bt</a><br>
&gt; <br>
&gt; Ниже копия задачи из нашего багтрекера, если будет полезно.<br>
&gt; <br>
&gt; Support RTL8821CU module<br>
&gt; <br>
&gt; Description<br>
&gt; <br>
&gt; На моноблоке стоит комбо-модуль rtl8821cu, который умеет wifi и bluetooth.<br>
&gt; Нужно поддержать его для Baikal-M.<br>
&gt; <br>
&gt; Analysis<br>
&gt; <br>
&gt; В апстриме поддержки для данного модуля нет. На сайте производителя не<br>
&gt; удалось найти драйвера под Linux.<br>
&gt; Удалось найти какой-то драйвер для wifi части:<br>
&gt; <a href="https://github.com/brektrou/rtl8821CU" rel="noreferrer noreferrer" target="_blank">https://github.com/brektrou/rtl8821CU</a><br>
&gt; и какой-то драйвер для BT части:<br>
&gt; <a href="https://github.com/andydvsn/rtl8821cu_bt" rel="noreferrer noreferrer" target="_blank">https://github.com/andydvsn/rtl8821cu_bt</a>, который изначально происходит от<br>
&gt; китайских исходников<br>
&gt; производителя COMFAST:<br>
&gt; Linux_BT_USB_v3.10_20170314_8821CU_BTCOEX_20170223-1111.tgz<br>
&gt; <br>
&gt; Design<br>
&gt; <br>
&gt; В драйвере <a href="https://github.com/brektrou/rtl8821CU" rel="noreferrer noreferrer" target="_blank">https://github.com/brektrou/rtl8821CU</a> добавляем новую платформу<br>
&gt; в Makefile,<br>
&gt; CONFIG_PLATFORM_BAIKAL_M. EXTRA_CFLAGS такие же, как для x86. Остальные<br>
&gt; параметры - просто<br>
&gt; для кроссовой сборки с исходниками ядра 4.9.<br>
&gt; Исходники и изменения зачекинены в git@gitlab.tpl:ndz/rtl8821cu.git<br>
&gt; Как предложено в файле README.md от этого драйвера, для arm64 нужно<br>
&gt; выключить опцию<br>
&gt; --mgeneral-regs-only в ядерном arch/arm64/Makefile.<br>
&gt; Также необходимо добавить поддержку BT и CFG80211 в ядро в виде модулей,<br>
&gt; когда это возможно.<br>
&gt; См. прилагаемый патч.<br>
&gt; Код для BT-части портирован с более старого ядра 3.x на 4.9 и доступен тут:<br>
&gt; git@gitlab.tpl:baikal-m/rtl8821cu_bt.git<br>
&gt; Пришлось заблеклистить оригинальный драйвер btusb, чтобы этот драйвер смог<br>
&gt; подцепить<br>
&gt; bluetooth-ную часть устройства RTL8821CU. Альтернативой rtk_btusb явлается<br>
&gt; небольшая<br>
&gt; модификация стандартного драйвера btusb (наш патч есть в данном<br>
&gt; репозитарии).<br>
&gt; Детали можно почитать в README.baikal.<br>
&gt; <br>
&gt; Насколько реально функциональны данные драйвера, учитывая что их нет в<br>
&gt; апстриме,<br>
&gt; сказать трудно. Базовые тесты (поднятие интерфейсов, пинги устроиств) вроде<br>
&gt; проходят.<br>
&gt; <br>
&gt; Unit test<br>
&gt; <br>
&gt; 1. WiFi test.<br>
&gt; Load modules cfg80211 and 8821cu.<br>
&gt; After that &quot;iw list&quot; shall show the wifi interface.<br>
&gt; <br>
&gt; 2. BT test<br>
&gt; Turn on the bluetooth on some other device, for ex. a smartphone,<br>
&gt; and put it in discovery mode.<br>
&gt; <br>
&gt; At some point a pairing request will appear on the computer screen.<br>
&gt; Click &quot;confirm&quot;.<br>
&gt; Discover and ping the other device:<br>
&gt; $ hcitool scan<br>
&gt; $ l2ping &lt;MAC address of the paired device&gt;<br>
&gt; $ hcitool info &lt;MAC address of the paired device&gt;<br>
&gt; <br>
<br>
</div>