- 博客(44)
- 收藏
- 关注
原创 openwrt syslog 上板配置
config system option hostname 'status.yota.ru' option zonename 'Asia/Shanghai' option lamp '1' option enable_redirect '0' option timezone 'UTC-8' option language 'en' option countryareacode '+86'
2024-03-25 19:24:17
567
原创 wifi rx数据包到以太网协议栈过程
进中断,收数据存队列,交由中断下半部分处理。通过NET_RX_SOFTIRQ软中断处理。包括netfilter的过滤处理。
2024-03-08 16:42:48
339
原创 iptables match extensions
m 选项用于指定要加载的扩展模块,而 -M 选项用于指定要在 IPTables 规则中使用的目标。-m 用于匹配条件,例如 -m tcp 用于匹配 TCP 协议,而 -M 用于指定要应用的动作,例如 -j DROP 用于丢弃数据包。.x6_options = http_opts, // 模块运行的选项参数名称以及编号等描述,调用x6_parse会将编号传进来。.x6_parse = http_parse, // -m 模块的每个参数都要经过这个回调处理。
2024-03-06 15:54:06
514
原创 linux进程信号以及对应的默认操作
这些是一些常见的信号及其默认操作。对于每个信号,可以使用"man 7 signal"命令来查看更多详细信息。当然,可以通过编程来改变信号的默认操作,比如使用signal函数或者sigaction函数来注册自定义的信号处理函数。在Linux中,线程可以接收到多种信号,每种信号都有对应的默认操作。
2024-02-20 11:54:54
446
原创 open wrt netifd netlink
static voidhandle_hotplug_msg(char *data, int size){ const char *subsystem = NULL, *interface = NULL; char *cur, *end, *sep; struct device *dev; int skip; bool add; if (!strncmp(data, "add@"...
2022-03-31 15:34:07
637
原创 openwrt 将编译后的库和头文件放入staging中
主Makefile增加define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_BUILD_DIR)/uci{,_config,_blob,map}.h $(1)/usr/include $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_BUILD_DIR)/libuci.so* $(1)/usr/lib $(CP) $(PKG_BUILD_DIR)/lib...
2022-02-23 13:31:45
1232
原创 linux驱动获取命令行参数方法
static int __init ww_get_hw_type(char *num){ ww_type_hw = *num - '0'; ...
2022-02-08 09:23:11
585
原创 进程打开文件管理
#include <unistd.h>#include <stdio.h>#include <string.h>#include <time.h>#include <sys/time.h>#include <fcntl.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <time.h>.
2022-01-27 13:08:01
308
原创 VLAN 技术理解
VLAN原理详解_曾梦想仗剑走天涯-优快云博客_vlan划分广播域、域之间的路由。概念:广播域:交换机上一个连接设备发广播其他设备都能接受到。路由器:在3层支持路由的设备网络接口:交换机设备或者路由器设备带的硬件接口。交换机:在二层进行包转发,二层也有mac缓存表,接受到包后在表中找到mac直接转发,不再经过三层路由。VLAN:在二层上进行广播域划分技术。使用该技术划分后,域之间不能再接收到对方的广播数据。访问链接1.生成VLAN接口2.生成访问链接,将
2022-01-16 16:03:46
1802
原创 openwrt ntp
NTP时间蜂窝网络连上后通过notify传给 router/etc/init.d/sysntpd stop && /etc/init.d/sysntpd start
2022-01-16 14:02:53
505
原创 uci 使用
uci 使用uci_ctx_router = uci_alloc_context(); //创建操作句柄uci_foreach_element(&local_ctx->root, e) //遍历句柄,已经uci_load的package。入参为root,找到后需要转换成package:p = uci_to_package(e);uci_load(local_ctx, DDNS, &p); //加载一个package,返回操作句柄&pu...
2022-01-16 14:01:39
1706
原创 openwrt fota
fota 将所fota包的内容都放在OTA备份分区中。OTA数据覆盖到主分区方法不详。 UBUS_METHOD("download", download_func, download_policy), //UBUS_METHOD("query", query_func, query_policy), UBUS_METHOD("new_query", new_query_func, query_policy), UBUS_METHOD_NOARG("abandon_che...
2022-01-16 14:00:34
421
原创 openwrt mgui模块 led灯控
led灯控1.ap侧将开启、关闭、闪烁等配置设到驱动里面,让驱动去做具体的逻辑。/sys/class/leds 属性文件:trigger、brightness、delay_on、delay_off2.20s灭灯逻辑由应用定时器做。3.自动探测充电、ril、wifi、sms模块...
2022-01-16 13:57:08
442
原创 无名管道使用
无名管道用于有亲缘关系的进程间通信,如果需要双向通信最好创建两条管道。使用方法fd[2]pipe(fd)使用场景:1.父子进程通信。2.进程和事件回调函数之间通信。
2022-01-16 13:55:36
116
原创 cmake cmakelist编写
ADD_DEFINITIONS:定义https://www.shangmayuan.com/a/732f349495174a62baf6ab7f.htmlOPTION:执行cmake 编译命令传进来的宏定义选项。https://blog.youkuaiyun.com/chouhuan1877/article/details/100808689INSTALL:https://blog.youkuaiyun.com/weixin_44937328/article/details/113868760指定:源码、库头文件、库位置。
2022-01-16 13:52:40
111
原创 openwrt hotplug.d
OpenWrt中的热拔插Hotplug.d中的脚本_flexman09的专栏-优快云博客_hotplug openwrt额外:会在/etc/rc.d目录下创建对应的开机脚本文件。
2022-01-12 13:09:46
530
原创 openwrt 启动流程
Openwrt内核启动流程及相关脚本简易分析_猫瑾的博客-优快云博客set -x 调试shell脚本,查看shell执行过程,但命令并未真正执行。
2022-01-11 14:36:57
274
原创 shell ${}
shell 中的${},##, %% , :- ,:+, ? 的使用 - 30岁再次出发 - 博客园a.sh#!/bin/shjsonfilter() { echo 999999999999999 echo "1= ${1} 2 = ${2} 3=${3} 4=${4} 5= ${5} 6=${6}"}__network_ifstatus() {jsonfilter ${4:+-F "$4"} ${5:+-l "$5"} -s "$__NETWORK_CACHE" -e "$1=@
2022-01-11 01:12:47
296
原创 ubus 三种通信方式
[openwrt] ubus实现进程间通信举例_落尘纷扰的专栏-优快云博客_ubus_invoke等待数据客户端 ubus中转服务器 产生数据客户端 直接调用 返回调用结果订阅后等待notify ubusd服务器 ...
2022-01-09 23:13:54
1192
原创 ubus 数据包格式
原始数据头 struct { struct ubus_msghdr hdr; struct blob_attr data; } hdrbuf;枚举struct ubus_msghdr { uint8_t version; uint8_t type; uint16_t seq; uint32_t peer;} __packetdata;enum ubus_msg_type { /* initial se...
2022-01-09 01:25:12
351
原创 epool
https://man7.org/linux/man-pages/man7/epoll.7.htmlepoll是一个服务器编程工具。主要作用是优化了poll性能。
2022-01-08 23:58:00
94
原创 openwrt blob与blobmsg
libubox-blob/blobmsg - yuxi_o - 博客园blob是用于描述一组二进制数据的抽象结构,二进制数据由TLV格式组成。blobmsg是对blob的扩展在L和V之间增加了Value值的名称。在解析blobmsg数据需要注意,第一层在解析时获取待解析数据使用blob_data获取待解析数据长度使用blob_len....
2022-01-08 23:11:39
879
原创 端口转发 局域网数据包在桥上DNAT后无法forward
问题:端口转发,内网设备2的端口5555绑定WAN端口2222。内网设备1访问WAN口端口2222,在桥上pre链执行了DNAT操作,但是数据包最终未转发到内网设备2的5555端口上。如果开启tcpdump抓包工具就正常转发,关闭后还是无法转发。原因分析:内核的桥代码在处理pre链上的数据包DNAT后,不会将数据包传到上层IP栈上,也就不会再过forward链。个人觉得数据包在做DNAT后被桥转飞了。修改:br_netfilter.cstatic int br_nf_pre_ro
2022-01-06 20:24:15
1216
原创 umg模块
enum DEFAULT_ROUTE FORBIDDEN_BIT FORBIDDEN_BY QOS_ #define USER_MAX_COUNT 100 #define PCTL_MAX_COUNT 5 数据结构 parental_ctrl_t monitored_user_t user_manager_t 功能 FORBIDDEN_BY_USER_LIST = 0, 最大用户数量100,...
2021-12-28 00:26:06
244
原创 iptables physdev 不生效
physdev-in、physdev-out 不起作用_weixin_34144848的博客-优快云博客
2021-12-23 14:45:35
337
原创 asr 功能记录
1.usb检测操作系统类型1826 dvc.docx2.关闭modemASR1802SL和ASR1826如何不起CP.docx3.user模式与production模式ASR1826 production和user模式如何切换.pdf4.fota包制作ASR1826 平台如何制作FOTA包和进行测试.pdf
2021-12-04 17:35:11
1102
原创 free rtos调度策略
Fixed Priority:任务优先级,任务优先级可在运行时修改。Pre-emptive:抢占,比当前运行任务优先级更高的任务进入ready态时,将当前运行任务切换到ready状态并且执行高优先级任务。Time Slicing:时间分片,在抢占模式、开启时间片配置下多个任务拥有相同优先级,多个任务共享处理器时间。在每个时间片用完后调度器选择一个该优先级下处于ready状态的任务运行,不用等待运行任务主动放弃cpu。1、抢占式调度(Prioritized Pre-emptive Sched.
2020-05-19 15:28:25
538
原创 mqtt客户端编程
1.下载paho编译并安装源码下载地址:https://github.com/eclipse/paho.mqtt.embedded-c根据github上提示安装2.修改客户端源码MQTTClient-C\samples\linux\stdoutsub.c
2020-05-14 14:23:00
266
原创 mqtt服务器 mosquitto入门
mosquitto是mqtt服务器客户端的一个实现,编译安装后可使用服务端以及客户端服务。mqtt包含服务器、发布者、订阅者三个角色。1.下载https://mosquitto.org/download/2.安装在linux下解压源文件后再进入源文件根目录,执行make后再执行make install3.使用默认配置开启服务端:在终端1中执行:mosquitto开启订阅客户端:在终端2中执行:mosquitto_sub -t 'test/topic' -v发布数据...
2020-05-14 12:20:19
505
原创 makefile 子目录管理
这是针对makefile的一次实验,主要针对于makefile如何管理子路径以及头文件依赖。1.工程目录组织 工程目录下包含一个子目录sub以及main.c文件,sub包含文件add.c、add.h。该工程编译后产生一个可执行main文件,该文件实现加法功能,在执行时需要将做加法的参数传入程序。|-->root|--------->main.c|--------->sub| --------->add.c| -...
2020-05-13 10:28:31
1292
原创 mbedtls linux环境调试
1.下载 https://tls.mbed.org/2.编译 解压下载包,解压后到解压文件根目录下,直接执行make命令即可。 编译完成后,https服务器以及客户端各有一个可执行文件,存放在/programs/ssl/路径下。3.使用默认证书调试 默认ca根证书:library/certs.c 证书机构的根证书文件存放在这个文件的mbedtls_test_cas_pem变量中。 开启服务器:./programs/ssl/ssl_server...
2020-05-11 16:27:56
2216
原创 阿里 lite_cjson使用方法入门
void test_json(void){ int res = 0,i; char *test_str ="{\"a\":1,\"b\":2.5,\"c\":\"jxd\"}"; lite_cjson_t lite, lite_item; lite_cjson_item_t *obj,*one_item; char *json_txt; lite_...
2019-05-31 08:56:34
672
转载 Makefile %号通配符
转载本文请保留以下网址:http://www.cnblogs.com/warren-wong/p/3979270.htmlMakefile中的%标记和系统通配符*的区别在于,*是应用在系统中的,%是应用在这个Makefile文件中的。(本文的测试环境是Windows7下使用MinGW提供的make.exe)例如,如果你想编译一个文件夹下的所有.c文件,你可能会这样写:1 %.o...
2019-04-20 22:02:14
431
原创 LPC1853 DMA
DMA 可实现内存到内存、内存到外设、外设到内存的数据传输,传输过程由DMA控制器完成,无需 处理器干预。内存指的是单片机上的ram或者rom空间,外设指的是soc上的串口控制器、定时器 等功能模块。在对ram操作时ram对应的地址自动增加,外设地址一般是控制器的一个读或者写的 寄存器地址。内存到内存传输模式数据传输过程,选择好通道并正常配置后,通道优先级为...
2019-01-23 11:19:46
514
原创 LPCXPresso 安装与入门
LPCXPresso 安装与入门 1 安装1下载安装包 图 1-1 检索开发工具 图 1-2 下载 1-3 登录(需要先注册nxp账号,...
2018-09-28 13:06:46
2666
1
原创 nxp LPC43XX固件下载方法
1、选择LPC Cortex-M Microcontrollers2、选择Developer Resource 3、选择LPCOpen Libraries and examples 4、选择产品系列 LPC4300 Series 5、下载函数库 ...
2018-09-25 16:48:21
1590
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人