自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 字符设备应用之私有ioctl的使用

cmd[15:8]—>命令的类型,可以理解成命令的密钥,一般为ASCII码(0-255的一个字符,有部分字符已经被占用,每个字符的序号段可能部分被占用)使用ioctl,ioctl的入参有个cmd,cmd的格式如下, 共两个字节,分别包含了type, number。cmd[31:30]—数据(args)的传输方向(读写) cmd[29:16]—数据(args)的大小。cmd[7:0] —>命令的序号,是一个8bits的数字(序号,0-255之间)留一个思考问题,ioctl和netlink的优缺点分别是什么?

2024-08-20 14:19:40 334

原创 网络设备net_device数据结构之ifindex

网络设备注册是调用register_netdevice注册到内核的,该动作一般是在mac80211模块ieee80211_if_add新增网卡中调用。近期发现网卡index值发生改变,导致上层dhcp失败(这里dhcp如果动态获取网卡index其实也无问题),这里主要来了解下网卡index值的产生原理,如何固定,如何动态注册,以及各自优缺点。mac80211模块 >>> kernel\src\net\mac80211\iface.c >>> ieee80211_if_add。

2024-08-20 11:59:53 304

原创 iwconfig & iwpriv学习之路

下载链接:https://www.linuxfromscratch.org/blfs/view/svn/basicnet/wireless_tools.html下载文件wireless_tools.29.tar.gz。iwconfig和iwpriv是两个常用的wifi调试工具,最近需要使用这两个工具完成某款wifi芯片的定频测试,俗话说好记性不如烂笔头,于是再此记录下iwconfig和iwpriv的使用方式。:是用于操作无线网卡的特定于驱动程序的私有属性和扩展功能。解压文件,进入主目录,使用如下命令编译。

2024-07-10 21:55:53 239

原创 wireshark抓包方法及常用过滤命令

什么是空口包?笔记本电脑通过网线连接路由器和通过wifi连接路由器访问百度,淘宝等有什么区别?个人理解:是传播介质不同,一个通过网线,另外一种是通过空气。那么,网线传输,我们可以通过网线分流去抓包,空气抓包要如何做呢?这里就是我这篇博客的目的了,通过空气作为介质传播的包通常就叫做空口包,我们需要使用wifi usb 抓包网卡,或者笔记本自身的wifi网卡,使其处于监听模式,时刻监听空气中的包,以此来完成抓空口包的目的。

2024-06-24 16:28:54 1090

原创 RTL8723DU蓝牙驱动及Bluez协议移植-转载

一般来说,当你想使用购买的WIFI或者蓝牙芯片时,直接问厂商要服务即可。但是这里我只是想简单玩玩学习一下,就在淘宝随便买了一个USB WIFI+蓝牙适配器,驱动这些只能自己搞搞。RTL8723DU是一个 WIFI+蓝牙 二合一芯片。WIFI部分的相关移植和使用大家用的比较多,资料也很丰富,自行搜索即可,这里只针对蓝牙部分做一下记录。我所使用的是arm开发板,Linux操作系统,交叉编译工具链为arm-[vender]-linux-uclibcgnueabihf。

2024-03-13 16:35:52 848

原创 iptables交叉编译及使用方法

本文主要讲述linux wifi做中继时使用iptables的方法,及iptables交叉编译时遇到的一些问题在编译以下开源库时不同编译工具链编译结果可能存在差异(其他编译器可能存在编译不过的情况)

2024-01-20 14:45:52 1174

原创 hostapd学习之路

hostapd使用方法及常见问题,库裁剪

2024-01-05 17:38:45 752 3

原创 wifi桥接-sta和ap共存

wifi常见的几个模式,sta,ap,monitor,中继,桥接,本文主要讲述linux wifi做中继的通用方法ps:这里问大家一个问题,你认为中继和桥接的区别是什么?本文最后会给出答案;wifi做中继,主要分为如下几步,

2023-12-27 10:15:13 836 2

原创 brctl (bridge-utils)交叉编译及常见问题处理

brctl 是一个用于配置和管理 Linux 网桥的命令行工具,它通常与 “bridge-utils” 包一起分发,本次我们已bridge-utils-1.7.1.tar.xz版本来记录,brctl交叉编译及遇到问题的解决方法;在编译以下开源库时不同编译工具链编译结果可能存在差异(其他编译器可能存在编译不过的情况)

