T536 WIFI&BT 驱动调试

linux 无线网卡配置 系统为gentoo,内核版本为4.3.2 内核配置 网卡种类 ID 内核选项     Intel Corporation Dual Band Wireless-N 7260 8086:08b1 CONFIG_MAC80211 CONFIG_IWLWIFI     Broadcom Corporation BCM4312 802.11 阅读详情

参考
rtl8821CS (artinchip.com)https://www.artinchip.com/knowledge/oxy_ex-1/topics/wifi-rtl8821cs-luban.html

驱动移植

由于现在全志将他们自己的模块驱动都放到 BSP 目录,然后通过创建软链接文件,链接到内核目录中,所以现在把 rtl8821CS 驱动移植到 BSP 目录内。

rtl8821CS 驱动在 T507 移植过来的。

然后在 rtl8821cs 的上级目录的 Kconfig 中添加对该驱动的索引:

source "$(BSP_TOP)drivers/net/wireless/rtl8821cs/Kconfig"

在上级目录的 Makefile 中添加:

obj-$(CONFIG_RTL8821CS) += rtl8821cs/

Kconfig 修改

基于版本的差异,Luban 对 Kconfig 中 help 的字段解析可能和驱动原生的格式有差异, 在 net/wireless/realtek/rtl8821/Kconfig 中调整如下:

config RTL8821CS
    tristate "Realtek 8821C SDIO WiFi"
-    ---help---
+       help

Kconfig 修改正确后,在 make kernel_menuconfig 中应该能看到 rtl8821CS 模块, 勾选后可以进行编译错误的解决。

Makefile 修改

大部分 WiFi 驱动为了增强兼容性,驱动中会有一些存放 .h 文件的目录,而在 Makefile 中会引用这些目录,因为版本的差异, 此类目录的引用方法可能不一样。

出错现象:

fatal error: drv_types.h: No such file or directory
17 | #include <drv_types.h>

解决方案:

在 net/wireless/realtek/rtl8821cs/Makefile 中修改如下:

  • 修改引用方式,添加 srctree 前缀
  • 添加额外的目录

-EXTRA_CFLAGS += -I$(src)/include
+EXTRA_CFLAGS += -I$(srctree)/$(src)/include
+EXTRA_CFLAGS += -I$(srctree)/$(src)/hal/phydm
+EXTRA_CFLAGS += -I$(srctree)/$(src)/hal/btc
+EXTRA_CFLAGS += -I$(srctree)/$(src)/platform

Makefile 编译优化:

在 net/wireless/realtek/rtl8821cs/Makefile 中修改如下:

-EXTRA_CFLAGS += -O1
+EXTRA_CFLAGS += -Os

开启配置

Kernel

8821CS:

CONFIG_RTL8821CS=m

wlan:

CONFIG_CFG80211=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
CONFIG_RFKILL_GPIO=y

CONFIG_HOSTAP=y
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y

BT:

CONFIG_SERIAL_DEV_BUS=y
CONFIG_BT_HCIUART_RTL=y
CONFIG_BT_HCIUART_SERDEV=y
CONFIG_BT_HCIUART_3WIRE=y
CONFIG_RFKILL_GPIO=y

Buildroot

BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y
BR2_PACKAGE_BLUEZ5_UTILS_OBEX=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y

busybox:

CONFIG_UDHCPD=y

DTS 配置

T536 的内核设备树中存在 rfkill 节点,该节点内有 wlan 和 bt 子节点:

&rfkill {
compatible = "allwinner,sunxi-rfkill";
chip_en;
power_en;
pinctrl-0;
pinctrl-names;
status = "okay";

/* wlan session */
wlan {
...
};

/* bt session */
bt {
...
};
};

建议检查 WIFI&BT 模块的引脚复用是否正确,是否与其它固件/外设冲突。

WIFI

以下是 WIFI 在内核设备树中的表示:

