关于
我的公众号
QQ群:934149291
请喝杯饮料微信:
支付宝:
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)测量,能够在厘米级精度内定位设备,显著提升寻找丢失设备的体验。信道探测技术不仅提高了定位精度,还增加了 ...
Linux创建虚拟WLAN接口并测试
Linux创建虚拟WLAN接口并测试创建虚拟WLAN接口主要通过 mac80211_hwsim内核模块实现,该模块可以模拟多个无线网卡设备,并支持创建虚拟的WLAN接口。
mac80211_hwsim简介
mac80211_hwsim is a Linux kernel module that can be used to simulatearbitrary number of IEEE 802.11 radios for mac80211. It can be used totest most of the mac80211 functionality and user space tools (e.g.,hostapd and wpa_supplicant) in a way that matches very closely withthe normal case of using real WLAN hardware. From the mac80211 viewpoint, mac80211_hwsim is yet another hardware driver, i.e. ...
Wi-Fi HaLow简介
Wi-Fi HaLow简介简介最近在研究WIFI新技术新特性时,发现了一个叫 Wi-Fi HaLow 的东东,感觉挺有意思挺有前景的,所以就来写一篇博客来记录一下。
Wi-Fi HaLow是一种基于IEEE 802.11ah协议的无线技术规范,它与传统Wi-Fi的不同之处在于,Wi-Fi HaLow运行在1GHz以下的频率,而传统Wi-Fi则使用2.4GHz、5GHz和6GHz的频率。Wi-Fi HaLow 这种低频段特性使其能够提供更长的连接距离和更好的穿透能力,提供长达一公里的连接范围,在视距连接的情况下甚至更远。然而,由于使用较低频率,其信道较窄,带宽较低,导致数据传输速率相对较慢。即便如此,Wi-Fi HaLow仍能在较远距离提供150Kbps的数据传输速率,在较近距离提供高达86.7Mbps的速率。
Wi-Fi HaLow不是传统Wi-Fi标准的替代品,而是旨在补充现有的Wi-Fi协议。它的运行频率在美国为900Hz,属于免许可频谱的一部分,因此每个人都可以免费使用。不过,根据全球可用的亚千兆赫频率,Wi-Fi HaLow可能会在其他国家的不同频率上运行。
Wi-Fi HaL ...
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始于2007年,当时名为compat-wireless。随着该项目的范围扩大到不仅仅是无线网络驱动程序,它被更名为compat-drivers。现在,该项目简称为 backports。
目前支持的子系统:
Ethernet
Wireless
Bluetooth
NFC
ieee802154
Media
Regulator
每个backports版本都已针对所有支持的内核进行了测试编译,最早的版本是 3.0。
Backports Project支持2种工作流模式:
内核集成模式(kernel integration mode)
future kernel source tree and older ...
Linux核外通过MDIO访问Phy
Linux核外通过MDIO访问Phy前言调试以太网(MAC+PHY)网络问题,我们经常需要获取或配置PHY的寄存器,但又不想一次次去修改内核,在Linux应用层怎么简单方便的去操作PHY的寄存器呢?
众所周知,MAC+PHY的组合下,主要是通过MDIO接口去操作PHY的寄存器,所以也就变成了怎么去操作MDIO。
一般有以下方式:
通过MDIO暴露到核外的接口,比如设备节点,或寄存器直接映射的内存地址。
通过通用的ioctl访问接口。
以上都是要基于SoC的MAC驱动支持才行,特别是第一点,需要对Soc的MAC比较熟悉,而且因SoC厂家不同而差异很大。
这里重点看看第二种通用的方式。
使用ioctl接口访问实现主要是通过ioctl操作以下几个接口来实现对PHY寄存器的读写操作:
SIOCGMIIPHY:read register from the current PHY.
SIOCGMIIREG:read register from the specified PHY.
SIOCSMIIREG:set a register on the specified PHY.
原理一般 ...