2023-12-21 20:32:39 976

原创 路由表(route)详细介绍及常见问题处理

在学习中成长,在处理一个其他网络相关的产测问题时涉及到了路由相关的知识,正所谓好记性不如烂笔头,虽说现在经常与路由打交道,相关知识还算记得清楚,但人总是会老,总有记性不好的一天,因此在这里简单做下记录。

2023-09-25 20:36:03 525

原创 奇偶校验、CRC校验区别

奇偶校验只能检测出误,无法确定错误发生具体是哪一位(奇偶校验能够检测奇数位错误的原因是,校验位的设置是依赖于数据位中1的个数的,如果偶数个1发生错误,比如一次有两个1变成了0,这个时候1的奇偶个数并不发生变化,因此检测不出来)CRC校验码 = 原数据左移N位 ÷ 生成多项式的系数 得到的余数,这里N为G(X)的最大次幂,即5。是利用一个特定的校验位,使得数据的二进制位数中包含奇数个1或偶数个1来判断数据传输是否正常。二进制的除法:0÷0 = 0,0÷1 = 0,1÷0 = 0 (无意义),1÷1 = 1。

2023-09-13 16:27:03 679

原创 DHCP学习之路

dhcp问题分析

2023-07-18 15:42:07 311

原创 findBackTrace

该py脚本用于gdb–在另外一篇文章https://editor.csdn.net/md/?articleId=124853547 有说明。

2023-06-06 16:01:34 133

原创 wpa_supplicant讲解

wpa_supplicant简介

2023-04-07 17:27:53 863 2

原创 source insight 工程创建工具

在创建kernel工程时,常常遇到代码加不全,一个内核中包含多个平台代码,不知道使用的是哪个的问题。同事wj分享了一个很好用的脚本工具,在这里给大家分享一下1.将下方代码保存为 xxx.sh ,执行 ./xxx.sh 工程目录 目标文件 例如“./PF_Prj_Gen.sh ./Linux-3.10.108/src/ output”2.执行完成后,脚本会根据工程目录中产物,将本次编译到的所有文件名字放在目标文件中。3.使用source insight创建工程,添加工程文件时根据 “add from

2023-03-15 14:16:57 401

原创 TCP 常见问题处理

TCP常见问题分析

2022-11-23 15:45:53 1728

原创 WiFi 射频测试指标学习之路

WIFI 性能调试分析方向

2022-11-22 16:23:29 7789 3

原创 hello world驱动(二)-初级版

helloworld驱动(二)讲述了一个简单helloworld驱动的实现,本次在原基础上新增文件操作接口的实现及应用。

2022-07-25 11:33:20 236

原创 fopen、fwrite、fseek、ftell、fread使用demo

fopen、fwrite、fseek、ftell、fread使用demo

2022-07-21 19:36:39 258

原创 hello world驱动(一)--基础版

记录自己学习linux驱动的成长之旅。(2022/07/162203)

2022-07-16 22:16:21 302

原创 tcp demo

TCP 用于tcp调试

2022-06-29 22:22:22 610

原创 WIFI MAC地址规则常见问题(WIFI MAC)

wifi mac

2022-06-01 11:47:07 4491

原创 常见死机定位方法gdb addr2line objdump

常见死机定位方法 Gdb addr2line objdump

2022-05-19 00:44:25 1268

原创 基于华硕AX3000 WPA2-Personal认证方式,设备连接失败问题处理

1 问题背景最近在XXX项目上,测试在做路由器兼容性测试,发现XX设备在连接ASUS TUF-AX3000型号路由器的WPA2-personal认证方式时,出现必现连接不上的现象,最后排查发现居然跟有多种Wpa2-personal有关。本文主要结合该问题,分享下排查和分析的思路,以及设计到的相关的知识点。通过本文的阅读,你可以了解到,a)如何抓取连接过程的空中包?(后续补)b)sta连接ap的过程是怎样的?扫描阶段ap和sta间交互空口包里面包含了什么?(后续补)2 问题描述我们先来看下当

2022-05-14 13:31:00 5668 3

原创 linux基础知识积累

