关于
我的公众号
QQ群:934149291
请喝杯饮料微信:
支付宝:
Linux之udev热插拔规则
Linux之udev热插拔规则背景udev 是 Linux 系统中用于管理设备节点的工具,它可以根据设备的属性动态地创建设备文件,并执行特定的命令,通常用来处理热插拔。udev 规则用于指定这些行为,它们一般存储在 /etc/udev/rules.d/ 目录下的 .rules 文件中。
udev规则语法简单介绍udev 规则的语法如下:
ACTION=="action", KERNEL=="kernel", ATTR{attribute}=="value", ... , RUN{command}
以下是 udev 规则中各个部分的详细说明:
ACTION:触发规则的事件类型,例如 add、remove、change 等。
KERNEL:设备的内核名称,通常是 /dev 下设备文件的名称,不包括 /dev/ 前缀。
ATTR{attribute}:设备的属性,通常与 sysfs 文件系统中的属性相对应。
VALUE:属性的值。
RUN{command}:当规则匹配时要执行的命令。
规则文件中的每一行通常是 ...
网卡的SG和TSO
网卡的SG和TSOTSO网卡中的TSO(TCP Segmentation Offload)技术是一种利用网卡的硬件能力来减轻CPU负担的技术。它的主要作用是处理TCP数据包的分段工作,这项工作通常由CPU完成。当启用TSO时,网卡会接管这一任务,从而提高网络性能并减少CPU的负载。具体来说,TSO技术允许网卡将大的TCP数据包分割成多个小的数据包,这些小数据包的尺寸适合于网络传输,而无需CPU介入。在没有TSO的情况下,当TCP数据包超过网卡的最大传输单元(MTU)时,操作系统需要将这些数据包分割成更小的单元,这个过程会增加CPU的负担。通过使用TSO,这部分工作被转移到了网卡上,从而释放了CPU资源,让它可以处理其他任务。TSO技术需要网卡硬件及驱动的支持。在使用TSO时,TCP层会逐渐增大最大段大小(MSS),当TCP层向下发送大块数据时,它仅计算TCP头,而网卡接收到来自IP层的大数据包后,会自行将其分成多个IP数据包,并添加IP头,复制TCP头,并重新计算校验和等相关数据。此外,还有一些与TSO相关的技术,例如GSO(Generic Segmentation Offload), ...
Linux之无线RFKill子系统
Linux之无线RFKill子系统关于RFKill
The rfkill subsystem provides a generic interface for disabling any radiotransmitter in the system. When a transmitter is blocked, it shall notradiate any power.
The subsystem also provides the ability to react on button presses anddisable all transmitters of a certain type (or all). This is intended forsituations where transmitters need to be turned off, for example onaircraft.
The rfkill subsystem has a concept of “hard” and “soft” block, whichdiffer little in their m ...
Linux之lshw工具及其网络部分
Linux之lshw工具及其网络部分lshw工具lshw: HardWare LiSter for Linux
lshw is a small tool to provide detailed information on the hardware configuration of the machine. It can report exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, bus speed, etc. on DMI-capable x86 or EFI (IA-64) systems and on some ARM and PowerPC machines (PowerMac G4 is known to work).
Information can be output in plain text, XML or HTML.
It currently supports DMI (x86 and ...
Linux之notify-send相关
Linux之notify-send相关关于notify-sendnotify-send 是一个在 Linux 系统中用于从命令行发送桌面通知的工具。它通过通知守护进程(notification daemon)向用户发送通知,可以用来提醒用户有关事件或显示某些信息,而不会干扰用户的正常工作。notify-send 是一个实用的工具,特别适合用于脚本或自动化任务中发送提醒。
notify-send基本使用用法:
notify-send [选项…] <SUMMARY> [BODY] - create a notification
帮助选项:
-?, --help 显示帮助选项
应用程序选项:
-u, --urgency=LEVEL Specifies the urgency level (low, normal, critical).
-t, --expire-time=TIME Specifies the timeout in milliseconds at which ...
Linux之DMI及dmidecode
Linux之DMI及dmidecode关于DMI桌面管理接口(Desktop Management Interface,简称DMI)是一种由桌面管理任务组(Desktop Management Task Force,简称DMTF)开发的标准化框架,用于管理和跟踪个人计算机、笔记本电脑或服务器上的组件。DMI的主要目的是提供一个统一的方式来识别和监控计算机系统的硬件配置和性能参数。
DMI的主要组成部分是Management Information Format(MIF)数据库,这个数据库包含了所有关于电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其他系统配件信息。DMI信息的收集必须在严格遵照SMBIOS(System Management BIOS)规范的前提下进行,SMBIOS和DMI都是由DMTF起草的开放性技术标准。
DMI充当了管理工具和系统层之间接口的角色,它允许操作人员在数据区中手工添加一些BIOS不能探测到的诸如使用者姓名、销售商和计算机编号等额外的控制信息。DMI也被设计为一个能够在任何平台和操作系统下实现的接口规范。
dmidecode ...
关于usb_modeswitch
关于usb_modeswitch背景在Window上,我们在使用一些外接的USB设备(比如USB网卡,扩展坞等等)时,第一次插上去,会识别成一个存储设备或是模拟CD-ROM,打开该设备,里面是自带的该设备的Windows驱动程序,安装完驱动后,该设备就可以正常使用该设备的功能了。在Linux系统中,这类设备同样最初可能被识别为大容量存储设备(所以有时候会觉得莫名其妙?插上去的明明不是一个U盘或者存储卡,还以为是个复合设备)。为了使其以正确的模式工作(例如,作为无线网卡或调制解调器),需要使用 usb_modeswitch 命令来改变其工作模式。
usb_modeswitchusb_modeswitch 是一个Linux下用于控制具有多种模式的USB设备的模式切换工具。它主要用于那些在首次连接到电脑时被识别为存储设备(如U盘),但实际上具有其他功能(如USB调制解调器)的USB设备。这些设备通常自带Windows驱动程序,存储在设备的模拟CD-ROM中。
使用这个命令时,通常需要指定设备的供应商(vendor)和产品(product)代码。例如,对于某些USB无线网卡,可以使用如下命令: ...
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
后面因为种种原因,一直没有怎么推进。最近在电子发烧友论坛书籍评测活动中,看到有RISC-V相关的书籍在评测:《RISC-V体系结构编程与实践(第二版)》,于是抱着侥幸的心理参加了,第一次参加这种书籍或开发板评测活动,没想到居然中了,缘分真的挺奇妙。
书到了以后,大概地通读了一遍,本书不仅介绍了RISC-V体系结构的一些基础知识(架构体系结构、指令集、编译器、链接器、中断、内存管理、虚拟化等等),而且更突出动手实践,基于QEMU及香山模拟器(NEMU)设置了一系列的实验。非常适合我这种对RISC-V一知半解的人,不仅有基础介绍,而且通过动手实践,不会枯燥乏味,更能加深对RISC-V的理解。最开始,我也是打算 ...
Linux之deb包中的debian目录
Linux之deb包中的debian目录deb包中有一个叫做 debian 的子目录。这个目录中存放着许多文件,这些文件决定了软件包的一些行为。
必须文件debian 目录中最重要的文件当属 control, changelog, copyright, 以及 rules, 所有的软件包都必须有这几个文件。
controlcontrol 文件中包含了软件包的元数据,例如软件包的名称、版本、维护者、依赖关系等。这些变量供 dpkg、dselect、apt-get、apt-cache、aptitude 等包管理工具进行管理时所使用,均在 Debian Policy Manual, 5 “Control files and their fields” 中被定义。
下面是一个 control 文件的简单例子:
Source: gentoo
Section: unknown
Priority: optional
Maintainer: Josip Rodin <joy-mg@debian.org>
Build-Depends: debhelper (>=10)
Stan ...
Linux之DKMS详解
Linux之DKMS详解背景上一篇简单介绍了下DKMS:https://z-dd.online/2024/08/30/Linux%E4%B9%8BDKMS/这篇详细介绍下整个DKMS相关的文件及流程。
DKMS相关文件相关文件及路径:
/etc/dkms目录
/etc/dkms/template-dkms-mkbmdeb: 二进制deb包配置模板,用于创建DKMS模块的二进制deb包,用户可自定义该配置,方式同下。
/etc/dkms/template-dkms-mkdeb: deb包配置模板,用于创建DKMS模块的deb包,可被用户代码目录下自定义的模板配置取代:/usr/src/<module>-<module-version>/<module>-dkms-mkdeb。
/etc/dkms/template-dkms-mkdsc: 源码deb包配置模板,与上面一个的脚本内容一致,创建的符号链接指向template-dkms-mkdeb,
/etc/dkms/framework.conf: DKMS框架通用的配置文件,可以修改一些默认配置。
...
蓝牙6.0新特性浅析
蓝牙6.0新特性浅析蓝牙6.0的核心规范包含了许多新特性和改进,以下是一些主要的新特性:
14.1 New featuresSeveral new features are introduced in v6.0. The major areas of improvement are:• Channel Sounding, including Channel Sounding HCI Updates• LL Extended Feature Set• Decision-Based Advertising Filtering• Enhancements for ISOAL• Monitoring Advertisers• Frame Space Update
信道探测(Channel Sounding):蓝牙6.0引入了信道探测技术,实现了高精度的双向测距。这项技术基于相位的测距(Phase-based Ranging, PBR)和往返时间(Round-Trip Time, RTT)测量,能够在厘米级精度内定位设备,显著提升寻找丢失设备的体验。信道探测技术不仅提高了定位精度,还增加了 ...