自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

煮酒论英雄

信函尺牍,方寸素心,愿以林莽雪原的气派,容纳所有的人生!

  • 博客(32)
  • 收藏
  • 关注

原创 使用netlink完成用户态跟用户态的通信以及用户态跟内核态的通信

使用netlink机制跟指定进程通信netlink通信编码目标编码实现1、内核态代码2、使用netlink进行通信示例netlink通信我们知道,使用netlink可以完成用户跟内核态双向通信,实际使用时,我们需要对netlink进行封装统一的接口,在和指定进程进行通信时,只需要调用指定接口就可以轻松完成用户态到内核态的netlink通信编码。此外,我们上层用户态进程除了需要和内核进行通信外,还需要和其他用户态进程进行通信,因此需要封装统一的接口同时支持netlink用户态到用户态的通信以及用户态到内核

2021-10-15 15:31:49 985 1

原创 wifi系列------初始化

WiFi 初始化1、产测模式下的 wifi 初始化 主要作用:一是验证无线指示灯按键,二是做无线校准,三是无线吞吐测试(抽检 20%) 产测模式 wifi 初始化特点: (1)无线启动加载快---->通过脚本启动无线,不加载 wifimgr(2)产测模式下无线参数配置固定—>主要是便于无线吞吐测试产测模式 bcm 加载流程:(1)、加载默认预配置,启动无线nvram loaduserfile /fhrom/bin/wifi.txt nvram commit nvram restar

2021-05-29 23:43:24 2368

原创 开发调试指令大全--(博通开发调试命令)

博通开发调试命令前言1、命令行基本语法1、bcm常见命令行(1)查看软件版本信息(2)查看无线硬件版本信息(3)查看无线状态(4)查看无线驱动统计信息(5)无线驱动加载map文件信息(6)查询关联sta信息(7)查询指定sta详细信息(8)查看AP当前发射功率(9)查看AP天线的RSSI(10)查看AP邻居信息(11)查看AP实时物理速率前言本文主要介绍博通方案的常用的无线配置方法和以及开发调...

2019-12-21 17:12:04 11192

转载 三层以太网交换机基本原理及转发流程

三层以太网交换机基本原理及转发流程本文简要介绍了三层以太网交换机的二三层转发机制,主要目的是帮助读者进一步了解交换机的基本原理及转发流程,以期有利于更好的从事设备维护工作和建立于进一步学习的索引。三层以太网交换机的转发机制主要分为两个部分:二层转发和三层交换。1. 二层转发流程1.1. MAC地址介绍MAC地址是48 bit二进制的地址,如:00-e0-fc-0...

2019-10-23 17:11:05 5391

转载 Linux内核私闯进程地址空间并修改进程内存

进程地址空间的隔离 是现代操作系统的一个显著特征。这也是区别于 “古代”操作系统 的显著特征。进程地址空间隔离意味着进程P1无法以随意的方式访问进程P2的内存,除非这块内存被声明是共享的。这非常容易理解,我举个例子。我们知道,在原始野人社会,是没有家庭的观念的,所有的资源都是部落内共享的,所有的野人都可以以任意的方式在任意时间和任何其他野人交互。类似Dos这样的操作系统就是这样的,内存地址空...

2019-10-09 15:19:53 568

原创 无线探针的原理及代码实现

无线探针的原理及代码实现前言:随着无线的普及,很多终端现在都支持无线功能,无线网关设备也是随处可见,我们可以通过收集ap周边的sta信息,在大数据时代,当支持这种带收集sta信息功能的设备达到一定的覆盖面时,将这些信息收集汇总,我们大致可以比较精确的定位终端sta的运动轨迹。一、无线探针的应用场景公安部门破案或者追踪一些失踪人员的下落时,大部分是通过天眼来确定人员的活动轨迹,该种人员追踪...

2019-05-11 13:34:59 5220

原创 开发调试指令大全--(MTK开发调试命令)

MTK无线驱动开发调试手册1、前言2、MTK Wifi芯片简介2.1 单频WIFI芯片信息2.2 WiFi驱动版本3、MTK 无线驱动开发调试3.1 常用命令行3.1.1 设置WLAN驱动打印级别3.1.2 查看驱动版本3.1.3 设置国家区域3.1.4 设置国家码3.1.5 设置ACL表的访问策略3.1.6 重置所有统计计数器3.1.7 触发邻区扫描3.1.8 设置国家字符串3.1.9 设置AP...

2019-04-13 11:58:34 15828 2

原创 开发调试指令大全--(realtek开发调试命令)

1、术语与缩写解释BBP: Baseband Processor,基带处理,指PHY,物理层。NIC: Network Interface Card,网卡也叫“网络适配器”。NDIS: Network Driver Interface Specification, 网络驱动接口规范。NDIS的主要目的就 是为NIC制定出标准的API接口。TSSI Transmitter Signal St...

