- 博客(26)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 SKW99(QCA9531)使用Openwrt源码支持32MbyteFlash
扩展地址寄存器是一个易失性寄存器,当设备工作在 3 字节地址模式(ADS = 0)时,它存储第 4 个字节的地址(A31-A24)。要写入扩展地址寄存器的各位,必须事先对该设备执行写使能指令(指令码为 06h),这样设备才会接受写扩展地址寄存器指令(状态寄存器中的写使能位 WEL 必须等于 1)。经分析发现,lede-17.01源码打包的固件,SPI通信的相关配置会将addr_width设置为4,在重启的时候,Flash没有退出4-byte模式。在使用过程中,出现使用reboot指令,系统不会重启的情况。
2025-03-10 19:12:08
749
原创 几种linux获取系统运行时间的方法
但是在开发过程中使用此命令获取系统时间,需要提取字段中的内容,不如通过其他方式获取方便,下面是文件获取的方法。[系统运行总秒数]:系统的运行时间信息,以S为单位,精确到小数点,表示系统从开机到当前时刻所经历的时长,图示为:933370.06;[空闲时间]:它反映了系统没有进行任何有效工作,CPU处于空闲等待状态的累计时长,图示为:1787850.84。在开发中,如日志记录等,可以通过读取文件的方式获取系统运行时间。下面是两种通过文件获取系统运行时间的方法。(2)下面是通过C语言获取系统时间的方法。
2025-03-10 18:54:35
393
原创 nc网络工具的使用
nc是一个功能强大的网络工具,它可以用于端口扫描,模拟TCP/UDP数据传输,代理端口等。ubuntu14.04默认自带nc工具,windows下需自行下载,一般防病毒软件会认为它有害。下面主要介绍它在linux下的用法。
2024-11-22 20:00:00
1442
原创 curl工具和libcurl的简单使用
下面是windows下,使用curl指令下载一个文件到对应路径的截图。下面是ubuntu14.04下使用libcurl获取网页的示例。(2)源码文件demo2.c。
2024-11-22 10:36:26
182
原创 几种常用的检查网络连通状态的指令
windows下的使用如下图,若使用"ping {IP地址/域名}",默认4个包,若是要持续检测网络连通,如检修网络的使用,可以在后面加-t参数“ping {IP地址/域名} -t”,这样系统会持续ping这个地址,使用"ctrl+c"键退出。linux下使用ping指令,默认 "ping {IP地址/域名}" 是持续ping这个地址的,可以使用"ctrl+c"退出,若是指令ping包的数据可以使用"ping -c {包的数据} {IP地址/域名}"。
2024-11-21 18:45:00
3835
原创 WIFI国家码设置的影响
分析原因:SDZ202是高通(QCA9531+QCA9886)方案,高通SDK打包固件默认的信道为auto,国家码默认US,在交互终端看到启动默认工作信道为5.5GHZ,对应信道为100,这个信道正好不在我国范围的5G范围内,而我们使用的手机是国内版的,所以搜不到这个热点;分析原因:SKW99为高通方案,默认国家码为美国(US),对应2.4G的的信道范围为1-11,而需要连接的热点,工作在13信道,所以无法搜索到;现象一:客户使用SKW99的STA功能去连接某个热点,出现热点搜索不到的情况;
2024-05-26 12:41:42
1784
原创 Openwrt21.02支持SKW78(MT7621)
升级完后,待模组稳定启动后,在/etc/config/wireless下,去掉wifi的disabled状态,打开wifi。配置完后,退出,运行make V=s,开始编译,首次编译用时会比较长,可以用以下链接中的dl,减少源码包下载时间。源码下载更新完后,此时SDK中没有.config配置文件,需要运行make defconfig后生成。下载完后,会有一个openwrt目录,进入openwrt目录。参考“MTK软件升级作业指导书.pdf”完成固件升级。固件编译完成后,对应的路径如下所示。
2024-04-15 20:09:06
1218
原创 openwrt局域网配置多个IP
在局域网配置过程中,若是DHCP服务器关闭,又忘记了配置的ip,将很难访问到路由器重新进行配置。这种情况可以在路由器出厂时做一个备用ip去避免。
2024-04-15 20:00:46
2013
原创 Openwrt源码下载出现“The remote end hung up unexpected”
最近项目原因需要下载openwrt21.02版本源码,花费了很多时间,找到正确方法后,发现可以节省很多时间,记录下过程,方便自己,可能方便他人。
2023-12-11 18:53:26
984
原创 《无线权威指南》—网络概述:802.11网络的运作方式(二)
2.3 802.11网络的运作方式(1) 802.11为了克服无线频道可靠度不够的缺点,纳入了某些机制以确保基本的可靠度,但帧传递实际上是不可靠的;(2)802.11既要提供MAC层次的移动性,又要依循之前802标准所规划的道路,所以必须加入一些额外的服务与较复杂的帧格式;2.3.1网络服务802.11总共提供9中服务,其中3种用来传送数据,其余6种均属管理作业,目的是让网络能够追踪行动节点以及传递帧。(1)传输(Distribution) 基础型网络中,一旦基站接收到帧,就会..
2021-03-04 19:57:19
488
1
原创 《无线权威指南》—网络概述:相关术语与设计(一)
本章概述:(1)描述了802.11 wireless LAN的整体架构。(2)802.11网络将会接触到的网络元件,这些元件包括工作站、基站以及传输系统本身。(3)名称简介: 工作站:station配置无线网卡的运行设备; 基站:accesspoint,位于工作站与传输系统之间的桥接器 传输系统:cistrihutionsystem,即有线骨干网络 工作站在逻辑上被划归它各个基本服务集组合BasicServiceset,简称BSS 由工作站彼...
2021-03-02 18:36:09
472
原创 无线权威指南学习——《无线网络导论》(一)
最近在学习《无线权威指南》这本专业书,下面是一些学习笔记,供以后自查。本章论述:(1)论述无线网络与传统有线网络之间的差异;(2)采用无线介质时面临的问题;1.1为何需要无线无线最明显的优点是提供人们移动性(mobility)。早期使用红外线,但它本身有限制,容易受到墙壁、隔间以及其他办公室设备阻隔;目前市面上绝大多数的802.11产品均采用无线波作为物理层;1.1.1无线频谱:关键资源(1)无线设备被限定在某个特定频段(frequencyband)上操作...
2021-03-01 20:31:35
481
1
原创 QCA9531修改寄存器值控制GPIO
由高通9531芯片规格书可知,芯片对应的GPIO有18个GPIO0-17,下图是规格书定义。下面以SKYLAB的SKW99模块为例进行说明。SKYLAB的SKW99模块使用源码为QSDK,GPIO0-3默认为JTAG功能,GPIO9和10为uart串口,剩下的GPIO11-16为默认为灯的功能,GPIO17为WPS按键功能。GPIO11-17对应功能源码地址为:qsdk/target/linux/ar71xx/files/arch/mips/ath79/mach-ap147.c...
2020-10-23 21:18:37
1551
原创 MT7688通过寄存器控制GPIO
在开发中,有些GPIO口做为状态灯或其他用途,当我们临时需要手动控制控制它时,可以修改对应寄存器值,使它转为GPIO口,进行控制。参考MT7688的芯片规格书,以操作/获取GPIO43-P0_LED的状态为例:查看文档可知,P0此时对应的功能是EPHYP0LED默认对应寄存器的值为0:EPHY P0 LED,下面将其寄存值设置为1:GPIO操作步骤如下:系统有地址映射,需要先执行reg s 0;reg s 0# reg s 0switch register base ..
2020-10-20 20:05:40
1113
原创 I2C没有设备/dev/i2c-0
前提:insmod i2c-gpio-custom bus0=0,X1,X2安装没有问题;(X1、X2表示可以的GPIO口)检查:下面路径下是否有i2c-dev.ko如果有:root@JoySince:/lib/modules/3.10.49# ls i2c-i2c-dev.ko i2c-gpio-custom.koroot@JoySince:/lib/modules/3.1...
2018-04-02 19:18:00
5144
原创 Tomcat上部署Wifidog认证服务器
前言:这个服务器的搭建只是为了了解wifidog与认证服务器的具体交互过程,在搭建商用认证服时,需要有所改进。关于wifidog认证的流程,下面几篇博客介绍的很不错:http://blog.youkuaiyun.com/huithe/article/details/27195903一.了解认证交互的数据搭建wifidog authpuppy服务器,通过抓包,了解了认证过
2018-02-02 10:59:22
1155
原创 服务器使用环形缓冲区处理接收数据
(一).前言 通信过程中,对接收数据,若是网络环境糟糕,会出现多个数据包同时到达; 在recv 读取数据时,一般读取固定长度的数据,可能出现读出下图,读出不完整数据包的情况,若是直接处理,数据不完整,若是忽略,那么下次读取的时候,读到的数据也不完整,出现数据丢失,或数据发送错误的断言; 最近研究一些前辈对这种情况的处理方法,就是使用环形缓冲区,写这篇博客记录下;(二).环形缓冲的介绍链接htt
2017-07-13 16:26:34
1250
1
原创 开线程做时间调度器
最近在写服务端逻辑业务时,有很多处理与时间相关,需要在不影响主线程的情况下,间隔一段时间后做某种处理。如:录制一段3s的远程视屏,主线程运行触发startRecord后,等3s,再发送stopRecord,若在主线程sleep(3);则这3s内,主线程将不能处理自己的逻辑业务;首先,通过gettimeofday函数获取当前时间;函数如下所示:#include <sys/time.h>//系统64位
2017-06-28 10:36:17
501
原创 setsockopt和getsockopt参数说明和使用
说明:setsockopt和getsockopt用于设置和获取通信栈上所有层上的选项; 头文件:#include <sys/types.h>#include <sys/socket.h>函数原型:int setsockopt(int s, int level, int optname, void *optval, int optlen);int getsockopt(int
2017-05-11 12:33:03
2654
原创 openwrt使用静态html做web界面
目前官网openwrt系统集成的web界面,使用luci和luci2,关于luci和luci2的不同,可参见下面链接,作者介绍的很详细: http://blog.youkuaiyun.com/wdsfup/article/details/51024150?locationNum=11&fps=1本人也是使用luci2实现前后端数据交互的,只是界面使用的是html写成的界面,这样界面制作会更灵活,界面风格能更自
2017-02-24 20:07:05
13790
4
原创 openwrt学习小结
1.openwrt源码下载 (1).使用链接下载: https://dev.openwrt.org/wiki/GetSource#a14.07branchBarrierBreaker 可以下载各个版本的openwrt源码; (2).使用svn命令下载: svn co svn://svn.openwrt.org.cn/openwrt/trunk 下载官网的源码(trunk测试版) (3).
2017-02-23 17:21:59
645
原创 mwan3实现负载均衡分析
使用的配置环境:openwrt的x86系统;每个接口都是独立的网口,局域网中,拥有唯一的mac地址;1.配置多wan口;(1).在/etc/config/network中,配置对应网口的信息,这里我将eth1配置成wan1了;注意:metric值一定要与wan的不同;(2).在/etc/config/firewall中,配置wan1的防火墙规则,将wan1加入到opti
2017-02-23 11:34:13
17603
2
原创 获取网口名称和mac地址
下面介绍两种方法获取网口名字和其对应的mac地址:1.通过socket方式获取:代码如下:此代码只能获取到网口的名字2.读网卡信息的文件文件路径:/sys/class/net/实现代码如下:
2016-12-28 16:18:36
3422
原创 Openwrt的uci操作
uci操作命令参数如下:命令1:uci batch 说明:进入uci命令操作模式,与在终端操作的区别是,操作不需要加uci前缀。该模式下,只能识别uci命令;如下面的:changes system命令2:uci export [配置文件的名称]说明:缺省时,显示所有uci能读取的配置文件的信息,查看的信息包括修改过
2016-11-24 14:28:40
7600
原创 linux下目录的操作
头文件:#include #include 1、打开目录 opendir 形式:DIR * opendir(const char * name);DIR * fopendir(int fd);返回值:文件夹不存在,返回NULL,存在返回DIR * dir;2.读目录readdir形式:struct dirent * d
2016-07-21 17:14:57
523
原创 linux下文件操作
fopen、fclose、fwrite、fread(下文简称”前者”)与open、close、write、read(下文简称“后者”)的区别和各自的使用区别:1.前者是C标准I/O库函数,后者位于C标准库的I/O缓冲区的底层称为无缓冲I/O;2.前者是C标准的一部分,而后者是UNIX标准的一部分,在所有支持C语言的平台上都可以用C标准库函数,而后者只有在UNIX平台上才能使用;3.
2016-07-16 18:37:06
380
Linux中mysql地址越界
2017-05-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人