
Linux
文章平均质量分 52
Edward201804
这个作者很懒,什么都没留下…
展开
-
Linux内核MTD驱动程序与SD卡驱动程序(转载)
flash闪存设备和SD插卡设备是嵌入式设备用到的主要存储设备,它们相当于PC机的硬盘。在嵌入设备特别是手持设备中,flash闪存是焊接在嵌入设备主板上的flash闪存芯片。在嵌入设备上有MMC/SD卡控制器及插槽,可通过MMC/SD来扩充存储空间。原创 2023-11-03 14:03:31 · 453 阅读 · 0 评论 -
内核调试小结
内核 调试原创 2023-03-13 15:17:55 · 207 阅读 · 0 评论 -
内核收包流程(5.10内核)
内核收包流程(5.10内核)原创 2023-03-02 10:47:15 · 738 阅读 · 0 评论 -
Linux 5.4内核Distributed Switch Architecture » Architecture翻译
Distributed Switch Architecture » Architecture翻译翻译 2022-05-20 09:56:21 · 4127 阅读 · 0 评论 -
netlink通信的流程(3.14内核)
netlink协议初始化netlink_proto_init,分配MAX_LINKS个nl_table并初始化,在3.14内核中,netlink支持32个协议,通过cat /proc/net/netlink 可以查看已经创建的netlink协议及端口号(包含用户态和内核态)内核态创建AF_NETLINK类型的socket内核态调用netlink_kernel_create创建netlink的socketsock_create_lite:创建"struct socket" __netlin.原创 2021-07-29 16:59:10 · 1247 阅读 · 0 评论 -
segment fault调试方法
有GDBgdb运行程序 出错之后输入bt能看到回溯无GDBdmesg查看回溯 addr2line 0x422e10 -e ./CuInform-inner -f -C -s能看到出错的函数。原创 2021-04-12 16:45:21 · 180 阅读 · 0 评论 -
PySide2或者PyQt5监控NetworkManager消息
#!/usr/bin/env python3import dbus.mainloop.glibimport NetworkManagerimport timefrom PyQt5.QtCore import * # 如果是PySide2,就修改为from PySide2.QtCore import * def out(msg): print("%s %s" % (time.strftime('%H:%M:%S'), msg)) def statechange(nm, interfa.原创 2021-01-18 10:54:14 · 303 阅读 · 0 评论 -
Python监控NetworkManager消息
pip3 install python-networkmanager#!/usr/bin/env python3import dbus.mainloop.glibfrom gi.repository import GObject, GLibimport NetworkManagerimport timedef out(msg): print("%s %s" % (time.strftime('%H:%M:%S'), msg))def statechange(nm, inter.原创 2021-01-13 12:18:49 · 668 阅读 · 0 评论 -
dbus
dbus填坑记录如果普通用户登陆,不能用root用户创建DBUS_BUS_SESSION类型的dbus DBUS_BUS_SYSTEM类型需要在/etc/dbus-1/system.d/中增加定义,比如 <busconfig> <policy user="root"> <allow own="uk.org.th...原创 2019-12-10 19:13:16 · 1127 阅读 · 0 评论 -
Linux开启录音
arecord -Dhw:3,0 -f S16_LE demo.wmv,其中hw:3,0指定录音设备,使用arecord -l查看,其中3表示card 3,0表示device 0(card 3: Microphone [USB Microphone], device 0: USB Audio [USB Audio])...原创 2019-12-05 09:14:38 · 677 阅读 · 0 评论 -
linux内核模块增加变量
如果只是设置或者获取值,用下面一条语句即可:module_param_named(my_enable, g_bMyEnabled, bool, 0644);其中:my_enable为文件名称,/sys/module/xxx/parameters/my_enable(xxx为模块名称)g_bMyEnabled为模块的变量名bool为变量类型,布尔型cat时显示为Y和N064...原创 2019-02-26 08:31:51 · 385 阅读 · 0 评论 -
进程打开的fd个数超限
最近遇到一个问题,dns查询失败,dnsmasq的运行命令为:dnsmasq --addn-host=/var/dnsmasq.hosts打开syslog看,偶然发现错误打印如下:[Error] dnsmasq[5395]: failed to read /etc/resolv.conf:Too many open files.接着查这个错误信息,发现可以通过命令:ls -l /p原创 2017-08-18 15:14:07 · 2027 阅读 · 0 评论 -
mac地址老化时间配置
1、查看老化时间cat /proc/sys/net/ipv4/neigh/br0/base_reachable_time2、配置老化时间echo 300 > /proc/sys/net/ipv4/neigh/br0/base_reachable_time(配置之后为啥不能立即生效???插拔网线之后生效比较快)老化时间为base_reachable_time/2 和 3*base原创 2017-08-18 15:08:07 · 11046 阅读 · 2 评论 -
tmp目录文件占用内存分析
tmp目录下的文件需要占用内存,从free命令看,当写入文件时,显示used不断增加,free不断减小。如果从/proc/meminfo来看,tmp目录下的文件占用的是cached的空间。如果一个进程打开文件之后fd一直不关闭,当从shell中把文件删除时,删除操作能正常进行,并且shell中查看此文件已经不存在。但是占用的内存不会释放,只有当进程被kill掉才会释放。如果一个进程原创 2017-08-17 11:02:47 · 4843 阅读 · 0 评论 -
atomic_add实现分析(mips架构)
点击(此处)折叠或打开 /* * atomic_add - add integer to atomic variable * @i: integer value to add * @v: pointer of type atomic_t原创 2017-08-17 10:12:40 · 1632 阅读 · 0 评论