Blog

一遍用了千遍,千遍只为一遍

编译wsl内核

简介 编译wsl的内核,支持usbstorage相关驱动。 预备工作 sudo apt install build-essential flex bison libssl-dev libelf-dev libncurses-dev autoconf libudev-dev libtool bc dwarves 下载代码 下载wsl代码,对准自己的版本,通过uname -r查看...

wsl划分sd卡分区

简介 rock3a的板子用32GB的SD卡作为启动介质,发现只划分了两个分区,剩下大概25GB的空间没有用到。想在wsl把这25GB多划分为一个分区,给利用起来,同时保持原有的两个分区里面的数据,文件系统格式不变。 过程 之前博客的文章已经提到了怎么在wsl上支持usb,这里已经支持上了。我们通过读卡器接到windows,再通过usbip转到wsl上,此时输入lsblk可以看到...

wsl2与windows共享U盘

windows准备 点击下面的链接 https://github.com/dorssel/usbipd-win/releases 下载usbipd-win_3.1.0.msi文件,一定要选择3.1.0版本!!!高版本目前好像是有些使用的问题,比较麻烦。 下载后双击 点击Install 一路安装过去之后,这里就完成了 用管理员模式打开Powershell,输入u...

rock3a镜像编译过程

简介 按照官方的参考链接生成rock3a镜像 源码 下载源码,github源码下是各个外链,所以还得到子目录下去下载子目录的源码 git clone -b stable-4.19-rock3 https://github.com/radxa/rockchip-bsp.git cd rockchip-bsp git submodule init git submodule update...

组播测试

简介 上一篇主要讲了很多组播的知识,这次则是直接通过代码实现。 代码分为server跟client,server跟client两个设备本身eth0的IP是同个网段的,且两者都接在同个交换机下。 server它其实就是个组播源,client则是组播成员,这里直接省去了组播路由器。所以我们使用的多播地址为永久组地址,也就是224.0.0.0-224.0.0.255之间,路由器不会对这个范围...

组播学习

IP组播的基本概念 组播面对一对多的通信场景 源无需发送多个数据拷贝,仅需发送一份即可 只有加入到特定组播组的成员,才会收到组播数据 不需要该数据的设备不会收到该组播流量 组播的应用场景 用于多接收者期望收取相同流量的场景 适用于接收者地址(或位置)未知的场景 培训、联合作业场合的通信 数据仓库、金...

vim离线安装

简介 记录下vim插件的离线安装过程。首先离线安装需要做的几个步骤 在用户目录下新建.vim文件 在.vim文件下新建plugin,doc两个文件夹 解压插件,将.vim放到plugin文件夹,.txt放到doc文件夹。 设置leaderkey vim默认的leader是\,如果要设置成,可以这样配置~/.vimrc文件 let mapleader="," ...

网卡驱动相关名词介绍

总述 主要是梳理下一些网卡的一些offload特性,这些offload特性主要是提升发送跟接收的性能。以ethtool -k eth0为切入点,可以看到有这么多的特性。注意在理清一个特性的时候,区分下发送跟接收发送方向。 root@rock-3a:~# ethtool -k eth0 Features for eth0: rx-checksumming: on tx-checksummi...

phy回环模式测试

前言 最近工作碰到RGMII需要调整TXC delay的情况,而Soc端的MAC控制器不支持调整,所以只能在phy端调整。而要确认这个delay,也需要方法。这个过程就是phytranning的过程。 参考RK3568的做法,其代码 drivers/net/ethernet/stmicro/stmmac/dwmac-rk-tool.c的做法,主要是把phy设置成loopback模式,然后...

linux内核网络相关api

前言 最近在看gmac驱动代码,发现很多linux内核网络的api,暂时这里先整理出来,先大概知道什么用法,后续再深入了解 netif_rx void netif_rx(struct sk_buff *skb); 调用(包括中断期间)这个函数可以通知内核已经收到一个数据包,并封装入一个套接字缓冲区。 netif_rx_schedule void netif_rx_schedu...