&rfkill {
...

/* wlan session */
wlan {
compatible    = "allwinner,sunxi-wlan";
clocks        = <&rtc_ccu CLK_DCXO24M_OUT>, <&rtc_ccu CLK_OSC32K_OUT>;
clock-names   = "dcxo24M-out", "osc32k-out";
wlan_power    = "axp2202-dcdc4", "axp2202-bldo1", "axp2202-bldo2"; /* vcc-wifi/vccio-wifi/vcc-pm */
wlan_power_vol= <3300000>, <1800000>, <1800000>;
wlan_busnum   = <0x1>;
wlan_regon    = <&r_pio PM 1 GPIO_ACTIVE_HIGH>;
wlan_hostwake = <&r_pio PM 0 GPIO_ACTIVE_HIGH>;
wakeup-source;
};

/* bt session */
bt {
...
};
};

注意属性 wlan_regon 和 wlan_hostwake,检查它们两的引脚复用是否正确,是否与其它设备冲突。

BlueTooth

以下是 BT 在内核设备树中的表示:

&rfkill {
...

/* wlan session */
wlan {
...
};

/* bt session */
bt {
compatible    = "allwinner,sunxi-bt";
clocks        = <&rtc_ccu CLK_DCXO24M_OUT>, <&rtc_ccu CLK_OSC32K_OUT>;
clock-names   = "dcxo24M-out", "osc32k-out";
bt_power    = "axp2202-dcdc4", "axp2202-bldo1", "axp2202-bldo2"; /* vcc-wifi/vccio-wifi/vcc-pm */
bt_power_vol= <3300000>, <1800000>, <1800000>;
bt_rst_n      = <&r_pio PM 2 GPIO_ACTIVE_LOW>;
};
};

注意属性 bt_rst_n ,检查它的引脚复用是否正确,是否与其它设备冲突。

模组配置文件

蓝牙需要固件文件还有命令 rtk_hciattach,我是从 T507 移植过来的。

问题

发现在 WIFI AP 模式下,Client 无法获取动态 IP 。Client 使用静态 IP 连接成功,说明 WIFI AP 模式是没有问题的。问题就出在于 DHCP Server 。

仅需在 /test_utils/wifi/ap/send_ap.sh 内添加命令 killall dnsmasq即可:

#!/bin/bash

udhcpd_config=udhcpd.conf

ifconfig wlan0 down

killall hostapd
killall wpa_supplicant
killall udhcpd
+ killall dnsmasq

hostapd -B hostapd.conf -f /var/log/hostap.log

ifconfig wlan0 192.168.1.2

dns=`awk '$1=="nameserver" {print $2}' /etc/resolv.conf |tr -c "[0-9]." " "`
sed -i '/^opt\s*dns/d' $udhcpd_config
echo "opt dns  ${dns}" >> $udhcpd_config

#udhcpd -f udhcpd.conf &
udhcpd $udhcpd_config

dnsmasq 是提供DNS缓存和DHCP服务功能的轻量级工具,它和 udhcpd 冲突了。

全面对比!全志T536与T507/A40i平台在项目中该怎么选?一文帮你搞定! 在当今竞争愈发激烈的工业市场中,如何平衡“成本与性能”始终是企业关注的核心问题。T536作为全志科技新一代的明星产品,一经问世便备受市场瞩目,而T507与A40i也凭借出色表现,在多种工业应用场景中大放异彩。 阅读详情

相关推荐

AMCL代码详解(六)amcl中的重采样

每次都从w1左边的竖线开始转,显而易见,转到w1的概率为0-w1之间的随机数,转到w2的概率为w1到w1+w2之间的随机数,转到w3的概率为w1+w2到w1+w2+w3之间的随机数,后面的依次类推。当某个粒子的权值较大的时候,产生的随机数落在相应区间的概率就会增大,从而实现了对权值大粒子的多次复制,权值小的粒子的剔除。可以看出,在整个重采样的过程中,粒子进行了两次种情况的刷新,一种是随机生成的新的粒子,一种是对原来的粒子的复制。得到的值越大,说明粒子的权重越小,当前粒子的可信度比较小,需要重采样粒子。

YiYeZhiNian的博客 1576

全志科技发布T536高性能智慧工业芯片,飞凌嵌入式率先推出配套核心板

