Представляет трансплантацию драйверов Wi-Fi на платформе Allwinner, представляет структуру управления Wi-Fi Tina, включая часто задаваемые вопросы о станциях, точках доступа и Wi-Fi.
Он подходит для клиентов, которым подходит платформа Tina, и коллег, интересующихся Tina Wi-Fi.
Программная платформа Allwinner Tina версии v3.0 и выше. Аппаратная платформа Allwinner серии R (R6, R11, R16, R18, R30, R40, R328, R331, R329, R818, R528…). Аппаратная платформа Allwinner серии MR (MR133, MR813…). Аппаратная платформа Allwinner серии H (H133…). Аппаратная платформа Allwinner серии V (V853…).
В настоящее время Wi-Fi на платформе Tina вообще может находиться в трёх режимах работы, а именно СТАНЦИЯ, Точка доступа и МОНИТОР. • СТАНЦИЯ: Терминал, подключенный к беспроводной сети. Большинство беспроводных сетевых карт находятся в этом режиме по умолчанию, и это также часто используемый режим. • AP: точка беспроводного доступа, часто называемая точкой доступа, например функция маршрутизатора. • МОНИТОР: Также известный как режим мониторинга неразборчивых устройств, все пакеты данных передаются на хост без фильтрации.
Рисунок 2-1: Структурная диаграмма программного обеспечения Tina
• wifimanager-v2.0: в дополнение к функциям wifimanager-v1.0 (используется в режиме STATION, обеспечивая сканирование соединений Wi-Fi и другие функции), он также включает в себя softap (функция запуска точки доступа) и smartlink (конфигурация нескольких сетей). режимов) одно приложение объединяет несколько функций Wi-Fi, что делает его удобным в использовании и управлении для клиентов. • wpa_supplicant: инструмент настройки беспроводной сети с открытым исходным кодом, в основном используемый для поддержки беспроводных протоколов WEP, WPA/WPA2 и WAPI и аутентификации с шифрованием. Фактическое содержание работы заключается во взаимодействии с драйвером через сокет для передачи данных пользователю. • hostapd: представляет собой демон-процесс пользовательского режима для точек доступа и серверов аутентификации. • монитор: приложение обработки Wi-Fi в режиме беспорядочного прослушивания устройств.
Подробности см. в руководстве по разработке Tina_linux_wifimanger2.0_.
Перед выполнением следующей команды убедитесь, что фоновый процесс wifi_deamon запущен. Если он не запущен, сначала запустите фоновый процесс wifi_deamon.
wifi -o sta Откройте wifimanager с помощью stamodel
wifi -s Сканировать окружающие сети
wifi -c ssid [passwd] Подключиться к указанной сети в зашифрованном или незашифрованном виде.
wifi -d Отключите подключенную сеть
wifi -l [all] Список сохраненных сетей
wifi -a [enable/disable] Повторно подключить отключенную сеть
wifi -r [ssid/all] Удалить сохраненную указанную сеть
Примечание:
ssid имя сети
passwd секретный ключ
Перед выполнением следующей команды убедитесь, что фоновый процесс wifi_deamon запущен. Если он не запущен, сначала запустите фоновый процесс wifi_deamon.
wifi -o ap [ssid] [passwd] Откройте wifimanager с помощью apmodel
wifi -l Получение списка информации о персонале, подключенной к точке доступа
Примечание:
ssid имя сети
passwd секретный ключ
apmodelistationmodel не может сосуществовать в разных модулях. Подробности см. в разделе 5.
Перед выполнением следующей команды убедитесь, что фоновый процесс wifi_deamon запущен. Если он не запущен, сначала запустите фоновый процесс wifi_deamon.
wifi -o monitor Открыть wifimanager с моделью монитора
Примечание:
Нет
Перед выполнением следующей команды убедитесь, что фоновый процесс wifi_deamon запущен. Если он не запущен, сначала запустите фоновый процесс wifi_deamon.
wifi -f Закрыть диспетчер Wi-Fi
wifi -p [softap/ble/xconfig/soundwave] Используйте softap/ble/xconfig/soundwave для настройки сети.
wifi -D [error/warn/info/debug/dump/exce] Установить уровень печати
wifi -g Получить информацию о Mac-адресе
wifi -m [macaddr] Установить MAC-адрес
wifi -h Распечатать инструкции wifimanager
Примечание:
Модель сетевого распределения поддерживается не всеми модулями, это зависит от конкретного модуля.
Настройки Mac-адреса можно установить только временно.
Рисунок 3-1: Упрощенная схема соединения между основным элементом управления и оборудованием Wi-Fi.
Условия для работы модуля Wi-Fi, как показано на рисунке выше, должны соответствовать следующим условиям: • Источник питания: обычно существует два источника питания, среди которых VCC-Wi-Fi является основным источником питания, а VCCIO-Wi-Fi — источником питания подтягивающего ввода-вывода. • Включить: для правильной работы WL-REG-ON необходимо установить на высокий уровень. • SDIO: связь с SOC осуществляется через USB, SDIO и т. д. Здесь в качестве примера мы возьмем SDIO, где SDIO 0–3 — это 4 линии данных SDIO. • Пробуждение ведущего устройства: когда система находится в спящем режиме, модуль Wi-Fi может разбудить ведущего устройства посредством прерывания через WL-WAKE-AP. Некоторые модули также используют этот контакт в качестве прерывания для ведущего устройства для получения данных. • Тактовый сигнал 24/26 МГц. • Сигнал 32,768 к Гц: зависит от модуля. Некоторые модули внутренне разделены входом clk (5), а некоторые требуют отдельного внешнего входа сигнала.
При трансплантации модуля Wi-Fi основное внимание уделяется вышеуказанным условиям. Для вышеуказанных условий работы allwinner предоставил соответствующие драйверы в соответствии с моделью драйвера устройства шины, вам нужно только настроить драйвер в соответствии с каждой платформой.
Просто настройте устройство на компьютере. Помимо dts (ядро Linux-3.4 не имеет dts), устройство allwinner также можно настроить через sys_config.fex. Обычно приоритет sys_config.fex выше, чем dts.
В этом случае настройте sys_config.fex напрямую.
проиллюстрировать:
- Путь к sys_config.fex в Tina3.5.0 и более ранних версиях: tina/target/allwinner/xxx(cowbell_perf1)/configs/
- Путь к sys_config.fex в Tina3.5.1 и более поздних версиях: tina/device/config/chips/xxx(r328)/configs/xxx(perf1)/
- Путь к dts в Tina3.5.0 и более ранних версиях: tina/lichee/linux-xxx/arch/arm/boot/dts/
- Путь к dts для Tina3.5.1 и более поздних версий: tina/device/config/chips/xxx(r328)/configs/xxx(perf1)/board.dts
Устройство Linux 3.4 (конфигурация sys_config.fex)
[rf_para]
module_num = 10 /*Используется для различения моделей модулей: по умолчанию 8~10*/
module_power1 = "axp22_dldo1" /*Дерево мощности, используемое power1: dld01*/
module_power1_vol = 3300000 /*Напряжение дерева мощности, используемое power1, установлено на 3,3 В*/
module_power2 = "axp22_dldo2" /*Дерево мощности, используемое power2: dld02*/
module_power2_vol = 3300000 /*Напряжение дерева мощности, используемое power2, установлено на 3,3 В*/
module_power3 = "axp22_aldo3" /*Дерево мощности, используемое power3: dld03*/
module_power3_vol = 3300000 /*Напряжение дерева мощности, используемое power3, установлено на 3,3 В*/
/*Вот и все — это конфигурация, работающая от pmu. Если питание осуществляется напрямую, ее можно опустить*/.
power_switch =
chip_en = /*Включение питания, используется для включения питания с использованием верхней и нижней точек gpio*/
lpo_use_apclk = "losc_out" /*Включение часов 32 к Гц*/
[wifi_para]
wifi_used = 1 /*Использовать ли Wi-Fi*/
wifi_sdc_id = 1 /*sdio, используемый Wi-Fi номер карты*/
wl_reg_on = port:PL06<1><default><default><0> /*Включаем gpio, используемый контактом*/
wl_host_wake = port:PL07<4><default><default><0> /*Gpio, используемый для пробуждения мастера*/
[mmc1_para]
sdc_used = 1
sdc_detmode = 4
sdc_buswidth = 4
sdc_clk = port:PG00<2><1><1><default> /*номер GPIO, используемый sdio*/
sdc_cmd = port:PG01<2><1><1><default>
sdc_d0 = port:PG02<2><1><1><default>
sdc_d1 = port:PG03<2><1><1><default>
sdc_d2 = port:PG04<2><1><1><default>
sdc_d3 = port:PG05<2><1><1><default>
sdc_det =
sdc_use_wp = 0
sdc_wp =
sdc_isio = 1
sdc_regulator = "none"
Путь к драйверу Linux 3.4, для получения подробной информации обратитесь к следующему пути к коду
tina/lichee/linux-3.4/drivers/misc/rf_pm
linux3.4 или более поздняя версия, устройство (конфигурация sys_config.fex)
[sdc1]
sdc1_used = 1
bus-width = 4
sdc1_clk = port:PG00<2><1><3><default>
sdc1_cmd = port:PG01<2><1><3><default>
sdc1_d0 = port:PG02<2><1><3><default>
sdc1_d1 = port:PG03<2><1><3><default>
sdc1_d2 = port:PG04<2><1><3><default>
sdc1_d3 = port:PG05<2><1><3><default>
sd-uhs-sdr50 =
sd-uhs-ddr50 =
sd-uhs-sdr104 =
cap-sdio-irq =
keep-power-in-suspend =
ignore-pm-notify =
max-frequency = 150000000 /*Максимальная частота сканирования карты, используемая sdio*/
mix-frequency = 150000000
[wlan]
wlan_used = 1
compatible = "allwinner,sunxi-wlan"
clocks = "losc_out"
wlan_power_num = 2 /*Использовать блок питания PMU, количество используемых блоков питания*/
wlan_power1 = "vcc-wifi1" /*Используйте источник питания PMU, используется отметка power1*/
wlan_power2 = "vcc-wifi2" /*Используйте источник питания PMU, используйте метку power2*/
wlan_io_regulator = "vcc-io-wifi" /*Использовать источник питания PMU, использовать флаг io*/
/*Вышеуказанные 4 строки обозначают элемент конфигурации, использующий источник питания PMU, соответствующий следующему параметру регулятора. Если вы не используете источник питания PMU, вы можете игнорировать его. */
wlan_busnum = 1
wlan_regon = port:PE06<1><1><1><0>
wlan_hostwake = port:PE05<6><default><default><default>
[regulator0]
compatible = "axp221s-regulator"
regulator_count = 20
......
regulator2 = "axp221s_dcdc2 none vdd-cpua"
regulator3 = "axp221s_dcdc3 none vdd-sys vdd-gpu"
regulator4 = "axp221s_dcdc4 none"
regulator5 = "axp221s_dcdc5 none vcc-dram"
regulator6 = "axp221s_rtc none vcc-rtc"
regulator7 = "axp221s_aldo1 none vcc-25 csi-avdd"
regulator8 = "axp221s_aldo2 none vcc-ephy0"
regulator9 = "axp221s_aldo3 none avcc vcc-pll"
regulator10 = "axp221s_dldo1 none vcc-io-wifi vcc-pg " /*io power Подождите dld01*/
regulator11 = "axp221s_dldo2 none vcc-wifi1" /*power1 Подождите dld02*/
regulator12 = "axp221s_dldo3 none vcc-wifi2" /*power2 Подождите dld03*/
regulator13 = "axp221s_dldo4 none vdd-sata-25 vcc-pf"
regulator14 = "axp221s_eldo1 none vcc-pe csi-iovcc"
Драйвер Linux 3.4 или более поздней версии. Подробную информацию см. по следующему пути к коду.
tina/lichee/linux-XXX/drivers/misc/sunxi-rf
Ниже обобщаются шаги по портированию нового модуля на платформу Tina.
Драйвер, предоставляемый фабрикой модулей, адаптирован к платформе Tina. Основные изменения заключаются в вызове включения и выключения питания, функциях сканирования карт, предоставляемых платформой Tina, изменении пути загрузки прошивки, настройке Kconfig и.
Makefile и т. д.
Ниже описаны функции, предоставляемые платформой Tina для драйвера Linux 3.4, который немного отличается от других ядер.
linux 3.4
#include <mach/sys_config.h>
#include <linux/gpio.h>
/*
* Функциональные функции: карта сканирования Sdio
*Идентификатор параметра: Номер карты, (sdio 0 or 1 ...)
*Вставка параметров: 0, вставьте карту и отсканируйте карту; 1. Вытащите карту.
* Возвращаемое значение: Нет
*/
extern void sunxi_mci_rescan_card(unsigned id, unsigned insert);
/*
* Функциональные функции: Модуль Wi-Fi включен и включен.
*Параметр включен: 0, питание включено; 1, питание выключено.
* Возвращаемое значение: никто
*/
extern void wifi_pm_power(int on);
Linux 3.4 или выше
#include <linux/mmc/host.h>
#include <linux/sunxi-gpio.h>
#include <linux/power/aw_pm.h>
/*
* Функциональные функции: Получите номер используемой карты Sdio, соответствующий wlan_busnum в sysconfig.fex.
* Возвращаемое значение: sdio номер карты
*/
extern int sunxi_wlan_get_bus_index(void);
/*
* Функциональные функции: sdio Сканировать карту
*Идентификатор параметра: Номер карты, (sdio 0 or 1 ...)
* Возвращаемое значение: никто
*/
extern void sunxi_mmc_rescan_card(unsigned ids);
/*
* Функциональные функции: Модуль Wi-Fi включен и включен.
*Параметр включен: 0, питание включено; 1, питание выключено.
* Возвращаемое значение: никто
*/
extern void sunxi_wlan_set_power(bool on);
/*
* Функциональные функции:получатьgpio wlan hostwake Номер прерывания, запрошенный выводом
*параметр: void
* Возвращаемое значение:irq number
*проиллюстрировать: Для некоторых модулей главный элемент управления получает данные через hostwake. Вывод генерирует прерывание для запуска,
* Следовательно, основной стороне управления необходимо предоставить номер прерывания.
*/
extern int sunxi_wlan_get_oob_irq(void);
/*
* Функциональные функции:получатьhost wake вывод устанавливает флаг прерывания
*параметр: void
* Возвращаемое значение: irq flag
*/
extern int sunxi_wlan_get_oob_irq_flags(void);
Первый шаг — поместить драйвер Wi-Fi в linux-4.9/drivers/net/wireless и заполнить соответствующие функции включения, сканирования карты и другие функции.
Драйвер для Linux 3.4 см. по адресу:
модуль esp8089:
tina/lichee/linux-3.4/drivers/net/wireless/esp8089/sdio_stub.c
модуль xr819:
tina/lichee/linux-3.4/drivers/net/wireless/xradio/wlan/platform.c
Linux 3.4 или выше Пожалуйста, обратитесь к драйверу:
tina/lichee/linux-4.9/drivers/net/wireless/rtl8723ds/platform/platform_ARM_SUNnI_sdio.c
Второй шаг — увеличение конфигурации меню и компиляция ядра. Вам нужно лишь изменить следующие места.
tina/lichee/linux-4.9/drivers/net/wireless/Kconfig
example:
+source "drivers/net/wireless/xr829/Kconfig"
tina/lichee/linux-4.9/drivers/net/wireless/Makefile
example:
+obj-$(CONFIG_XR829_WLAN) += xr829/
После завершения настройки можно выполнить make kernel_menuconfig и выбрать его. При компиляции будет скомпилирован указанный драйвер.
Device Drivers --->
[*] Network device support --->
[*] Network device support --->
[*] Wireless LAN --->
[] ххх-модуль
Этот шаг в основном копирует файлы ko и встроенное ПО, скомпилированные в ядре, в файловую систему. Первое — настройка прошивки. Файл прошивки обычно хранится следующим образом с именем файла модуля, и необходимо добавить файл mk, чтобы он был виден в make munconfig.
модуль tina/package/firmware/linux-firmware/XXX
tina/package/firmware/linux-firmware/XXXmodule/XXX.mk
example:
tina/package/firmware/linux-firmware/xr829
make munuconfig
Firmware --->
< > xr829-firmware..................................... Xradio xr829 firmware
Второе — настроить ko.
схема tina/target/allwinner/xxx/modules.mk
example:
Tina-3.5.0и раньше:
tina/target/allwinner/cowbell-perf1/modules.mk
Tina-3.5.1и далее:
tina/target/allwinner/r328s2-perf1/modules.mk
make munuconfig
Kernel modules --->
Wireless Drivers --->
XXX модуль
Это уже объяснялось ранее, см. описание в начале Главы 3.
Согласно предыдущей конфигурации, make kernel_menuconfig выбирает соответствующий модуль, а опция make menuconfig соответствует прошивку и модули одновременно заставьте munconfig заново выбрать следующее, и вы сможете это проверить.
make menuconfig
Allwinner --->
wireless --->
<*> wifimanager-v2.0................................... Tina wifimanager-v2.0
<*> wifimanager-v2.0-demo..................... Tina wifimanager-v2.0 app demo
Проверить команду
Проверятьмодуль Загружать ли:lsmod
Удаление модуля: rmmod
ps Проверьте, запустился ли фоновый процесс wifi_deamon. Если нет, сначала запустите фоновый процесс wifi_deamon.
Подключить команду маршрутизации: wifi -c ssid passwd
Сканирование окружающих точек доступа: Wi-Fi -s
3.1.5 Пример портирования модуля
Возьмем в качестве примера RTL8723DS:
2.1 Скопируйте весь SDK драйвера в tina/lichee/linux-xxx/drivers/net/wireless/
Драйвер 2.2 переименован в rtl8723ds.
2.3 Измените файл KconfigиMake в каталоге tina/lichee/linux-xxx/drivers/net/wireless/.
Kconfig:
+source "drivers/net/wireless/rtl8723ds/Kconfig"
Makefile:
+obj-$(CONFIG_RTL8723DS) += rtl8723ds/ (Примечание: имена здесь должны совпадать)
2.4 Измените собственный код драйвера
2.4.1 Makefile драйвера (tina/lichee/linux-xxx/drivers/net/wireless/rtl8723ds/Makefile)
+CONFIG_RTW_ANDROID = 0 (# CONFIG_RTW_ANDROID - 0: no Android, 4/5/6/7/8/9/10 : Android
version)
+CONFIG_PLATFORM_I386_PC = n
+CONFIG_PLATFORM_ARM_SUNxI = y
2.4.2 Заменить платформу приспособлениеsunxi документом (tina/lichee/linux-xxx/drivers/net/wireless/rtl8723ds/platform)
Можно получить из других уже установленных модов: Platform_ARM_SUNxI_sdio.c
Адаптация модуля Тины
3.1. Копирование конфигурации модуля из любого другого поддерживаемого решения IC.
define KernelPackage/net-rtl8723ds
SUBMENU:=$(WIRELESS_MENU) //make Положение меню Menuconfig обычно не меняется.
TITLE:=RTL8723DS support (staging) //make подсказки менюконфигурации
DEPENDS:= +r8723ds-firmware +@IPV6 +@USES_REALTEK +@PACKAGE_realtek-rftest +
@PACKAGE_rtk_hciattach //Добавляем зависимость tina, которую можно понимать как select
FILES:=$(LINUX_DIR)/drivers/net/wireless/rtl8723ds/8723ds.ko
KCONFIG:=\ //Добавляем зависимости ядра, чтобы понять выбор бита
...
AUTOLOAD:=$(call AutoProbe,8723ds)
endef
define KernelPackage/net-rtl8723ds/description //make Описание менюконфигурации
Kernel modules for RealTek RTL8723DS support
endef
$(eval $(call KernelPackage,net-rtl8723ds))
полный модуль
Примечание. Рекомендуется добавить его непосредственно в общую Конфигурацию платформы: tina/target/allwinner/xxx-common/modules.mk.
3.2.firmwareиз Конфигурация
/package/firmware/linux-firmware/rtl8723ds/ //Обновление документа прошивки (если доступна последняя версия) при обновлении драйвера
3.3.sys_config.fex/board.dtsиз Конфигурация
rfkill: rfkill@0 {
compatible = "allwinner,sunxi-rfkill";
chip_en;
power_en;
status = "okay";
wlan: wlan@0 {
compatible = "allwinner,sunxi-wlan";
pinctrl-0 = <&wlan_pins_a>;
pinctrl-names = "default";
clock-names = "32k-fanout1";
clocks = <&ccu CLK_FANOUT1_OUT>;
wlan_busnum = <0x1>;
wlan_regon = <&pio PE 17 GPIO_ACTIVE_HIGH>;
wlan_hostwake = <&pio PG 10 GPIO_ACTIVE_HIGH>;
/*wlan_power = "VCC-3V3";*/
/*wlan_power_vol = <3300000>;*/
/*interrupt-parent = <&pio>;
interrupts = < PG 10 IRQ_TYPE_LEVEL_HIGH>;*/
wakeup-source;
};
...
}
Основные моменты следующие: • Измените драйвер, предоставленный производителем модуля, и заполните соответствующие функции включения, сканирования карты и другие функции. • Добавлены параметры make kernel_menuconfig и make menuconfig, включающие прошивку, makefile, ko. • Настройте sys_config.fex. • проверять.
Текущие версии ядра Linux платформы Tina включают linux_3.4, linux_3.10, linux_4.4, linux_4.9 и linux_5.4. По историческим причинам весьма вероятно, что конфигурации между версиями ядра несколько различаются. в основном отражается на устройстве: sys_config.fex и драйвере: sunxi-rf. Пользователи могут обратиться к соответствующим версиям ядра для справки при портировании модуля.
Тина-3.5.0 и ранее:
Название продукта | Версия ядра | sys_config.fex |
---|---|---|
R16 | Linux-3.4 | tina/target/allwinner/astarparrot/configs/sysconfig.fex |
R18 | Linux-4.4 | tina/target/allwinner/tulip_d1/configs/sysconfig.fex |
R328 | Linux-4.9 | tina/target/allwinner/cowbell_demo/configs/sysconfig.fex |
Тина-3.5.1 и новее:
Название продукта | Версия ядра | Конфигурационный файл |
---|---|---|
R16 | Linux-3.4 | tina/device/config/chips/r16/configs/parrot/sys_config.fex |
R18 | Linux-4.4 | tina/device/configs/chips/r18/configs/d1/sys_config.fex |
R328 | Linux4.9 | tina/device/config/chips/r328s2/configs/perf1/sys_config.fex(board.dts) |
R528 | Linux-5.4 | tina/device/config/chips/r528/configs/evb1/sys_config.fex(board.dts) |
На платформу Tina портировано несколько модулей Wi-Fi. Список поддержки выглядит следующим образом:
BCM : AP6212,AP6212A,AP6255,AP6256,AP6335ждать.
Realtek: RTL8723DS(linux 3.4/4.9/5.4),RTL8821cs(linux 4.9/5.4),RTL8822cs(linux 4.9),RTL8189FTV(linux4.9)
Xradio : XR819(linux 3.4/4.4/4.9),xr829(linux 3.4/4.4/4.9/5.4)
Esp : esp8089(linux 3.4)
.....
Для вышеперечисленных пересаженных модулей в большинстве случаев пользователям достаточно выбрать соответствующие конфигурации в kernel_menuconfig и menuconfig. Если он выбран в соответствующем менюконфигурации, то все равно не работает.
Если это работает, выполните действия, описанные в разделе 3.1, чтобы устранить причину. В то же время, если некоторые решения могут не отображать соответствующие модули ядра в make менюconfig, это связано с тем, что
Он не добавляется в файл groups.mk и может быть добавлен методом, описанным в разделе 3.1.2.
Ниже перечислены параметры kernel_menuconfig и menuconfig для каждого модуля.
сделать конфигурацию kernel_menuconfig
Device Drivers --->
Network device support --->
Wireless LAN --->
<M> Broadcom FullMAC wireless cards support
(/lib/firmware/fw_bcmdhd.bin) Firmware path
(/lib/firmware/nvram.txt) NVRAM path
PS: BCMсерия модулей,Например, AP6212,AP6255,AP6256... все используют один и тот же драйвер
сделать конфигурацию меню
Kernel modules--->
Wireless Drivers--->
<*> kmod-net-broadcom
Firmware--->
<*> ap6212-firmware. ---Выберите в соответствии с моделью модуля
(1)XR819 сделать конфигурацию kernel_menuconfig
Device Drivers --->
Network device support --->
Wireless LAN --->
<M> XR819 WLAN support --->
/*or*/<M> XRadio WLAN support --->
сделать конфигурацию меню
Kernel modules--->
Wireless Drivers--->
<*> kmod-net-broadcom
Firmware--->
<*> xr819-firmware..................................... Xradio xr819 firmware
(2)XR829 сделать конфигурацию kernel_menuconfig
Device Drivers --->
Network device support --->
Wireless LAN --->
<M> XR829 WLAN support --->
сделать конфигурацию меню
Kernel modules--->
Wireless Drivers--->
<*> kmod-net-xr829................................... xr829 support (staging)
Firmware--->
<*> xr829-firmware..................................... Xradio xr829 firmware
(1)RTK8723DS сделать конфигурацию kernel_menuconfig
Device Drivers --->
Network device support --->
Wireless LAN --->
<M> Realtek 8723D SDIO or SPI WiFi
сделать конфигурацию меню
Kernel modules--->
Wireless Drivers--->
<*> kmod-net-rtl8723ds........................... RTL8723DS support (staging)
Firmware--->
<*> r8723ds-firmware.............................. RealTek RTL8723DS firmware
(2)RTK8822CS сделать конфигурацию kernel_menuconfig
Device Drivers --->
Network device support --->
Wireless LAN --->
<M> Realtek 8822C SDIO WiFi
сделать конфигурацию меню
Kernel modules--->
Wireless Drivers--->
<*> kmod-net-rtl8822cs........................... RTL8723CS support (staging)
Firmware--->
<*> rtl8821cs-firmware............................ RealTek RTL8821CS firmware
(3)RTK8189FTV сделать конфигурацию kernel_menuconfig
Device Drivers --->
Network device support --->
Wireless LAN --->
<M> Realtek 8189F SDIO WiFi
сделать конфигурацию меню
Kernel modules--->
Wireless Drivers--->
<*> kmod-net-rtl8189fs........................... RTL8189FS support (staging)
Примечание: RTL8189FTV В tina Конфигурация прошивка Конфигурация не требуется.
(1)ESP8089 сделать конфигурацию kernel_menuconfig
Device Drivers --->
Network device support --->
Wireless LAN --->
<*> Eagle WLAN driver
сделать конфигурацию меню
Kernel modules--->
Wireless Drivers--->
<*> kmod-esp8089................................... esp8089 support (staging)
Firmware--->
<*> esp8089-firmware........................................ esp8089 firmware
Аппаратная платформа | Поддержка модов | Версия ядра |
---|---|---|
R6 | XR819 | linux3.10 |
R7/R11 | XR819 | linux3.4 |
R16 | AP6210/AP6212/AP6181/8723BS | linux3.4 |
R18 | AP6212/AP6236/AP6255 | linux4.4 |
R30 | AP6181/AP6212/AP6234/AP6330/8723BS | linux4.4 |
R40 | AP6212 | linux3.10 |
R58 | AP6212/AP6181/8723BS | linux3.4 |
R311 | AP6212/AP6181/8723BS | linux4.9 |
R328 | XR829/8723DS (одна антенна) | linux4.9 |
R329 | XR829/8723DS (одинарная и двойная антенны) | linux4.9 |
R331/R332/R333 | 8723DS (одна антенна) | linux4.9 |
R818 | XR829/8723DS (одинарная и двойная антенны)/8189FTV/8821CS(Одинарные и двойные антенны) | linux4.9 |
MR133 | AP6212/AP6181/8723BS | linux4.9 |
MR813 | XR829/8723DS (одинарная и двойная антенны)/8189FTV | linux4.9 |
T7 | AP6210/AP6212/AP6234 | linux4.9 |
R528 | RTL8723ds(одиночный)/RTL8821cs/xr829 | linux5.4 |
V853 | XR829/XR819s/RTL8189FS | linux4.9 |
wifimanager был обновлен до wifimanager2.0, для wifimanager2.0 есть отдельный документ, пожалуйста, обратитесь к подробному описанию wifimanager2.0.
Tina_linux_wifimanger2.0_ Руководство по разработке
Функция softap интегрирована в wifimanager2.0, для которого имеется отдельный документ. Подробное описание wifimanager2.0 см.
Tina_linux_wifimanger2.0_ Руководство по разработке
drivers/net/wireless/xr829/umac/main.c:870:17: error: 'struct wiphy' has no member named 'wowlan'
if ((hw->wiphy->wowlan->flags || hw->wiphy->wowlan->n_patterns)
В конфигурации ядра
-Power management options --->
Device power management core functionality
Феномен:
sunxi_wlan_get_bus_index...xradio_core.ko undefined!
причина: Недостаток Конфигурацияmisc。
Решение: В конфигурации ядра
m kernel_menuconfig-->
Device drivers-->
Misc devices-->
Allwinner rfkill driver
drivers/built-in.o: In function scan_device_store':
lichee/linux-4.9/drivers/misc/sunxi-rf/sunxi-wlan.c:309: undefined reference
tosunxi_mmc_rescan_card'
lichee/linux-4.9/drivers/misc/sunxi-rf/sunxi-wlan.c:309:(.text+0x5fc40): relocation
truncated to fit:
R_AARCH64_CALL26 against undefined symbol `sunxi_mmc_rescan_card'
Device Drivers --->
<*> MMC/SD/SDIO card support --->
<*> Allwinner sunxi SD/MMC Host Controller support
Феномен:
Package kmod-net-xr829 is missing dependencies for the following libraries:
cfg80211.ko
mmc_core.ko
sunxi-wlan.ko
причина: Зависимые библиотеки должны быть скомпилированы в ядро и не могут быть скомпилированы в модули.
решение.
В конфигурации ядраследующеемодульчас,Конфигурация — y
CONFIG_RFKILL = у
CONFIG_CFG80211=у
CONFIG_MMC=y
CONFIG_MAC80211=у
root@TinaLinux:/# wifi_add_network_test ssid passwd 1
*********************************
***Start wifi connect ap test!***
*********************************
wpa_suppplicant not running!
Cannot create "/data/misc/wifi/entropy.bin": No such file or directory
Wi-Fi entropy file was not created
ifconfig: SIOCGIFFLAGS: No such device
event_label 0x0
wifi on failed!
wifi on failed event 0xf001
Выбор прошивки не соответствует, что приводит к сбою загрузки при загрузке драйвера.
- lsmod проверяет, нормально ли загрузился драйвер
- dmesg Проверьте журнал загрузки и найдите:
[ 22.336336] dhdsdio_download_code_file: Open firmware file failed /lib/firmware/
fw_bcm43438a1.bin
[ 22.346331] _dhdsdio_download_firmware: dongle image file download failed
Указывает на отсутствие прошивки (здесь имеется в виду отсутствие fw_bcm43438a1.bin)
Наконец я обнаружил, что в конфигурации прошивки выбран ap6212. Обычно следует использовать ap6212a.
tinaКонфигурация правильной прошивки
firmware --->
└─> <*> ap6212a-firmware............................... Broadcom AP6212A firmware
Феномен:
ifconfig: SIOCGIFFLAGS: No such device
причина:
несоответствие выбора прошивки。
- lsmod проверяет, нормально ли загружен драйвер.
- dmesg Проверьте журнал загрузки и найдите:
[ 195.966066] [XRADIO_ERR] xradio_load_firmware: Wait for wakeup:device is not responding.
XR829 заменен кварцевым генератором 40M.
решение
tinaКонфигурация выбор прошивки кварцевого генератора 40М
firmware --->
[*] xr829 with 40M sdd
1.Феномен:
Драйвер lsmod загружается неправильно.
причина:
Используйте dmesg для просмотра журнала:
[ 6.802331] [XRADIO_ERR] can't open /etc/wifi/xr_wifi.conf, failed(-30)
[ 6.802338] [XRADIO_ERR] Access_file failed, path:/etc/wifi/xr_wifi.conf!
[ 6.914044] sunxi-mmc sdc1: no vqmmc,Check if there is regulator
[ 7.028376] [XRADIO_ERR] xradio_load_firmware: Wait_for_wakeup: can't read control
register.
busnumКонфигурация неправильная, на принципиальной схеме используется sdc0.
2.решение
board.dtsсередина При настройке
номер шины = 0;
1. Драйвер ядра, Тина modules, Tina Три прошивки должны корректно соответствовать одному и тому же модулю.
2. Обратите внимание на написание модулей.мк под общим.
3. Конфигурация Sdio должна выбрать соответствующий номер шины в соответствии со принципиальной схемой.
Может вызвать:
1.Сканировать карта не удалась.
2. Не удалось загрузить прошивку.
В итоге драйвер не загружается.
Проверьте источники питания VCC_WIFI и VCC_IO_WIFI.
Различные модули имеют определенные требования к времени подачи питания. Например, RTL8723ds требует одновременного подключения двух каналов питания. Для решений с AXP необходимо обращать внимание на время подачи питания, особенно на время включения.
1. Аппаратное обеспечение: в первую очередь проверьте схему электропитания двух цепей, чтобы убедиться, что они питаются от одной и той же цепи. Если они питаются отдельно, необходимо учитывать синхронизацию двух цепей электропитания.
НапримерDCDC1--->VCC_WIFI,LDOA--->VCC_IO_WIFI,ТакDCDC1иLDOAизчас Заказ надо учитывать。
2. Что касается программного обеспечения, то это в основном конфигурация sysconfig.fex или boart.dts. Нужна ли отдельная конфигурация для отдельного источника питания?
Например: аппаратная конструкция R818 питается от двух отдельных цепей.
Может вызвать:
1.Сканировать карта не удалась.
2. Не удалось загрузить прошивку.
3.sdio_clk не имеет часов.
С 4,32к конкурировать невозможно.
В итоге драйвер не загружается.
1.sdio busnumНеправильная конфигурация.
2. Неправильный способ управления WL-REG-ON. Например:
Появляется модуль XR819
[SBUS_ERR] sdio probe timeout!
[XRADIO_ERR] sbus_sdio_init_failed
Этот вопрос в основном касается карты сканирования Sdioнеудача,Это связано с последовательностью включения sdio.,Доступно наdrivers/net/wireless/xradio/wlan/platform.cсередина
Задержка добавляется после функции xradio_wlan_power sunxi_wlan_set_power(on).
RLT8723ds сначала требует метода high-low-high.
Может вызвать:
1.Сканировать карта не удалась.
2. Не удалось загрузить прошивку.
3.sdio_clk не имеет часов.
Кварцевый генератор 4.32k не вибрирует.
5. Метод WL-REG-ONникто нормально подтягивается.
В итоге драйвер не загружается.
1.Феномен:
ifconfig: SIOCGIFFLAGS: No such device
2.причина:
- lsmod проверяет, нормально ли загружен драйвер.
- Проверка журнала с помощью dmesg не выявила исключений.
- Проверьте sdio_clk, regon_on, 32к, все нормально.
- Оба блока питания в норме.
- Сравнивая аппаратное обеспечение других платформ, мы обнаружили, что,Способ питания другой.,Две цепи электричества используют отдельные источники питания.,В то же время необходимо включить Consulting RTL.
3.решение Изменения в оборудовании: VCC_WIFI/VCC_IO_WIFI питаются от одного и того же источника питания.
1.Феномен:
Сценарий запуска /etc/init.d/wpa_supplicant автоматически запустит wlan0.
Но каждый раз, когда я его запускаю, он не запускается, и тогда я вручную ifconfig wlan0 вверх это нормально.
2.причина:
Вывод AP-WAKE_BT подключен к подтягивающему резистору.,Ввод тестовой модели.
3.решение Аппаратно удалите подтягивающий резистор.
Все проблемы, возникающие при сбое запуска wlan0, связаны с аппаратным обеспечением. Если его невозможно загрузить самостоятельно, обычно используйте ifconfig wlan0 up, чтобы сначала загрузить его вручную, и проверьте запросы на печать. Показывать. В то же время пусть аппаратное обеспечение поможет проверить источник питания и некоторые подтягивающие и понижающие резисторы ввода-вывода.
1.Феномен: Не удалось запустить соискатель
- PS обнаружил, что процесса соискателя нет.
- Поэтому вручную выполните wpa_supplicant. -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
намекать:
Failed to open config file '/etc/wpa_supplicant.conf', error: No such file or directory
Failed to read or parse configuration '/etc/wpa_supplicant.conf'.
2.причина: Ошибка пути.
3.решение
Обычный путь tina обычно находится в /etc/wifi/wpa_supplicant.conf.
Установите правильный путь в пакете wifimanage и сохраните согласованность сценария запуска.
1.Феномен:
wifi_connect_ap_test ssid passwd
network not exist!
2.причина:
- lsmod проверяет, нормально ли загружен драйвер.
- Ifconfig проверяет, что wlan0 работает нормально.
- ps, чтобы убедиться, что служба соискателя запустилась нормально.
- Сканируйте сеть с помощью wifi_scan_results_test.
root@TinaLinux:/# wifi_scan_results_test
*********************************
***Start scan!***
*********************************
bssid / frequency / signal level / flags / ssid
******************************
Wifi get_scan_results: Success!
******************************
Сканирования сети не обнаружено.
3.решение Обычно сигналов слишком много, а встроенной антенны нет. Попробуйте добавить внешнюю антенну.
1.Феномен:
Стресс-тест Ping, тайм-аут опроса появляется через некоторое время.
2.причина:
Производительность сети при проверке связи неудовлетворительна. Интранет подключенной компании может иметь некоторые неизвестные ограничения.
3.решение
Попробуйте подключиться к другому роутеру для проверки.
wpa_supplicant.conf -B Автор: Не удалось открыть файл конфигурации «/etc/wpa_supplicant.conf», ошибка: такого файла или каталога нет. Не удалось прочитать или проанализировать конфигурацию «/etc/wpa_supplicant.conf».
2.причина:
Ошибка пути.
3.решение
Обычный путь tina обычно находится в /etc/wifi/wpa_supplicant.conf. Установите правильный путь в пакете wifimanage и сохраните согласованность сценария запуска.
### 6.5 Проблемы с использованием wifimanager
#### 6.5.1 Появляется при подключении к Интернету: сеть не существует!
1.Феномен:
wifi_connect_ap_test ssid passwd network not exist!
2.причина:
Start scan!
bssid / frequency / signal level / flags / ssid
Wifi get_scan_results: Success!
Сканирования сети не обнаружено.
3.решение
Обычно сигналов слишком много, а встроенной антенны нет. Попробуйте добавить внешнюю антенну.
### 6.6 Проблемы со службой сетевых приложений верхнего уровня
#### 6.6.1 MR133_XR829 стресс-тест ping: тайм-аут опроса
1.Феномен:
Стресс-тест Ping, тайм-аут опроса появляется через некоторое время.
2.причина:
Производительность сети при проверке связи неудовлетворительна. Интранет подключенной компании может иметь некоторые неизвестные ограничения.
3.решение
Попробуйте подключиться к другому роутеру для проверки.