Linux--关于clash使用
clash 使用clash 是一个开源的代理工具
下载clash自行下载
查看与配置123456# 查看版本clash -v# 首次启动clash
可能会存在 Can't find MMDB, start download包内已经下载好
进入家目录
1234cd ~/.config/clash/# 这个修改成为你的订阅链接文件vim config.yaml
使用12345678910111213# 终端启动./clash d# 节点管理配置http://clash.razord.top/#/proxies# ubuntu 代理配置settings -> network -> network proxyhttp代理 127.0.0.1:7890https代理 127.0.0.1:7890socks主机 127.0.0.1 socks代理 7891忽略主机 localhost,127.0.0.0/8,::1
开机启动设置vim /etc/systemd/system/clash.service
123456789101112 ...
Linux驱动--网卡驱动调试
网卡驱动调试网卡驱动架构理解网卡一般分为MAC和PHY两个部分。
MAC (Media Access Control):
功能:数据过滤,位于CPU和PHY之间。
类别:EMAC(以太网MAC)、GMAC(千兆以太网MAC)。
接口:MII(10/100 Mbps)、GMII(1000 Mbps)、RGMII(减少引脚的GMII)。
PHY (Physical Layer Device):
功能:负责数据的物理传输。
地址:0-31,由板卡电路图决定。
ID:由硬件厂商决定,用于识别PHY芯片。
MAC组件与功能
帧发送:接收上层数据,增加以太网帧头尾。
帧接收:检查数据有效性,转发或丢弃。
GMAC控制:全双工模式下控制帧生成和检测。
GMII管理:控制物理层输入输出,检查状态信息。
工作模式
半双工模式:GMAC client将数据传给GMAC后,GMAC先给数据加上Preamble、FSD、FCS,组成以太网帧;然后检查载波侦听信号(CRS);若有载波信号,表示有数据正在 本地网段上传播,就等待直到载波信号消失;载波信号消失后,GMAC还要等待一个帧间 ...
Linux驱动--WIFI驱动-RTL8733BU
WIFI 蓝牙驱动场景需求:适配 rk3568 wifi蓝牙模块,模块型号为rtl8733bu目前在ubuntu20.04,测试成功
驱动代码驱动代码分2部分,一部分是wifi,一部分是蓝牙代码。驱动资料分享码为”1210”。
wifi代码源码地址:链接: https://pan.baidu.com/s/17waZR1c7Fgc1Tv3mDX1Mbw
驱动放入 kernel/linux-5.10/drivers/net/wireless/rockchip_wlan ,同时该目录下MakeFile 增加:
12obj-$(CONFIG_RTL8733BU) += rtl8733bu/
Kconfig添加:
12source "drivers/net/wireless/rockchip_wlan/rtl8733bu/Kconfig"
在 Linux_deconfig 中添加:
1CONFIG_RTL8733BU=y
如果没有deconfig文件,则需要make menuconfig,选择对应配置,然后保存。
Blu ...
Linux驱动--触摸屏GT911适配
触摸屏驱动本文档使用驱动为gt9xx,使用I2c通信。
设备树配置通讯地址为0x14,挂载在i2c5总线上。中断引脚和复位引脚为gpio3的PC0和PC1,根据硬件方案修改。
12345678910111213141516&i2c5 { status = "okay"; /*********************** GT 方案**********************/ gt9xx: gt9xx@14 { status = "okay"; compatible = "goodix,gt9xx"; reg = <0x14>; touch-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; //中断IO reset-gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; //复位IO max-x = <1920>; max-y = <1200&g ...
通讯协议--CAN
通讯协议CAN 协议CAN有两种通信标准:高速CAN和低速CAN。高速CAN属于闭环总线,速率可以达到1Mbps,总线长度<40m,适用需要快速数据传输的环境,如汽车内部网络
低速CAN速率只能达到250kbps,属于开环总线,总线长度可达到1000m,适合于工业自动化和远程监控等场景。
CAN总线信号CAN总线上,信号表现为电压形式,通过CAN_H和CAN_L线上的电位差来表示CAN信号,它们之间的电压差决定了信号的状态。分为显性电平(dominant)和隐性电平(recessive)两种类型。具体表现如下:
显性电平(Dominant):在CAN协议中,显性电平表示为逻辑0。当总线上的电压差满足特定的范围时(例如1.5V至2.5V),则认为总线上的信号是显性电平。
隐性电平(Recessive):隐性电平则表示为逻辑1。如果CAN_H和CAN_L之间的电压差不在显性电平的范围内,则信号被认为是隐性电平。
CAN信号传输
graph LR
A[CPU]--信号-->B[CAN控制器]
B--逻辑电平-->C[CAN收发器]
C--差分信号--> ...
Linux系统--优化开机启动
开机启动优化开机启动优化是提高计算机启动速度和性能的重要步骤。以下是一些优化开机启动的策略和命令。
系统开机启动服务分析首先,使用系统分析工具来查看各服务的启动时间,并关闭那些不必要的服务
123456789# 打印各服务耗时systemd-analyze # 服务启动耗时从大到小排序 systemd-analyze blame # 查看拖累启动速度的致命链 systemd-analyze critical-chain
启动服务管理systemctl 是systemd 管理系统主命令 ,可以用来Start/Stop/Restart/Reload 服务,用于控制和查询服务状态
123456789101112131415161718192021222324252627282930# 启动服务systemctl start [service-name]# 停止服务systemctl stop [service-name]# 重启服务systemctl restart [service-name]# 重新加载服务systemctl reload [servic ...
Linux驱动--WIFI驱动-RTL8822CU
WIFI 驱动场景需求:适配基于RK3568芯片,适配一款USB WiFi模块
型号选用:RTL8822cu最后字母代表工作方式,“S”为SDIO,“P”为pcie,“U”则为usb
代码环境:Liunx5.10 内核
该模块属于大功率的wifi模块,仅支持单模的wifi信号,不带蓝牙,通讯距离方面相对其他模块较好。
kernel 部分因为只要使用usb,所以只需要usb口,开启usb供电就行。内核部分也仅仅只需要编译相应驱动代码即可。
dts12345678910# 这是一个开启usb供电的gpio /*************WIFI 电源控制 **************/ gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&wifi_key>; gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_LOW>; // 1016 label = "GPI ...
Git--diff和patch使用
Git_diff和patch使用Git 提供了两种补丁方案,一种是通过 git diff 生成的 .diff 文件,第二种是通过 git format-patch 生成的 .patch 文件。diff文件不会有commit信息。
git diff使用git diff 指令能够生成diff文件也可以指定生成patch文件
12345678git diff --cached 需要add 到本地,比较本地暂存区与上一版本的差异git diff (文件名)--cached 比较指定文件与上版本差异git diff HEAD^ -- ./>diff_sdk.patch 比较当前目录提交内容和上一提交版本差异输出到xxx.patch,若没add,则只显示已存在的文件修改git diff <tagname> > xxx.patch 比较当前与tag 上 差异输出到xxx
git patch使用git format-patch 指令可以生成patch文件,通过commit信息生成patch文件
1234git format-patch -M master 当前分支所有超前 m ...