1.GUN、GCC、gcc、g++区别。(GUN包含GCC,GCC包含gcc、g++、ICC)GNU:可以看作一个开源平台。里面有大量开源项目。GCC:GNU中的编译器项目。集成了多种语言的编译器,包括有gcc、g++。g++:GCC中的c++编译器。gcc:GCC中的c编译器...........................

2022-03-22 09:37:59 466

原创 80211协议错误码解析

802.11 Deauthentication Reason CodesClient Reason Code Description Meaning Poor Man Explaination 0 noReasonCode Normal operation. 1 unspecifiedReason Client associated but no longer authorized. We don’t know what’s wrong 2

2022-03-04 09:49:38 1367

原创 Git工具的学习之路

除了常用的git命令外,日常使用git时我们通常还会遇到一些各种各样的问题,本篇文章主要记录个人在使用git时遇到的一些问题,和解决方法1.PC与UNIX换行符不一致导致问题描述:git status,发现很多文件没有修改 但却显示修改了。网上查了下是因为UNIX和PC换行符不一致导致的。 按教程搞敲了命令不生效。后请教同事使用下面命令可行解决办法:git config core.filemode false......

2022-03-03 14:53:04 405

原创 交叉编译wpa_supplicant常见问题总结

由于单篇文章篇幅过长 发布会失败,故在此记录平时不同项目中使用wpa时遇到的问题及解决方法常见问题:a) 编译wpa_supplicant时提示libnl库中依赖的部分函数未实现如下所示libnl-3.5.0/_install/lib/libnl-3.a(libnl_3_la-socket.o): undefined reference to symbol 'pthread_rwlock_wrlock@@GLIBC_2.4'解决办法:缺少依赖库。解题思路度娘,其次在wpa_supplicant M

2022-02-19 15:24:00 1333

转载 spinor flash和spinand flash的区别

最近学习flash时,说W25Q64是NOR flash。这个NOR flash和NAND flash的概念一直搞不清,下面是查询的相关资料。1、结构方面:NORflash采用内存的随机读取技术。各单元之间是并联的,对存储单元进行统一编址,所以可以随机访问任意一个字。既然是统一编址,NORflash就可以芯片内执行,即应用程序可直接在flash内运行,而无需先拷贝到RAM。NANDflash数据线和地址线共用I/O线,需额外联接一些控制的输入输出。2、NOR flash有更快的读取速度NAND

2022-01-13 09:36:20 2161

转载 Linux shell文件属性判断

-d file 检查file是否存在并是一个目录-e file 检查file是否存在-f file 检查file是否存在并是一个文件-r file 检查file是否存在并可读-s file 检查file是否存在并非空-w file 检查file是否存在并可写-x file 检查file是否存在并可执行-O file 检查file是否存在并属当前用户所有-G file 检查file是否存在并且默认组与当前用户相同file1 -nt file2 检查file1是否比file2新file1 -

2022-01-10 20:24:04 325

原创 wifi 80211常见问题及相关知识

本文主要讲解如何从Beacon帧中区分AP的认证方式,其他内容日后慢慢填充(无法上传图片,日后补充)Beacon 802.11 Management - Beacon [0-32]中若包含WPA:则表示为WPA认证方式RSN:表示为WPA2认证方式WPS:支持WPS连接WEP:表示为WEP认证方式另加密方式如: CCMP(AES)、TKIP等也均可看到...

2022-01-10 16:51:07 1306

原创 epoll问题总结