2024年9月24日下午,全志科技在中国国际工业博览会上成功举办了其最新产品——T536高性能智慧工业芯片的全球首发发布会。这款芯片采用创新的4核Cortex-A55与RISC-V混合架构,主频分别达到1.6GHz和600MHz,并集成了2TOPS算力的NPU,吸引了现场众多专业观众的瞩目。

飞凌嵌入式 2504

unity C# 计算3D空间任意多边形面积,距离,角度测量工具

unity C# 计算3D空间任意多边形面积,距离,角度 using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; using System; /// /// 划线面积,距离,角度 /// public class UnderlinedMeasureTool : MonoBehaviour { /// /// 相机 /// public Camera _c

qq_22972867的博客 2223

T536 工业级设备处理器:为智能硬件与工业应用打造的高性能解决方案

Allwinner Technology推出了T536系列处理器,这是一款专为工业及智能硬件设计的四核64位高性能系统级芯片(SoC)。T536以其强大的计算能力、丰富的接口支持以及卓越的可靠性,成为众多交互终端、智能制造以及其他智能硬件和工业设备的理想选择

或许我会对你一见钟情 2790

主板USB接口全部失效解决方案(通用串行总线USB控制器有黄色叹号)保姆级教程亲测有效

通用串行总线控制器总是有叹号解决办法 办公室的崩腾时代老电脑,疫情期间没人用,来了开机之后发现鼠标键盘都用不了,本以为是主机放时间长出了问题,后来想起来就百度了“鼠标键盘都失效”的标题,结果发现了“串行总线控制器总是感叹号”的关联问题。正好办公室电脑都装有teamviwer常用来远程办公(在家偷懒)。所以通过远程发现电脑室可以运行的。并在控制面板发现:通用串行总线控制器总是感叹号,插入外设时USB无反应。如图:​ 并且右键选中其中一个,点击最后一个选项:“属性” 可以发现“设备状态”中会提示“由...

xiao_bai_0_0的博客 2万+

工业级RFID读写器|识读器CK-LR08-E00通过以太网TCPIP自由协议与汇川PLC控制器联机与通讯实例方案

本文以工业级RFID读写器CK-LR08-E00和汇川PLC控制器H5U是实例介绍工业级RFID读写器CK-LR08-E00通过以太网TCPIP自由协议与汇川PLC控制器联机与通讯方案。

华翔天诚科技 4370

[A133 Android11] 连接pc板子掉电

平台:A133+AXP717 系统:Android11 内核:Linux5.4 现象:在板子不接电池的情况下,连接电脑板子掉电(该项目不需要电池),用示波器抓到的波形显示reset一直为低。 使用逻辑分析仪测量pmu和主控在掉电前的通讯,发现其对pmu进行写0x17 0x88 通过查阅axp717数据手册我们发现这是一个限流操作,限制为500ma。 我们将屏幕和喇叭去掉,发现其能正常开机了,说明猜想正确。 pmu_usbpc_vol = <4600>; pmu_usbpc_cur = &lt

qq_45362097的博客 1848

Cursor赋能Qt C++:从环境配置到项目构建的AI开发新范式

本文详细介绍了如何利用Cursor工具链提升Qt C++开发效率,从智能环境配置到CMake项目构建的全流程实践。通过AI辅助编程、Qt生态优化及高级调试技巧,开发者可快速完成从传统开发到AI驱动的新范式转换,显著缩短项目搭建时间并提升代码质量。

weixin_30329623的博客 546

T527 Linux 启动速度优化

分析全志Linux的启动耗时情况,对启动时间进行优化,以提升产品性能指标,增强产品竞争力

Linux驱动开发工程师,熟悉Linux/Android底层驱动、TP、显示、IIC、网络等通用外设调试适配,Linux上层应用开发。常用平台瑞芯微、全志、恩智浦等。 1873

数字信号处理(一):Xilinx Vivado DDS IP核设计实例(文末附源码)

前言 在数字信号处理时我们经常会用到数字变频,包数字下变频(DDC)和数字上变频(DUC),这其中会用到Xilinx公司的DDS IP核或者Altera公司的NCO IP核来产生本振频率,以现数字域信号频谱搬移。本文我们通过例化Xilinx公司的DDS IP核来产生混频器本振输入频率,并给出Modelsim仿真测试结果。 1、Xilinx DDS IP简介 Xilinx公司的DDS IP核使用AX...

