Linux 下千兆网卡驱动开发

前段时间一直在公司调试千兆网卡的驱动,从U-boot到 Kernel 的网络部分都做了更改。感觉怎个调试的过程确实是比较艰辛的。从125M时钟的不能输出、接收不到数据、发送数据丢包,每走一步都尝试了很多的办法。不过这个过程走完后,感觉确实是学习了很多。下面就将自己开发过程中总结的一些东西写出来吧。

感觉怎个网卡驱动的开发,可以从以下几个方面来学习:

1>千兆网卡硬件接口

2>Linux 网络设备驱动的层次结构

3>网络设备驱动模板介绍

4>开发中遇到的问题及解决方法

Linux 下千兆网卡驱动开发

从左到右依次为MAC控制器、Phy、RJ45接口。

Linux 下千兆网卡驱动开发

由于用到的主芯片内部包含了两个MAC控制器,外部就接了两个千兆PHY 采用VSC8601,上面是8601的内部结构框图。红色框起来的是咱们要重点关注的部分。

既然咱们现在用的MAC和PHY是分离的,那么MAC和PHY之间怎么衔接呢?

Linux 下千兆网卡驱动开发

相关推荐