1.epoll failed: Bad file descriptor的原因可能是IO事件的socket描述符在epoll_ctl()处理之前关闭了。if(epoll_ctl(epollFd, EPOLL_CTL_DEL, ev->fd, &epv) < 0)  fprintf(stderr, “Event Del failed[fd=%d], epoll failed: %s\n”,ev->fd, strerror(errno));在删除事件 epoll_ctl(kd

2022-01-10 10:45:38 1705

原创 makefile学习之 -fshort-enums的使用

gcc -c -Wall -fshort-enums**多数编译器默认enum型长度等于int型,**很多人也把enum型变量等同于int,但C标准在这里留下了尾巴:“枚举型尺寸是能够容纳最大枚举子值的整数尺寸”,“枚举类型中枚举子的值必须要能用一个int型表述”。也就是说,枚举型的尺寸不能超过int型,但不必等于int型,只要能容纳最大枚举子就行enum也有一个隐含问题:enum变量占用的空间与编译器相关enum长度不确定会带来可移植性问题。比如上层应用编译时没有用-fshort-enums,默认用

2022-01-10 10:32:55 1281

转载 堆与栈的区分

堆与栈的区分实际很多简单,如下距举例说明,更容易懂//main.cppint a = 0; //全局初始化区int a = 0; //全局初始化区char *p1; //全局未初始化区main() { int b; //栈 char s[] = "abc"; //栈 char *p2; //栈 char *p3 = "123456"; //123456\0在常量区,p3在栈上。 static int c = 0; //全局(静态)初始化区 p1 =

2021-12-28 15:48:40 115

原创 samba挂载方法

1、PC开启文件共享 打开控制面板\所有控制面板项\网络和共享中心\高级共享设置\公共文件夹共享2、文件夹设置共享选中文件夹-属性-共享3、设置设备IPifconfig eth0 10.36.208.200 netmask 255.255.255.0;route add default gw 10.36.208.2544、挂载电脑10.99.89.99mount -t cifs -o username=电脑用户名,password=电脑密码 //10.99.89.99/public_dev /

2021-12-25 17:32:00 1315

原创 C 结构体大小计算-易懂篇

废话不多说,以下方例子讲解结构体大小的计算方法。#include <stdio.h>typedef struct { char a; //2字节 short b[2]; //short占2字节,char占1,字节对其故a、b共占用2+2*2=6字节 char *c;//指针占用8字节,a、b需字节对其,故ab+c共占8+8=16字节 int d;//int占4字节,单c指针占用8字节,字节对其,故abc+d共占用16+8=24 long e;//long占用8字节故,abcd+e

2021-12-25 14:53:35 526

转载 c语言中signal函数详细说明--举例

在signal.h头文件中还有以下几个定义#define SIG_ERR (void ()())-1#define SIG_DFL (void ()())0#define SIG_IGN (void (*)())1系统调用signal用来设定某个信号的处理方法。该调用声明的格式如下:void (*signal(int signum, void (*handler)(int)))(int);在使用该调用的进程中加入以下头文件:#include <signal.h>上述声明格式比较复杂

2021-12-17 10:52:44 1211

原创 Lora开发常见问题

LORA开发过程问题总结一、 概述1.1 开发过程使用的ICLora芯片:sx1268(最终使用LLCC68)主控芯片:新唐M483 (最终使用M482)1.2 芯片开发注意事项SX1268(LLCC68)需配置Reset、DIO、BUSY、SPI PIN脚其中SPI配置需注意:CLK < 16MHzMODE:CPOL=0 CPHA=0二、开发过程问题总结(1)M483 SPI发送与接收,数据传输正确率为93%原因分析:逻辑分析仪接线导致数据传输偶尔异常。(2)M483

2021-12-11 15:05:58 1681

转载 ioctl 获取网卡流量信息(ifconfig的实现)1

本文内容自己暂未做验证,内容来自http://www.360doc.com/content/15/0806/18/18945873_489944405.shtml主要临时记录下ifconfig 实际使用的ioctl cmd,方便日后查看SIOCGIFFLAGSSIOCGIFHWADDRSIOCGIFMETRICSIOCGIFMTUSIOCGOUTFILLSIOCGKEEPALIVESIOCGIFMAPSIOCGIFTXQLENSIOCGIFADDRSIOCGIFDSTADDRSIO

2021-11-29 10:00:44 272

转载 单位dbm db的关系与区别

所谓的dBw就是跟功率跟1瓦比,既10lg(功率/1瓦特)dBm就是功率跟1毫瓦比,既10lg(功率/1毫瓦)所以0dBw就是它跟1瓦比算出来的结果是0,即它也是1瓦。所以1瓦等于1000毫瓦,跟1毫瓦比算出来的结果就是30,所以0dBw=30dBm.db,表示一个相对值。当计算A的功率相比于B大或小多少个dB时,可按公式10 lg A/B计算。例如:A功率比B功率大一倍,那么10lgA/B = 10lg2 = 3dB。也就是说,A的功率比B的功率大3dB;如果A的功率为46dBm,B的功率为40dB

2021-11-24 09:13:53 1873

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除