FPGA_Designer 1万+

Aduino 通过I2C接口读取MPU6050模块数据

Aduino ESP9266通过I2C接口读取MPU6050模块数据 MPU6050模块 原理图 所需库:Adafruit_MPU6050 Adafruit_BusIO Adafruit Unified Sensor 接线示意图 ESP8266---MPU6050 VCC -- 3.3v GND -- GND D2 -- SDA D1 -- SCL 示例程序代码 #include <Adafruit_MPU6050.h> #include <Adafruit

perseverance51博客 620

T536是很炸裂

FET536-C核心板基于全志工业级处理器T536设计,4核Cortex-A55(AMP)+RISC-V MCU,主频1.6GHz+600MHz,搭载2TOPS NPU,支持安全启动、国密算法IP、全通路ECC、AMP、Linux-RT、 Local Bus等。vpm_run 可作为一个通用的模型运行环境,可运行任何部署正确的 NBG 模型文件。当然,我们现在的小模型开发非常火,我们可以直接用开发板中自带的命令来测试模型的运行。大家好,这篇文章给大家聊一下全志近来的新款主打芯片T536。

嵌入式Linux 1241

基于Simulink的电机驱动逆变器仿真

本文完成了电机驱动逆变器的Simulink多层级仿真平台搭建,实现了:✅ 构建了从理想到器件级的逆变器模型体系✅ 实现了Si/SiC损耗精确计算与结温预测✅ 建模了母线寄生参数、死区效应、栅极驱动等关键非理想特性✅ 支持故障注入与保护策略验证✅ 集成了热管理、EMI、寿命预测与碳足迹评估。

amy_mhd的博客 86

Tina_Linux_PMU_开发指南

PMU,负责系统各个模块供电、按键开关机、电池充放电管理。表2-1: 术语简介术语说明PMU电源管理单元,主要包括regulator、power supply、gpio、power key 这四个子功能部分。AXP全志PMU 平台的系列名称,如AXP803、AXP717 等。LDO是low dropout regulator,意为低压差线性稳压器。线性稳压器使用在其线性区域内运行的晶体管或FET,从应用的输入电压中减去超额的电压,产生经过调节的输出电压。DC-DC。

韦东山嵌入式专栏 2832

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

rtl8821 wifi驱动编译

参照文档说明,解压rtl8821CS_WiFi_linux_v5.5.1_30884.20181122_COEX20180712-3232.tar.gz,修改MakeFile文件,主要修改目标平台、交叉编译环境和内核路径,如下: 1.去掉默认为PC的目标平台,修改为海思: 2、修改交叉编译环境和内核路径: 修改完后,make,ko就生成了: 需要的话,可以吧debug关掉,现在是开着的: ...

yangyang031213的博客 5552

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Tina_Linux_Wi-Fi_开发指南

目前Tina 平台上的Wi-Fi 一般可处于3 种工作模式,分别是STATION,AP,MONITOR。• STATION:连接无线网络的终端,大部分无线网卡默认都处于该模式,也是常用的一种模式。• AP:无线接入点,常称热点,比如路由器功能。• MONITOR:也称为混杂设备监听模式,所有数据包无过滤传输到主机。详情请看Tina_linux_wifimanger2.0_ 开发指南。执行下面的命令前请确保wifi_deamon后台进程已启动,若没有启动请先启动wifi_deamon后台进程。

韦东山嵌入式专栏 4471

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

飞凌嵌入式携手全志,T536全国产核心板重磅发布

以全志T536工业级处理器为引擎,驱动国产化创新,为千行百业提供降本增效新选择——飞凌嵌入式FET536-C核心板重磅发布!

飞凌嵌入式 970

【BlueZ5】 板载驱动移植全过程,实现Ble Slave(Dbus版本)

一,编译依赖库与必要应用 1,准备编译工作之前,需要了解什么是buildroot,跨平台的库与文件都通过buildroot来实现。 About Buildroot:Buildroot is a tool that simplifies and automates the process of building a complete Linux system for an embedded s...

u014028690的博客 3133