2019-01-24 21:32:59 10023 3

原创 Wifi隔离的原理及实现

1、wifi隔离是什么无线隔离又称客户端隔离(client isolation),也称AP隔离,指的是阻止连接路由器的设备之间互相访问,多见于无线通信方面,常见于路由器设置中。AP隔离非常类似有线网络的VLAN(虚拟局域网),将所有的无线客户端设备之间完全隔离,是客户端只能访问AP接入的固定网络。通俗来讲,就是各个连接无线的客户机(如手机、电脑等)之间无法互相通讯的,即你无法在两台同时连接AP...

2019-01-12 15:55:13 18859

原创 主流无线芯片厂商的自动信道选择算法小结

在介绍自动信道选择算法之前,先介绍一下相关的术语及名词解释。ACS Auto Channel Selection,自动信道选择。ACSD Auto Channel Selection Daemon,自动信道选择守护进程。APCS Access Point Channel Selection,AP信道选择。CNS Composite Noise Score,综合噪声评分。C...

2019-01-08 19:59:19 8304 6

原创 802.11n帧聚合技术研究

这里写自定义目录标题帧聚合机制帧聚合的两种类型对聚合帧的块确认(BA)机制`Block Ack`机制分三个步骤来实现:聚合包的数量BA和AMPDU配合增加传输效率聚合包密度ixia测试多设备接入性能随着无线业务的快速增长以及手持智能终端的不断发展,人们对于高速率无线局域网的需求也更加迫切。为了突破传统MAC层带来的吞吐量提升瓶颈,IEEE802.11n标准提出了帧聚合机制。帧聚合机制帧聚合机...

2018-12-06 16:07:27 6601

原创 PPPoE协议交互过程详解及抓包分析

PPPoE协议交互过程1、发现阶段(PPPoED:PPPoE Discovery)1.1 PADI(PPPoE Active Discovery Initiation)1.2 PADO(PPPoE Active Discovery Offer)1.3 PADR(PPPoE Active Discovery Request)1.4 PADS(PPPoE Active Discovery Se...

2018-12-04 19:53:01 23337

转载 物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP

 MQTT协议MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)最早是IBM开发的一个即时通讯协议,MQTT协议是为大量计算能力有限且工作在低带宽、不可靠网络的远程传感器和控制设备通讯...

2018-09-08 09:36:28 947

原创 进程间通信之信号量

1、进程间通信概述一般情况下,系统中运行着大量的进程,而每个进程之间并不是相互独立的,有些进程之间经常需要互相传递消息。但是每个进程在系统中都有自己的地址空间,操作系统通过页表和实际物理内存所关联,不允许其他进程随意进入。因此,就必须有一种机制既能保证进程之间的通信,又能保证系统的安全,即进程间通信机制——IPC(Inter_Process Communication)。Linux中的内存...

2018-09-05 21:29:56 322

原创 system函数封装

system函数封装前言system()系统函数在编程过程中经常被调用,在linux下,可以用来执行shell命令,但在平常的工作中,我们很多时候需要执行的shell命令需要接收用户的收入,并对shell命令执行后的返回结果再做相应处理,此时,我们需要对system函数做一下封装。用法实例及说明获取Ubuntu下指定网口的相关信息编程环境: ubuntu相关函数: fo...

2018-09-02 12:03:15 828

原创 【经典算法】老鼠走迷宫问题

