文章分类 -  Linux / Linux内核 / driver

摘要:MDIO 我们平时看到网口映入眼帘的就是RJ45网口底座,也很少追究网口底座之下还有什么。最近在搞MDIO的驱动,对MAC、PHY之间的关系很陌生。而这两者也是组成网口的物理硬件,所以趁着这次机会弄清楚这两者之间的关系。 上图是组成网口的基本单元,一般SOC芯片内部会集成MAC,然后外接PHY芯片, 阅读全文
posted @ 2026-03-08 19:04 cockpunctual 阅读(42) 评论(0) 推荐(0)
摘要:I2C-Stub模拟I2C器件 在有时候没有I2C器件,但是需要通过I2C器件完成某些特定功能的时候,比如最近想使用libmctp库来开发MCTP的相关功能,Linux提供了I2C-Stub驱动来模拟I2C器件。这篇文章主要是用来记录I2C-Stub的使用。 1 编译I2C-Stub驱动 在Linu 阅读全文
posted @ 2025-08-19 20:56 cockpunctual 阅读(67) 评论(0) 推荐(0)
摘要:在用户空间如何创建USB Gadget设备,并使用该设备来模拟网卡?在看到这篇[博客](Android USB之复合设备(gadget)详解 - sheldon_blogs - 博客园)的时候,看到里面有对于configfs的介绍: configfs是基于ram的文件系统,与sysfs的功能有所不同 阅读全文
posted @ 2025-08-15 15:47 cockpunctual 阅读(71) 评论(0) 推荐(0)
摘要:有些跑在i2c的协议(例如MCTP Over I2C)都是需要双向传输消息的。 当请求方发送MCTP请求消息之后,会等待响应方处理请求之后,读取响应方的响应消息。对于i2c器件来说,一般都是主设备给从设备发消息。当请求方发送MCTP请求消息时,请求方作为主设备。响应方处理完请求发送给请求方时,响应方 阅读全文
posted @ 2025-07-07 20:10 cockpunctual 阅读(165) 评论(0) 推荐(0)
摘要:1 打开文件描述符 读写i2c器件的时候,一般代码流程都是: 打开设备获取设备文件描述符 ioctl设置读取的i2c器件的从地址 调用read/write函数读写数据 int fd = open("/dev/i2c-1", O_RDWR); ioctl(fd, I2C_SLAVE, 0x50); / 阅读全文
posted @ 2025-06-16 16:51 cockpunctual 阅读(202) 评论(0) 推荐(0)