这个开发板有17个串口,

这枚"边缘计算小钢炮"可不得了:4核ARM Cortex-A55+RISC-V双架构加持,2TOPS NPU算力爆表,还有28路ADC、17路UART、4路CAN-FD这些豪华配置,工业级品质直接拉满,简直就是为工业控制和智能制造量身定制的"瑞士军刀"!之后就是飞凌嵌入式的产品手册,产品手册里面几乎涵盖了所有的主流芯片开发板资料,有瑞芯微的3588,有NXP的i.MX 6ULL,全志的T507 和T527,芯驰科技的D9-pro,赛。这个开发板主打的是多核异构,在这里我也相对多核异构发表一下自己的看法。

嵌入式Linux 1827

一张表介绍RK3568/T527/T536参数性能对比-盈鹏飞嵌入式

全志A527/T527与瑞芯微RK3568处理器形成市场竞争:A527/T527作为8核新品性能更强,接口丰富且价格优势明显,但软件生态尚需完善;RK3568则以4核配置和成熟软件生态见长。全志T536则是工业控制首选,支持ECC内存、实时Linux及多串口扩展。盈鹏飞嵌入式新推两款A527/T527核心模块:CoM-X527(邮票孔设计)和DIM-X527(SODIMM接口),均支持八核2.0GHz、4K视频处理、双屏异显及多路通信接口,可运行Android/Linux系统,满足不同应用场景需求。

szembed的博客 2131

T536主板的UART功能(RS232/RS485)的使用-盈鹏飞嵌入式

摘要:CoM-T536采用Allwinner Cortex-A55四核处理器,主频1.6GHz,支持4K视频编码、4GB LPDDR4内存及64GB eMMC存储。具备双通道LVDS/MIPI显示、PCIE2.1、17路UART、4路CANFD和双千兆网口,预装Linux/Ubuntu系统。评估板STK-T536支持多路串口扩展,通过RS232/485转换板可实现UART通信测试,需注意电平匹配和波特率设置。测试时使用microcom指令进行收发验证,RS485需半双工操作。核心板采用53.5×45mm邮票

szembed的博客 461

imx6sx平台BCM4335WIFI+BT模块驱动调试

BCM的代码相对保密一些,所以提供了一些bin文件,首先把模块厂商提供的配置文件和相关bin文件用adb放到板子上/etc/wifi/文件下 例adb remount adb push bcmdhd.cal /etc/wifi/ adb push fw_bcmdhd.bin /etc/wifi/ adb push fw_bcmdhd_apsta.bin /etc/wifi/ adb ...

疯狂飙车的蜗牛的博客 3457

Buildroot 源码学习-toolchain

Buildroot 的工具链生成是一个高度模块化的过程,通过 Kconfig 和 Makefile 规则将内核头文件、C库、编译器、binutils 等组件动态组合。

秋の水 1574

T536主板的千兆以太网功能的使用-盈鹏飞嵌入式

CoM-T536核心板基于全志T536四核处理器开发,支持4K视频编码、双千兆网口、PCIe 2.1等接口。评估板STK-T536通过iperf3工具测试显示:TCP带宽达942Mbps,UDP带宽达947Mbps。PCIE转千兆网卡测试中,RTL8111网卡成功识别并实现928Mbps的TCP吞吐量。系统支持静态IP配置,可通过修改/etc/network/interfaces文件实现。该平台采用53.5×45mm邮票孔设计,预装Linux 5.10/Ubuntu 20.04系统,适用于工业控制等场景。

szembed的博客 250

buildroot 里面各种版本bluez错误记录

首先更改文件夹bluez5_utils为bluez5.47_utils,buildroot package里面不能带有类似这样5.47,需要换成5_47, define BLUEZ5_UTILS_PATCH echo "patch -p1 -d $(@D) < $(TOPDIR)/package/bluez5_utils/patch_5_47_0001-tools-bneptest.c-Remove-include-linux-if_bridge.h-to" endef makefile...

c2h5oh2012的博客 867
上一篇: T536 PCIe 网卡调试
下一篇: T536 网卡调试
szembed
博客等级 码龄18年 1475粉丝 256原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值