Intel I225/I226 igc驱动在Synology设备上的完整指南

Intel I225/I226 igc驱动在Synology设备上的完整指南

【免费下载链接】synology-igc Intel I225/I226 igc driver for Synology Kernel 4.4.180 【免费下载链接】synology-igc 项目地址: https://gitcode.com/gh_mirrors/sy/synology-igc

项目概述

Intel I225/I226 igc驱动项目是专为Synology DiskStation Manager (DSM)系统设计的网络驱动程序,支持Kernel 4.4.180版本。该项目从Linux Kernel v5.12版本中反向移植而来,为Synology设备提供了对Intel 2.5G以太网控制器的完整支持。

项目架构

核心源代码结构

项目采用模块化设计,主要源代码文件包括:

  • igc_main.c - 驱动主模块,负责设备初始化和核心功能
  • igc_mac.c - MAC层控制实现
  • igc_i225.c - I225/I226系列网卡专用功能
  • igc_base.c - 基础功能模块
  • igc_nvm.c - 非易失性存储器管理
  • igc_phy.c - PHY层控制
  • igc_diag.c - 诊断功能
  • igc_ethtool.c - ethtool工具支持
  • igc_ptp.c - 精确时间协议支持
  • igc_dump.c - 调试信息输出
  • igc_tsn.c - 时间敏感网络支持

预编译模块目录

在igc/releases目录下提供了多个平台的预编译驱动模块:

  • igc-apollolake.tgz
  • igc-broadwell.tgz
  • igc-broadwellnk.tgz
  • igc-denverton.tgz
  • igc-geminilake.tgz
  • igc-v1000.tgz
  • igc-r1000.tgz
  • igc-epyc7002.tgz

兼容设备列表

项目已更新了大部分I225/I226网卡的PCI ID,所有I225/I226网卡应该都能正常工作。

主板型号网卡版本设备ID端口数固件版本
UGREEN DX4600I225-V B38086:15F321057:8754
ROG MAXIMUS XIII HEROI225-V B38086:15F321057:8754
CW N5105-N6005-6SATAI226-V8086:125C42014:8877

构建方法

Docker容器构建(推荐)

使用Docker环境进行构建,确保编译环境的一致性:

# 创建输出目录
mkdir -p output

# 设置平台参数(根据您的设备选择)
# 可用平台:apollolake, broadwell, broadwellnk, denverton, geminilake, v1000
PLATFORM=geminilake

# 执行Docker构建
docker run -u 1000 --rm -t -v "${PWD}":/input -v "${PWD}/output":/output fbelavenuto/syno-compiler compile-module ${PLATFORM}

构建完成后,在output目录下会生成igc.ko驱动模块文件。

Synology开发环境构建

环境准备

参考Synology官方文档设置开发环境,假设工作目录为/synology-toolkit。

进入chroot环境
sudo chroot /synology-toolkit/build_env/ds.geminilake-7.1
克隆源代码
cd /usr/src/
git clone https://gitcode.com/gh_mirrors/sy/synology-igc
构建模块
cd /usr/src/synology-igc/
make -C /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.1/build M=$PWD modules

驱动加载步骤

查找I225/I226 PCI设备

首先确认网卡设备信息:

lspci | grep -i intel

输出示例:

03:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)

加载驱动模块

# 加载驱动并启用调试日志
insmod igc.ko debug=16

# 设置驱动覆盖
echo igc > /sys/bus/pci/devices/0000:03:00.0/driver_override

# 探测设备
echo 0000:03:00.0 > /sys/bus/pci/drivers_probe

# 启用网络接口
ip link set up eth1  # 根据实际情况调整网卡名称

版本历史

1.3.1 (2022.11.26)

  • 更新ethtool版本

1.3.0 (2022.11.23)

  • 修复释放页面时页面引用计数不减少的问题

1.2.8 (2022.11.17)

  • 修复IGC_RING_FLAG_RX_3K_BUFFER设备的页面泄漏问题

1.2.3 (2022.11.16)

  • 支持设备ID为8086:125C的i226网卡,固件版本:2014:8877
  • 移除phy->type检查
  • 移除_I_PHY_ID检查

1.2.1 (2022.11.03)

  • 修复调度时出现原子操作的BUG
  • 添加新的设备ID I226_LMVP
  • 修复PTM激活时挂起的问题

已知问题

目前项目没有已知的重大问题,所有I225/I226网卡都应该能正常工作。

后续开发计划

  1. 流量控制(tc)支持
  2. 启用内部i225 PPS功能

注意事项

  • 在加载驱动前,请确保目标设备已正确识别
  • 调试模式可以通过debug参数控制,建议在生产环境中关闭调试输出
  • 如果遇到兼容性问题,请检查设备ID是否在支持列表中
  • 建议在测试环境中验证驱动功能后再部署到生产环境

该项目为Synology设备用户提供了完整的Intel 2.5G网卡支持解决方案,通过灵活的构建选项和详细的部署指南,确保用户能够顺利地在各种Synology平台上使用高性能的网络设备。

【免费下载链接】synology-igc Intel I225/I226 igc driver for Synology Kernel 4.4.180 【免费下载链接】synology-igc 项目地址: https://gitcode.com/gh_mirrors/sy/synology-igc

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值