跳转至

摘要

本项目的目标是彻底重写 iPXE 中存在的两个传统 etherboot 驱动程序:分别用于 VIA Rhine(VT6105M)和 VIA Velocity(VT6122/VT6130)芯片组。

交付物

交付物 当前状态
研究 iPXE 驱动程序 API 和 PCI API 1 已完成
编写新 VIA Rhine 驱动程序骨架:探测并挂载网卡、读取 EEPROM、与 MII PHY 通信 2, 3 已完成
为 VIA Rhine 编写发送和接收(轮询)支持 4, 5 已完成
对驱动程序进行功能和性能测试 6 已完成
编写 VIA Velocity 驱动程序骨架:探测、挂载、读取 EEPROM 和 PHY 7, 8 已完成
为 VIA Velocity 编写发送和接收支持 9, 10 进行中
对驱动程序进行功能和性能测试 11 进行中
审查代码并进行最终清理 12 未完成
提交代码并编写文档 13 未完成

每日进展

  1. 2012.05.20:基于 skeleton.[ch] 编写 VIA Rhine 驱动程序骨架。芯片复位、MII 读写和从芯片读取 MAC 地址已工作。
  2. 2012.05.22:代码风格清理,引入用于重新加载 EEPROM 内容的 rhine_reload_eeprom() 函数。正在进行链路状态通知。
  3. 2012.05.24使用新 Rhine 驱动程序成功发送了第一批数据包!
  4. 2012.05.30RX 和 TX 现已工作——使用新 Rhine 驱动程序首次成功启动
  5. 2012.06.10:代码清理,正在进行链路状态变化通知
  6. 2012.06.20Rhine 驱动程序接近完成。已开始 Velocity 驱动程序的工作
  7. 2012.06.29:VIA Velocity 驱动程序骨架完成
  8. 2012.07.07:VIA Velocity 初始化、复位、EEPROM 读取、MII 访问和链路状态报告已工作。
  9. 2012.07.10:正在努力让 VIA Velocity 发送和接收第一个数据包
  10. 2012.07.25:TX 和 RX 已工作,有一些小问题
  11. 2012.08.13:两个芯片的中断支持(用于 UNDI)已工作。

截图

  1. 发送的第一个 DHCP 数据包——Rhine:http://i.imgur.com/D2RTn.png
  2. 发送的第一个 DHCP 数据包——Velocity:http://i.imgur.com/PC9z7.png

测试计划

  1. 功能测试:传输镜像、链路状态和速度变化
  2. 性能测试:传输速度

有用链接

  1. 代码仓库:https://git.ipxe.org/people/budrys/ipxe.git
  2. VIA VT6105M 数据手册:http://tinyurl.com/7gluqd5
  3. VIA VT6122 数据手册:http://people.freebsd.org/~wpaul/VIA/DS6122R160.pdf