- 博客(224)
- 资源 (4)
- 收藏
- 关注
原创 Linux之kmod
Linux之kmod | DD'NotesLinux之kmod背景最近在解决某些问题的时候,发现了内核模块很多以前没怎么接触的配置和用法,所以想深入了解下modinfo、depmod等这些内核模块工具,想简单看看其背后一些原理,但是发现这些工具的路径都指向了/bin/kmod。$ ls -all $(which modinfo) lrwxrwxrwx 1 root root 9 7月 5 2021 /usr/sbin/modinf。
2025-01-22 11:22:26
511
原创 Linux之udev热插拔规则
Linux之udev热插拔规则背景udev 是 Linux 系统中用于管理设备节点的工具,它可以根据设备的属性动态地创建设备文件,并执行特定的命令,通常用来处理热插拔。链接: https://notes.z-dd.online/2025/01/13/Linux%E4%B9%8Budev%E7%83%AD%E6%8F%92%E6%8B%94%E8%A7%84%E5%88%99/KERNEL:设备的内核名称,通常是 /dev 下设备文件的名称,不包括 /dev/ 前缀。>、<、>=、<=:表示大小比较。
2025-01-22 11:21:06
920
原创 网卡的SG和TSO
当启用TSO时,网卡会接管这一任务,从而提高网络性能并减少CPU的负载。TSO技术需要网卡硬件及驱动的支持。在使用TSO时,TCP层会逐渐增大最大段大小(MSS),当TCP层向下发送大块数据时,它仅计算TCP头,而网卡接收到来自IP层的大数据包后,会自行将其分成多个IP数据包,并添加IP头,复制TCP头,并重新计算校验和等相关数据。此外,还有一些与TSO相关的技术,例如GSO(Generic Segmentation Offload),它是一种更为通用的分片技术,可以在不支持TSO的硬件上实现类似的功能。
2025-01-21 09:39:23
1015
原创 Linux之无线RFKill子系统
rfkill 子系统有两个参数,rfkill.default_state 和 rfkill.master_switch_mode,它们在 admin-guide/kernel-parameters.rst 中有文档记录。链接: https://notes.z-dd.online/2025/01/09/Linux%E4%B9%8B%E6%97%A0%E7%BA%BFRFKill%E5%AD%90%E7%B3%BB%E7%BB%9F/rfkill 子系统提供了一个通用接口,用于禁用系统中的任何无线电发射器。
2025-01-21 09:38:25
1011
原创 Linux之lshw工具及其网络部分
它可以在支持DMI的x86系统或EFI(IA-64)系统上,以及一些ARM和PowerPC机器上(已知PowerMacG4可以使用)报告精确的内存配置、固件版本、主板配置、CPU版本和速度、缓存配置、总线速度等。链接:https://notes.z-dd.online/2024/12/26/Linux%E4%B9%8Blshw%E5%B7%A5%E5%85%B7%E5%8F%8A%E5%85%B6%E7%BD%91%E7%BB%9C%E9%83%A8%E5%88%86/lshw工具的网络部分。
2025-01-20 10:48:30
738
原创 Linux之notify-send相关
Linux之notify-send相关关于notify-sendnotify-send是一个在Linux系统中用于从命令行发送桌面通知的工具。notify-send是一个实用的工具,特别适合用于脚本或自动化任务中发送提醒。notify-send基本。链接:https://notes.z-dd.online/2024/12/21/Linux%E4%B9%8Bnotify-send%E7%9B%B8%E5%85%B3/notify-send是一个实用的工具,特别适合用于脚本或自动化任务中发送提醒。
2025-01-20 10:47:16
959
原创 Linux之DMI及dmidecode
Linux之DMI及dmidecode关于DMI桌面管理接口(Desktop Management Interface,简称DMI)是一种由桌面管理任务组(Desktop Management Task Force,简称DMTF)开发的标准化框架,用于管理和跟踪个人计算机、笔记本电脑或服务器上的组件。dmidecode 是一个在Linux系统中用来查看硬件信息的工具,它可以从系统的DMI(Desktop Management Interface)表中提取硬件信息。Linux之DMI及dmidecode。
2025-01-18 11:03:08
921
原创 RISC-V之SBI及NEMU环境
RISC-V之SBI及NEMU环境背景前段时间,准备开始我的riscv之旅,进行2篇开篇: 《基于QEMU搭建RISC-V的Linux环境》https://mp.weixin.qq.com/s/F6lyqPhng21qsUlj2saShw 《RISC-V开篇及特权模式等一些概念》https://mp.weixin.qq.com/s/9RTFS4whcybstWQJW1FGTA 后面因为种种。最开始,我也是打算基于QEMU模拟环境来学习,不仅方便,而且省钱,哈哈。RISC-V之SBI及NEMU环境。
2025-01-18 11:01:22
627
原创 关于usb_modeswitch
关于usb_modeswitch背景在Window上,我们在使用一些外接的USB设备(比如USB网卡,扩展坞等等)时,第一次插上去,会识别成一个存储设备或是模拟CD-ROM,打开该设备,里面是自带的该设备的Windows驱动程序,安装完驱动后,该设备就可以正常使用该设备的功能了。这些设备通常自带Windows驱动程序,存储在设备的模拟CD-ROM中。链接: https://notes.z-dd.online/2024/12/05/%E5%85%B3%E4%BA%8Eusb_modeswitch/
2025-01-18 10:59:28
504
原创 Linux之deb包中的debian目录
必须文件debian 目录中最重要的文件当属 control, changelog, copyright, 以及 rules, 所有的软件包都必须有这几个文件。链接: https://notes.z-dd.online/2024/11/23/Linux%E4%B9%8Bdeb%E5%8C%85%E4%B8%AD%E7%9A%84debian%E7%9B%AE%E5%BD%95/control 文件中包含了软件包的元数据,例如软件包的名称、版本、维护者、依赖关系等。Linux之deb包中的debian目录。
2025-01-17 10:09:14
761
原创 Linux之DKMS详解
Linux之DKMS详解背景上一篇简单介绍了下DKMS:https://z-dd.online/2024/08/30/Linux%E4%B9%8BDKMS/这篇详细介绍下整个DKMS相关的文件及流程。/etc/dkms/template-dkms-mkdeb: deb包配置模板,用于创建DKMS模块的deb包,可被用户代码目录下自定义的模板配置取代:/usr/src/-/-dkms-mkdeb。/usr/lib/dkms目录。
2025-01-17 10:08:02
961
原创 Linux创建虚拟WLAN接口并测试
Linux创建虚拟WLAN接口并测试创建虚拟WLAN接口主要通过 mac80211_hwsim内核模块实现,该模块可以模拟多个无线网卡设备,并支持创建虚拟的WLAN接口。链接: https://notes.z-dd.online/2024/11/12/Linux%E5%88%9B%E5%BB%BA%E8%99%9A%E6%8B%9FWLAN%E6%8E%A5%E5%8F%A3%E5%B9%B6%E6%B5%8B%E8%AF%95/Linux创建虚拟WLAN接口并测试 | DD'Notes。
2025-01-16 09:26:14
1085
原创 蓝牙6.0新特性浅析
蓝牙6.0引入了信道探测技术,实现了高精度的双向测距。信道探测技术不仅提高了定位精度,还增加了多层安全措施,如辅助测距方法和基于RTT的距离约束,防御复杂的中间人(MITM)攻击。链接: https://notes.z-dd.online/2024/11/13/%E8%93%9D%E7%89%996.0%E6%96%B0%E7%89%B9%E6%80%A7%E6%B5%85%E6%9E%90/商业转载请联系作者获得授权,非商业转载请注明出处。蓝牙6.0新特性浅析 | DD'Notes。
2025-01-16 09:25:17
1207
原创 Wi-Fi HaLow简介
Wi-Fi HaLow是一种基于IEEE 802.11ah协议的无线技术规范,它与传统Wi-Fi的不同之处在于,Wi-Fi HaLow运行在1GHz以下的频率,而传统Wi-Fi则使用2.4GHz、5GHz和6GHz的频率。Wi-Fi HaLow是一种基于IEEE 802.11ah协议的无线技术规范,它与传统Wi-Fi的不同之处在于,Wi-Fi HaLow运行在1GHz以下的频率,而传统Wi-Fi则使用2.4GHz、5GHz和6GHz的频率。Wi-Fi HaLow简介 | DD'Notes。
2025-01-15 09:24:08
1385
原创 Linux Kernel之Backports Project
Linux Kernel之Backports Project简介Backports Project: The Backports Project enables old kernels to run the latest drivers. 官网:https://backports.wiki.kernel.org/index.php/Main_Page Backports Project始于20。每个backports版本都已针对所有支持的内核进行了测试编译,最早的版本是 3.0。来源: DD'Notes。
2025-01-15 09:22:05
870
原创 Linux核外通过MDIO访问Phy
Linux核外通过MDIO访问Phy前言调试以太网(MAC+PHY)网络问题,我们经常需要获取或配置PHY的寄存器,但又不想一次次去修改内核,在Linux应用层怎么简单方便的去操作PHY的寄存器呢?一般有以下方式: 通过MDIO暴露到核外的接口,比如设备节点,或寄存器直接映射的内存。链接: https://notes.z-dd.online/2024/09/24/Linux%E6%A0%B8%E5%A4%96%E9%80%9A%E8%BF%87MDIO%E8%AE%BF%E9%97%AEPhy/
2025-01-15 09:20:44
689
原创 千兆以太网接口之RGMII和SGMII
千兆以太网接口之RGMII和SGMII以前,对于千兆以太网,还停留在RGMII接口上,最近才接触到SGMII,对SGMII不是很了解,所以就想对比看看。链接: https://notes.z-dd.online/2024/09/07/%E5%8D%83%E5%85%86%E4%BB%A5%E5%A4%AA%E7%BD%91%E6%8E%A5%E5%8F%A3%E4%B9%8BRGMII%E5%92%8CSGMII/千兆以太网接口之RGMII和SGMII | DD'Notes。来源: DD'Notes。
2025-01-14 16:44:43
1933
原创 Linux之DKMS
Linux之DKMSDKMS简介DKMS(Dynamic Kernel Module Support)是由 Dell 公司开发的一套内核模块管理框架,用于在 Linux 操作系统中动态构建和维护内核模块,已经被大多数 Linux 发行版采用。当执行前面的add添加操作时,添加的源码里必须包含一个恰当的dkms.conf配置文件,里面包含了一些告诉dkms的必要信息,包括源代码的位置、编译和安装模块所需的命令等。官网:https://github.com/dell/dkms。Linux之DKMS。
2025-01-14 16:43:27
457
原创 Linux之手动创建WIFI热点
Linux之手动创建WIFI热点背景之前介绍了Linux下使用无线网卡作为STA手动连接WIFI:Linux手动连接配置wifi 今天介绍下Linux下怎么手动建立AP热点。主要分为2大步骤: hostapd建立AP热点 DHCP服务分配IP 前提:首先要无线网卡是否支持AP模式使用如下命令,查看网卡属性: iw list 如果Supported interface modes选项包含 A。之前介绍了Linux下使用无线网卡作为STA手动连接WIFI:Linux手动连接配置wifi。DHCP服务分配IP。
2024-08-29 17:30:33
808
原创 Linux之WOL网络唤醒
Linux之WOL网络唤醒WOL简介 WOL(Wake-on-LAN)技术是一种计算机局域网唤醒技术,其主要功能是使处于关机或休眠状态的计算机能够通过局域网(通常是以太网)被远程唤醒并恢复到运行状态。链接: https://z-dd.online/2024/08/21/Linux%E4%B9%8BWOL%E7%BD%91%E7%BB%9C%E5%94%A4%E9%86%92/FF FF FF FF FF FF FF MAC 地址 × 16 4-6字节的密码(可选)Linux之WOL网络唤醒。
2024-08-29 17:29:36
868
原创 Linux Wireless之80211(nl80211, cfg80211, mac80211)
Linux Wireless之80211(nl80211, cfg80211, mac80211)前言在Linux无线子系统中,cfg80211、mac80211和nl80211是三个关键的组件,它们共同工作以实现对802.11设备的配置和管理。cfg80211负责内核空间的通用API,mac80211负责具体的MAC层实现,而nl80211则作为用户空间与内核空间之间的桥梁,用于配置管理和通信。Netlink 是一个 Linux 中的 socket 类型,用于在内核与用户空间之间传递事件。
2024-08-29 17:28:31
1166
原创 Linux手动连接配置wifi
wpa_supplicant连接WIFIwpa_supplicant介绍及背景官网:https://w1.fi/wpa_supplicant/. 以下来自man手册,介绍了它的作用、产生背景及由来,保持原汁原味。链接: https://notes.z-dd.online/2024/08/15/Linux%E6%89%8B%E5%8A%A8%E8%BF%9E%E6%8E%A5%E9%85%8D%E7%BD%AEwifi/官网:https://w1.fi/wpa_supplicant/.
2024-08-28 16:49:29
715
原创 Linux中网络命名空间基本操作
Linux中网络命名空间基本操作前言网络命名空间(Network Namespace,简写: netns)是Linux内核提供的一种实现网络资源隔离的方法,允许不同的网络命名空间拥有独立的网络协议栈及网络配置,包括IP地址、路由表、网络设备、iptables规则等。网络命名空间(Network Namespace,简写: netns)是Linux内核提供的一种实现网络资源隔离的方法,允许不同的网络命名空间拥有独立的网络协议栈及网络配置,包括IP地址、路由表、网络设备、iptables规则等。
2024-08-28 16:48:31
945
原创 Linux后台运行及不挂断相关命令
Linux后台运行及不挂断相关命令背景我们经常会遇到这种需求:ssh到Linux服务器上,跑一个耗时比较久的任务,比如编译任务等,有时候由于网络不好,网络故障,或者不小心将跑任务的终端关闭了(也有可能是跑终端的机器异常了),导致好不容易跑了很久的任务中断退出,前面跑的白费了,又不得不重新跑!大家可能对这个最为熟悉,&表示将前面的 command 任务放入后台,单独起一个进程来运行,使用Ctrl + C无法中止该任务,此时你可以继续在该终端上做其他事情,但如果关闭该终端,该任务进程会跟着退出。
2024-08-08 11:02:15
737
原创 Linux内核代码格式审查
Linux内核代码格式审查前言Linux内核代码有一套自己的代码格式规范,相关的规范说明在内核代码树目录:Documentation/CodingStyle或Documentation/process/coding-style.rst。链接: https://notes.z-dd.online/2024/07/25/Linux%E5%86%85%E6%A0%B8%E4%BB%A3%E7%A0%81%E6%A0%BC%E5%BC%8F%E5%AE%A1%E6%9F%A5/Linux内核代码格式审查。
2024-08-08 11:00:36
831
原创 Linux内核模块加载及更新问题
链接: https://notes.z-dd.online/2024/07/23/Linux%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97%E5%8A%A0%E8%BD%BD%E5%8F%8A%E6%9B%B4%E6%96%B0%E9%97%AE%E9%A2%98/然后我直接手动insmod了一下这个蓝牙驱动(/lib/modules/xxx-generic/kernel/drivers目录下的),惊奇地发现居然成功加载了,而且蓝牙可以正常使用了。手动加载驱动模块验证。
2024-07-29 17:32:46
886
原创 Linux之设备管理器及热插拔处理
链接: https://notes.z-dd.online/2024/07/20/Linux%E4%B9%8B%E8%AE%BE%E5%A4%87%E7%AE%A1%E7%90%86%E5%99%A8%E5%8F%8A%E7%83%AD%E6%8F%92%E6%8B%94%E5%A4%84%E7%90%86/"mdev -s" 会扫描 /sys/class/xxx,查找包含dev文件的目录,然后mdev 会创建 /dev/device_name 节点。下面来看看 mdev 的有关规则。
2024-07-29 17:31:11
951
原创 RISC-V开篇及特权模式等一些概念
RISC-V架构主要由美国加州大学伯克利分校发明,相比于x86和ARM架构,RISC-V开源采用BSD协议,它允许用户自由地使用、修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。链接: https://notes.z-dd.online/2024/06/24/RISC-V%E5%BC%80%E7%AF%87%E5%8F%8A%E7%89%B9%E6%9D%83%E6%A8%A1%E5%BC%8F%E7%AD%89%E4%B8%80%E4%BA%9B%E6%A6%82%E5%BF%B5/
2024-07-29 17:29:47
773
原创 Linux下利用shell简单调试udp和tcp
链接: https://notes.z-dd.online/2024/06/16/Linux%E4%B8%8B%E5%88%A9%E7%94%A8shell%E7%AE%80%E5%8D%95%E8%B0%83%E8%AF%95udp%E5%92%8Ctcp/Linux环境下,有时候需要简单地进行下udp和tcp的测试,又不想去写C之类的代码,可以尝试下用Python或者直接用Shell来处理,简单方便,高效快捷。这里主要讲讲使用Shell的方式。客户端主要使用/dev/tcp、/dev/udp。
2024-07-29 17:28:19
697
原创 使用Gstreamer进行RTSP推流
使用vlc打开需要配置sdp文件,前面有提到过:https://notes.z-dd.online/2024/06/08/RTP%E8%A7%86%E9%A2%91%E6%B5%81%E7%9A%84SDP%E6%96%87%E4%BB%B6/链接: https://notes.z-dd.online/2024/06/11/%E4%BD%BF%E7%94%A8Gstreamer%E8%BF%9B%E8%A1%8CRTSP%E6%8E%A8%E6%B5%81/使用Gstreamer进行RTSP推流。
2024-07-29 17:26:56
3434
原创 Linux内核之blktests简单介绍
Linux内核之blktests简单介绍blktests最近遇到了个补丁引起的blktests测试问题,顺便了解了下blktests。它的灵感来自于xfstests文件系统测试框架。链接: https://notes.z-dd.online/2024/06/10/Linux%E5%86%85%E6%A0%B8%E4%B9%8Bblktests%E7%AE%80%E5%8D%95%E4%BB%8B%E7%BB%8D/最近遇到了个补丁引起的blktests测试问题,顺便了解了下blktests。
2024-06-12 14:40:05
995
原创 RTP视频流的SDP文件
链接: https://notes.z-dd.online/2024/06/08/RTP%E8%A7%86%E9%A2%91%E6%B5%81%E7%9A%84SDP%E6%96%87%E4%BB%B6/标准 SDP 结构由会话级描述和多个媒体级描述组成,每条描述信息都是 key=value 的形式,key 可以为 v(版本),o(owner),s(会话),m(媒体信息),a(属性),c(连接)等。RTP视频流的SDP文件 | DD'Notes。后来才想起是需要写sdp文件,所以顺便记录下。
2024-06-12 14:38:35
1362
原创 Linux之多媒体应用接口v4l-utils及摄像头简单使用
链接: https://notes.z-dd.online/2024/06/06/Linux%E4%B9%8B%E5%A4%9A%E5%AA%92%E4%BD%93%E5%BA%94%E7%94%A8%E6%8E%A5%E5%8F%A3v4l-utils%E5%8F%8A%E6%91%84%E5%83%8F%E5%A4%B4%E7%AE%80%E5%8D%95%E4%BD%BF%E7%94%A8/v4l-utils 提供了一系列库和实用工具,用于控制各种多媒体设备。v4l-utils 组成。
2024-06-12 14:34:55
816
原创 Linux内核之MMC框架
Linux内核之MMC框架背景之前简单说了说SDIO、SD、MMC之间的区别与联系,具体可见以下链接: https://notes.z-dd.online/2024/01/19/MMC%E5%92%8CSD%E4%B8%8ESDIO/ 最近刚好看到这块,今天来看看Linux内核中关于它们的MMC框架。链接: https://notes.z-dd.online/2024/06/03/Linux%E5%86%85%E6%A0%B8%E4%B9%8BMMC%E6%A1%86%E6%9E%B6/
2024-06-10 14:39:00
399
原创 Linux之Gstreamer实现视频OSD
一般是按Menu键后屏幕弹出的显示器各项调节项目信息的矩形菜单,可通过该菜单对显示器各项工作指标包括色彩、模式、几何形状等进行调整,从而达到最佳的使用状态。链接: https://notes.z-dd.online/2024/05/30/Linux%E4%B9%8BGstreamer%E5%AE%9E%E7%8E%B0%E8%A7%86%E9%A2%91OSD/今天说说在通用Soc或CPU上实现通用视频OSD的方案,这里主要使用Gstreamer的插件实现,OpenCV的方案以后有机会再研究。
2024-06-10 14:37:33
1388
原创 红外热成像下篇--叠加字符OSD
红外热成像下篇–叠加字符OSD背景前段时间不是玩了下红外热成像,视频可见我的公众号和视频号: 还有个瑕疵:视频上没有实时显示相应的温度(叠加在视频上),这段时间就把它给实现了,视频可见我的公众号和视频号。链接: https://notes.z-dd.online/2024/05/25/%E7%BA%A2%E5%A4%96%E7%83%AD%E6%88%90%E5%83%8F%E4%B8%8B%E7%AF%87--%E5%8F%A0%E5%8A%A0%E5%AD%97%E7%AC%A6OSD/
2024-05-27 15:32:56
1552
原创 Linux内核之设备树插件DTO
Linux内核之设备树插件DTO什么是DTO(Device Tree Overlay)Linux4.4以后引入了动态设备树(Dynamic DeviceTree),我们这里翻译为“设备树插件”,或者称“设备树叠加层”。设备树插件(Device Tree Overlay,叠加层)是一种用于设备树(Device Tree)的扩展机制,可以理解为主设备树的“补丁”它动态的加载到系统中,无需重新编译整个设备树。DTC: Device Tree Compiler,顾名思义,是FDT(设备树) 的编译器。
2024-05-27 15:31:22
922
原创 Linux内核之Kselftests
Linux内核包含了一套开发者可用的单元测试和回归测试(Kselftests),这些测试位于内核源代码的目录下。这些测试旨在针对内核中的各个代码路径进行小规模的测试。测试应该在构建、安装和启动内核之后运行。它每天都会在不同的Linux内核树(即代码库)的内核集成测试环境上运行,主要是为了确保内核代码在合并到主干之前,在各种场景和配置下都能正常工作,从而提高内核的整体稳定性和可靠性。快速执行测试的能力(目前的目标是不到20分钟)一些开发人员希望在几秒钟内运行测试运行不同测试组的能力。
2024-05-27 15:10:54
888
原创 重新梳理OpenHarmony的HDF
HDF架构图HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路,让驱动开发和部署更加规范,旨在构建统一的驱动架构平台,为驱动开发者提供更精准、更高效的驱动管理的开发环境,力求做到一次开发,多系统部署。
2024-05-27 15:09:48
1068
原创 Linux调试中的各种trace
Linux调试中的各种trace | DD'NotesLinux调试中的各种traceLinux中有很多调试手段,很多trace,很让人迷糊,弄得云里雾里。今天简单介绍下其中的几种trace:ptrace, strace, ltrace, ftrace。只是简单介绍它们的基本概念,对其有基本的了解,后面有机会的话,再逐个深入。ptrace官方手册说明:https://man7.org/linux/man-pages/man2/ptrace.2.hLinux调试中的各种trace | DD'Notes。
2024-05-27 15:07:55
1756
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人