老鼠走迷宫问题及其多个变种说明 老鼠走迷宫问题的递归实现,是对递归思想的一种应用。 问题描述 给定一个二维数组,数组中2表示墙壁,0表示通路,由此数组可展示为一个迷宫图。给定入口位置和出口位置,判断之间是否存在通路并显示出走出迷宫的道路。/*************************************************************************...

2018-07-21 18:37:00 8589 2

转载 洞悉linux下的Netfilter&iptables:开发一个match模块

(十四)洞悉linux下的Netfilter&iptables:开发一个match模块【实战】http://blog.chinaunix.net/uid-23069658-id-3230608.html2012-05-31 21:00:14 分类: LINUX自己开发一个mat...

2018-07-08 20:23:44 333

原创 无线知识小结

无线知识该文档目的在于收集归纳无线相关的一些知识,在自己的学习过程中不断总结以及归档,供后续查阅。 主要包含以下几个方面的内容。无线知识理论无线相关的问题……1、802.11帧主要有三种类型:数据帧、控制帧、管理帧。数据帧 负责在工作站之间搬运数据,它可能会因为所处的网络环境不同而有所差异。控制帧 通常和数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的...

2018-07-08 19:46:25 1263

原创 数据结构之C语言实现栈

C语言实现栈利用数组实现简单的栈操作:入栈 出栈栈空取栈顶元素/****************************************************************************************************** * function:用数组实现栈,并完成一些栈的常规操作:入栈、出栈等操作 * autho...

2018-07-08 18:40:58 555

原创 数据结构之C语言实现双向链表

C语言实现双向链表双向链表主要实现以下功能:双向链表创建 节点头插 节点尾插 指定位置插入节点 节点删除 链表排序 链表求长/****************************************************************************************************** * function:自定义一个...

2018-07-07 12:17:29 7792 4

原创 openwrt中解析ubus中的array类型数据

ubus解析array数据ubus简介在openwrt平台下开发时,ubus为进程间通信提供了一个通用的框架。它让进程间通信的实现变得非常简单,并且ubus具有很强的可移植性,可以很方便的移植到其它linux平台上使用。ubus实现的基础是unix socket,即本地socket,它相对于用于网络通信的inet socket更高效,更具可靠性。需要解决的问题在ubus的使用过程中...

2018-06-18 21:30:59 3911 2

原创 内核态到用户态的通信之netlink(二)

内核态到用户态通信(一) netlink简介 netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。(二) netlink使用下面首先通过一个实际问题来说明netlink的使用方法1、要解决的问题环境 硬件:路由器, 操作系统:openwrt,芯片:mt7628问题 解决...

2018-06-17 10:42:53 912

原创 内核数据包解析之过滤DHCP包

内核数据包解析前言 本文主要目的是在内核驱动中解析出dhcp报文关于结构体struct sk_buf *skb 内核中sk_buff结构体在各层协议之间传输不是用拷贝sk_buff结构体,而是通过增加协议头和移动指针来操作的。如果是从L4传输到L2,则是通过往sk_buff结构体中增加该层协议头来操作;如果是从L4到L2,则是通过移动sk_buff结构体中的data指针来实现,不会删除...

2018-06-16 21:41:57 1670 1

原创 多进程文件读写之加锁

多进程加锁问题前言在嵌入式系统开发的过程中,配置文件用来存放系统或者一些重要进程的一些配置信息,这些配置文件有可能会被多个用户态程序进行访问,因此,防止多线程(或多进程)同时设置相同配置文件,造成低概率配置文件内容丢失,对配置文件加锁很有必要。实例#include<sys/file.h>#define CONFIG_LOCK_PATH “/tmp/file.loc...

2018-06-16 20:33:33 5228

原创 内核空间与用户空间的通信之proc(一)

内核空间与用户空间的通信在Linux中编程,特别是涉及内核驱动时,应用层程序经常需要和内核层驱动进行数据交换,比如内核检测到某个状态需要通知应用程序,或者应用程序的某个状态发生改变需用通知内核等等。proc简介 /proc 文件系统是一种虚拟文件系统,它可以实现linux内核空间和用户空间的通信。与普通文件不同,这里的虚拟文件的内容都是动态创建的。 如果只是控制内核中的参数而不是传输较...

2018-06-16 20:23:54 1284

原创 判断ip是否在线之linux下进程间通信(Unix domain socket)

c/s模式判断该ip地址是否在线,采用unix domain socket实现本地进程间通信

2017-09-15 22:02:54 818

原创 C语言获取本地所有网卡的ip地址及MAC信息

C语言获取网卡的ip地址及MAC地址信息

2017-09-15 21:32:49 3598

原创 PC实现路由器的基本功能

1、pc实现pppoe服务,供下联设备拨号获取地址2、pc提供DHCP服务,供下联设备获取动态地址3、PC2访问route上的web

2017-09-15 20:11:12 3809

原创 进程间通信之共享内存技术

共享内存指 (shared memory)在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存(Cache)。任何一个缓存的数据被更新后,由于其他处理器也可能要存取,共享内存就需要立即更新,否则不同的处理器可能用到不同的数据。共享内存是 Unix下的多进程之间的通信方法 ,

2017-08-19 22:07:29 453

原创 个性化vim配置

个性化vi设置

2017-08-14 22:07:17 543

原创 MICoder环境搭建及常见安装问题

本人在初次使用MiCoder事,安装出现一些问题,作为新手,在网上可参考资料不多,为避免同行同样出现此种情况,现将Micoder的安装过程及常见问题解决办法记录下来,以便自己后续查阅方便,也希望对入门Micoder开发者起个引导作用。MiCO是什么 MiCO 全称:MCU based Internet Connectivity Operating System,它是一个基于微控制器的互联网

2017-08-10 21:35:17 2820 2

原创 Linux下用sheel脚本完整实现tree功能

ubuntu下用sheel脚本完整实现tree功能,1.1 该部分实现树形结构这里写代码片!/bin/bashbranch_vline="│ " #Branch vertical line branch_null=" " #null separation branch middle_branch_end="├── " #middle file branchl

2017-08-09 20:50:41 1282 2

空空如也

空空如也

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

TA关注的人

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