- 博客(141)
- 资源 (63)
- 问答 (4)
- 收藏
- 关注
原创 uboot GPIO调试
268 /**270 *274 */整理下gpio_direction_output的调用流程,其他接口也可以535{538545548}42/**44 *48 *52 */54{57 int ret;5860 dev;67 }68 }6972}Note: gpio_to_device的作用是把GPIO Num找到对应的设备(dts可以配置多个gpio device)
2024-04-25 19:46:38 91
原创 USB 枚举/断开过程
如果断开的是一个USB集线器,USB主机会对该集线器和其所连接的所有设备进行断开操作。USB设备枚举一般会经过插入、供电、初始化、分配地址,配置,获取。和配置设备这么几个过程。
2024-04-18 17:13:14 341
原创 Ethernet 汇总
Ethernet系统框架Ethernet 模块&通信stamac Ethernet DTS配置Ethernet修改网卡名称网络问题排查DHCP 介绍IPV6 -ping6用法
2024-04-07 16:24:28 112
原创 stmmac_dvr_probe解析
上面的dwmac100_dma_init 只是一个例子 就是stmmac_dma_ops结构里面的init。经过上述net_device系列的配置,最终向linux注册网络设备;很简单,检查MAC地址是否有效,无效则随机生成一个。分配内存空间,创建Ethernet device。添加 ethtool操作接口。初始化MAC device。
2024-04-07 15:55:44 110
原创 Ethernet修改网卡名称
网卡驱动注册net_device的时候alloc_etherdev_mqs,也可以通过其他方式修改net_device的name[IFNAMSIZ]如何修改Ethernet网卡名称。
2024-04-02 20:18:34 28
原创 Ethernet系统框架
RMII 口是用两根线来传输数据的,MII 口是用 4 根线来传输数据的,GMII 是用 8 根线来传输数据的。GMII是千兆网的MII接口,这个也有相应的RGMII接口,表示简化了的GMII接口。MII/RMII 用于传输以太网包,在 MII/RMII 接口是 4/2bit 的,在以太网的PHY里需要做串并转换,编解码等才能在双绞线和光纤上进行传输,其帧格式遵循IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN)。每条信道都有自己的数据、时钟和控制信号。
2024-03-28 20:35:38 23
原创 stamac Ethernet DTS配置
应该是"snps,dwmac-", "snps,dwmac"或"snps,dwxgmac-", "snps,dwxgmac"。如果不是通过后,系统时钟将被使用,这在某些情况下是可以的平台。控制器接收fifo的大小,以字节为单位。如果设置了这个值,DMA rx将使用这个值,而不是snps、pbl。如果设置,DMA tx将使用这个值,而不是snps、pbl。使用compatible = "snps,dwmac-mdio",创建并注册mdio总线。
2024-03-28 20:12:51 177
原创 Linux总线设备驱动框架
Note:驱动模型中的总线可以是真是存在的物理总线(USB总线,I2C总线,PCI总线),也可以是为了驱动模型架构设计出的虚拟总线(Platform总线)。
2024-03-28 10:29:15 241
原创 PTP软硬件时间戳
PTP 是一种网络协议,用于在计算机网络中进行时钟校准和时间同步。硬件时间戳和软件时间戳是在实现 PTP 时常见的两种方式,它们在精度、可靠性、实时性以及资源消耗等方面存在差异。
2023-11-18 15:02:27 398
原创 boringssl EVP_aes_128_ecb实现
其实有方向的情况下可以用gcc -E ./src/crypto/fipsmodule/cipher/e_aes.c -o test.i -I include/文件 "./src/crypto/fipsmodule/cipher/e_aes.c + 行号;最近学习boringssl,发现没找到EVP_aes_128_ecb在哪里实现的。随便拿EVP_CIPHER_FUNCTION(128, cbc)展开。-E,只执行到预编译,直接输出预编译结果【有目标的情况下】饶了一大圈,发现它的定义很无语。
2023-08-29 20:50:13 1212
原创 boringssl DEFINE_LOCAL_DATA
所以DEFINE_LOCAL_DATA(EVP_CIPHER, aes_192_ecb_generic) =aes_192_ecb_generic_do_init 初始化EVP_CIPHER 结构体。## 的连接作用是在预处理期完成的,因此只在宏定义中有效。代码看着有点别扭,就是怕别人看懂了,写出这么个玩意。DEFINE_DATA定义见上面的代码,继续拆~看DEFINE_LOCAL_DATA 定义!## 运算符用于在预处理期粘连两个标识符。编译器不知道 ## 运算符的存在。
2023-08-26 16:32:10 770
原创 boringssl DEFINE_LOCAL_DATA
代码看着有点别扭,就是怕别人看懂了,写出这么个玩意。看DEFINE_LOCAL_DATA 定义!
2023-08-26 16:20:06 1149
原创 platform驱动[1]
linux内核中,有IIC、SPI、PCI、USB等;但是SOC上的有些外设(eg:LED,定时器……),他们是直接通过内存的寻址空间来进行寻址的,cpu与这些设备通信是不需要总线的。为了对设备进行统一的管理,对这些直接通过内存寻址的设备虚拟了一条,所有直接通过内存寻址的设备都映射到这条总线上。
2023-08-15 19:44:23 104
原创 Linux中断
是指 CPU 在执行程序的过程中,出现了某些突发事件急待处理, CPU 必须暂停当前程序的执行,转去处理突发事件,处理完毕后又返回原程序被中断的位置继续执行。:CPU在执行指令时,收到某个中断信号转而去执行预先设定好的代码,然后再返回到原指令流中继续执行,这就是中断机制。
2023-06-26 19:56:20 170
原创 [Spec] WiFi P2P Discovery
上面的spec文档翻译过来都模模糊糊说不清,下面说人话!1. P2P设备发现有两个阶段Scan和Find。2. P2P设备工作状态有两个如下:Listen:不发送Probe Request Frame,只在收到probe后回复Probe Response Frame。Search:只发送Probe Request Frame,不回复Probe Response Frame3. 在对方的Probe Response Frame,表明回复了我的Probe Request Frame即为发现了设备。
2023-06-25 14:52:51 604
原创 Android12 P2P Init[2]
前面讲了一些Wifi P2P 开机启动过程,以及WifiP2pManager的initialize,接着继续!!!从上面的log 看WifiP2pManager: initialize 之后,进入的是P2pDisabledState 状态机处理消息看代码!
2023-06-24 15:33:46 837 1
原创 linux 进程状态
进程描述符中的state字段描述了进程当前所处的状态。它由一组标志组成,其中每个标志描述符一种可能的进程状态。在当前的Linux版本中,这些状态是互斥的,因此,严格意义上说,只能设置一种状态;其余多为标志将被清除。: 进程处于可运行状态,但并不意味着进程已经实际上已分配到 CPU ,它可能会一直等到调度器选中它。该状态只是确保进程一旦被 CPU 选中时立马可以运行,而无需等待外部事件。: 这是针对等待某事件或其他资源而睡眠的进程设置的。
2023-06-06 20:58:03 516 1
原创 Android12 P2P Init[1]
定义在:android-12.0.0_r2/packages/modules/Wifi/framework/java/android/net/wifi/p2p/IWifiP2pManager.aidl。Android 定义了标准的P2P操作接口,WiFi芯片厂商按照标准实现P2P HAL和Driver即可!贴出了和Miracast相关的log,开机启动了两个service。任何P2P操作前都需要 initialize!1. 包含了一个状态机,负责P2P相关的操作。启动service的过程就不说了!
2023-05-25 17:21:09 855 1
原创 Android Miracast 架构
1. Miracast APP2. Java API3. JNI/HIDLAPI4. HAL4.1libstagefright/wifi-display/4.2 wpa_supplicant5. Kernel
2022-10-30 16:06:49 406
原创 Android Miracast 投屏
从事Connectivity模块几年时间了,Team负责集成包括WiFi/Bluetooth(A2DP Source/Sink,HID[key/Audio],OPP,SPP)投屏类[Miracast,DLNA(DMR/DMP/DMS)],网络传输加密类协议(HDCP,DTCP)等功能;只能感叹无线互联协议之多,复杂程度真是让人。。。。。那些spec加起来英文也就几万页而已嘛!所以最近一两年开始总结下,开发的功能,主要以Android TV平台为主的概念科普,架构或者流程整理,主要为自己总结,有兴趣的同学可以
2022-10-30 16:04:52 1406
原创 Android 12 WiFi功能集成
1. Settings Apk2. Frameworks中的Service3. HAL3.1 wificond3.2 HIDL Service3.2.1 [email protected] [email protected] [email protected]依赖的so4. wpa_supplicant4.1 启动wpa_supplicant4.2 wpa_suppl
2022-10-27 20:59:55 1334
原创 Android12 A2DP连接[4]
1. avdt_ad_tc_data_ind1.1avdt_msg_ind2.avdt_ccb_hdl_discover_rsp2.1bta_av_disc_results3.bta_av_next_getcap4.AVDT_GetCapReq4.1avdt_get_cap_req5.avdt_ccb_hdl_getcap_rsp6.bta_av_getcap_results7.AVDT_OpenReq7.1avdt_scb_snd_setconfig_req8.a
2022-10-27 20:07:45 964
原创 Android12 A2DP连接[3]
1.bta_av_connect_req处理2.AVDT_ConnectReq2.1avdt_ccb_event2.2avdt_ccb_action3.avdt_ad_open_req4.L2CA_ConnectReq24.1L2CA_ConnectReq5.avdt_ad_tc_open_ind5.1avdt_ccb_snd_cmd5.2avdt_ccb_ll_opened7.bta_av_proc_stream_evt8.bta_av_
2022-10-23 17:46:35 583
原创 A2DP连接总结
1. Log信息2. HCI流程分析2.1 SDP2.2 AVDTP 连接2.2.1 AVDTP_Discovery编辑2.2.2 AVDTP_Get_Capbilities2.2.3 AVDTP_Set_Configuration2.2.4 AVDTP_Open2.3 音频数据传输2.3.1 AVDTP_Start2.3.2 AVDTP_Data
2022-10-19 09:30:30 2147
原创 Android12 A2DP连接[2]
1.connectA2dpNative1.1 sBluetoothA2dpInterface 定义1.2get_profile_interface1.3btif_av_get_src_interface1.4bt_av_src_interface2. btav_source_interface_t->connect3.src_connect_sink3.1btif_queue_connect3.2connect_int4. 处理BTIF_AV_CONNECT_REQ_EVT4
2022-10-17 20:33:43 666
原创 Android12 A2DP连接[1]
1. BluetoothA2dp2. 发起连接2.1 接收BluetoothDevice.BOND_BONDED广播2.2onBonded2.3btConnector.openConnection2.4getProfileProxy3. 连接流程3.1BluetoothA2dp: connect3.2 IBluetoothA2dp.connect3.3connectWithAttribution3.4A2dpService.connect3.5A2dpStateMachi
2022-10-17 16:46:25 618
原创 HCI @Bluetooth Init
1. Init->scan1.1 HCI_Reset1.2HCI_Read_Buffer_Size1.3HCI_Host_Buffer_Size1.4HCI_Read_Local_Version_Information1.5HCI_Read_BD_ADDR1.6HCI_Write_Class_Of_Device1.7HCI_Write_Current_IAC_LAP1.8HCI_Write_Scan_Enable1.9HCI_Inquiry
2022-10-08 10:44:07 400
HDCP 1.x Signing Facility User's Guide.pdf
2022-05-30
HDCP 2.x Signing Facility User's Guide.pdf
2022-05-30
HDCP on DisplayPort Specification Rev2_3.pdf
2022-05-30
HDCP on WirelessHD Specification Rev2_2.pdf
2022-05-30
PKCS #1: RSA Cryptography Specifications Version 2.2
2022-05-30
Wi-Fi_CERTIFIED_Miracast_Technical_Overview_20220201.pdf
2022-05-30
Wi-Fi_Alliance_Technical_Note_Miracast_in_6_GHz_v1.0.pdf
2022-05-30
Wi-Fi CERTIFIED Miracast Highlights_0.pdf
2022-05-30
HDCP Interface Independent Adaptation Specification Rev2_3.pdf
2022-05-30
Wi-Fi_QoS_Management_Specification_v2.0_0 WiFi联盟官方文档
2022-05-30
Wi-Fi_Protected_Setup_Specification_v2.0.8 WiFi联盟官方文档
2022-05-30
Wi-Fi_Optimized_Connectivity_Specification_v2.0_0 WiFi联盟官方文档
2022-05-30
Wi-Fi_Data_Elements_Specification_Package_Release_2_1 WiFi联盟官方文档
2022-05-30
Wi-Fi_CERTIFIED_Passpoint_Online_Sign-Up_Certificate_ WiFi联盟官方文档
2022-05-30
Wi-Fi_CERTIFIED_Easy_Connect_Technology_Overview_202012
2022-05-30
Wi-Fi_Alliance_Capabilities_Specification_v1.0 WiFi 联盟官方文档
2022-05-30
Coexistence_Test_Plan_Package_v2.0 WiFi 联盟官方文档
2022-05-30
WiFi 联盟官方文档 AFC_Specifications_and_Test_Plans_041422
2022-05-30
Miracast 最新spec
2022-05-30
mbedtls开源sdk
2022-04-06
PKCS__1_v2.1_RSA_算法标准+RSA-oaep_spec
2022-04-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人