将 TF-3200 安装到 Centos 7

将 TF-3200 安装到 Centos 7

我已将名为 TF-3200 的单独网卡插入 PCI 端口。我还确保使用lspci命令检测到该卡,结果显示:

01:02.0 Ethernet controller: Sundance Technology Inc / IC Plus Corp IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY (rev 31)

但接口列表中仍未显示接口。因此,我假设系统中未安装驱动程序,并尝试从他们提供的 CD 中安装它们。当我尝试make源文件时,它给出错误提示

gcc -D__KERNEL__ -DMODULE -O -Wall -Wstrict-prototypes -I/usr/include -DUSE_IO_OPS -D_COMPAT_WITH_OLD_KERNEL -c -o sundance_main.o sundance_main.c sundance_main.c:192:26: fatal error: linux/module.h: No such file or directory #include <linux/module.h> ^ compilation terminated.

我还发现以前也发生过类似的问题,但很遗憾看到这些问题没有得到解决。如果有人能帮助我解决这个问题,我将不胜感激。

答案1

这个网卡比较老了,sundance 驱动程序EL7 不再支持。网卡供应商提供的驱动程序适用于更老版本的内核,不太可能在现代系统上运行。只需购买 10 美元的千兆位网卡,而无需花费超过 10 美元的人工成本来尝试实现这一点。

答案2

要将 vanilla 内核支持的驱动程序模块添加到 CentOS 7,您需要将缺失的源添加到 CentOS 内核树并通过执行以下操作来编译所需的模块:

  1. 使用以下命令安装构建内核的先决条件:

    yum group install "Development Tools"

    yum install kernel-headers kernel-devel gcc ncurses-devel rsync bc

  2. 从以下位置下载正在运行的内核源代码http://vault.centos.org/。在本例中,我们将下载3.10.0-229.20.1.el7.x86_64内核使用:

    wget http://vault.centos.org/7.1.1503/centosplus/Source/SPackages/kernel-plus-3.10.0-229.20.1.el7.centos.plus.src.rpm

  3. 下载 rpm 文件后(到你的主目录或临时目录),使用以下命令提取内容:

    rpm2cpio kernel-plus-3.10.0-229.20.1.el7.centos.plus.src.rpm | cpio -idmv

  4. 最后,包含实际内核源代码的存档应出现在当前目录中。使用以下命令将其提取:

    tar xJvf linux-3.10.0-229.20.1.el7.tar.xz

  5. 现在你需要将内核源中缺少的文件添加到你的/usr/src/内核. 我们将使用 rsync 将文件从提取的内核递归复制到您的系统而不覆盖:

    rsync -r --ignore-existing --include=* linux-3.10.0-229.20.1.el7/ /usr/src/kernels/3.10.0-229.20.1.el7.x86_64

  6. 现在进入你的内核目录/usr/src/内核/3.10.0-229.20.1.el7.x86_64并选择您想要添加到系统中的缺失模块,运行以下命令:

    make menuconfig

对于 Sundance Technology Inc / IC Plus Corp IC Plus IP100A 以太网卡,请转到

设备驱动程序 -> 网络设备支持 -> 以太网驱动程序支持 -> D-Link 设备

并选择““ 旁边 ”圣丹斯阿尔塔 (Sundance Alta) 支持“。

对于其他驱动程序,您可以按“/”键进行搜索。

  1. 保存内核配置后,通过运行以下命令构建您选择的模块:

    make prepare

    make modules_prepare

    make M=module/subdirectory/in/the/kernel/tree

对于 Sundance 卡,命令是:

make M=drivers/net/ethernet/dlink

并复制结果*.ko文件到您的/lib/模块/额外目录

对于 Sundance 卡,命令是:

cp drivers/net/ethernet/dlink/sundance.ko /lib/modules/extra

或者,您可以构建整个内核,然后使用以下命令自动安装缺少的模块:

make
make modules_install

(不过,这可能需要几个小时,因此我建议只编译您需要的模块 - 这样添加模块只需要几分钟)

相关内容