2019-12-22 15:18:06 zdl244 阅读数 85

linux查找网卡模块及驱动信息

Linux内核模块文件命名方式一般<模块名称.ko>格式,Centos7系统内核模块集中存
在/lib/modules/`uname -r`/目录下。模块名称都在modules.*文件中。

#查看设备是否已经识别网卡:

[root@rc ~]# lspci | grep -i eth
02:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
02:05.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
02:06.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)

#查看网卡的驱动和模块:

[root@rc ~]# lspci -vv -s 02:01.0 | tail -n 3
        Kernel driver in use: e1000
        Kernel modules: e1000

[root@rc ~]# lspci -vv -s 02:05.0 | tail -n 3
        Kernel driver in use: e1000
        Kernel modules: e1000

[root@rc ~]# lspci -vv -s 02:06.0 | tail -n 3
        Kernel driver in use: e1000
        Kernel modules: e1000

#查找网卡的模块和查看模块信息:

[root@rc ~]# lsmod | grep e1000
e1000                 137624  0 
[root@rc ~]# modinfo e1000
filename:       /lib/modules/3.10.0-1062.9.1.el7.x86_64/kernel/drivers/net/ethernet/intel/e1000/e1000.ko.xz
version:        7.3.21-k8-NAPI
license:        GPL
description:    Intel(R) PRO/1000 Network Driver
author:         Intel Corporation, <linux.nics@intel.com>
retpoline:      Y
rhelversion:    7.7
srcversion:     BED5FAF40AE66C5A4A6AC4C
alias:          pci:v00008086d00002E6Esv*sd*bc*sc*i*
alias:          pci:v00008086d000010B5sv*sd*bc*sc*i*
alias:          pci:v00008086d00001099sv*sd*bc*sc*i*
alias:          pci:v00008086d0000108Asv*sd*bc*sc*i*
alias:          pci:v00008086d0000107Csv*sd*bc*sc*i*
alias:          pci:v00008086d0000107Bsv*sd*bc*sc*i*
alias:          pci:v00008086d0000107Asv*sd*bc*sc*i*
alias:          pci:v00008086d00001079sv*sd*bc*sc*i*
alias:          pci:v00008086d00001078sv*sd*bc*sc*i*
alias:          pci:v00008086d00001077sv*sd*bc*sc*i*
alias:          pci:v00008086d00001076sv*sd*bc*sc*i*
alias:          pci:v00008086d00001075sv*sd*bc*sc*i*
alias:          pci:v00008086d00001028sv*sd*bc*sc*i*
alias:          pci:v00008086d00001027sv*sd*bc*sc*i*
alias:          pci:v00008086d00001026sv*sd*bc*sc*i*
alias:          pci:v00008086d0000101Esv*sd*bc*sc*i*
alias:          pci:v00008086d0000101Dsv*sd*bc*sc*i*
alias:          pci:v00008086d0000101Asv*sd*bc*sc*i*
alias:          pci:v00008086d00001019sv*sd*bc*sc*i*
alias:          pci:v00008086d00001018sv*sd*bc*sc*i*
alias:          pci:v00008086d00001017sv*sd*bc*sc*i*
alias:          pci:v00008086d00001016sv*sd*bc*sc*i*
alias:          pci:v00008086d00001015sv*sd*bc*sc*i*
alias:          pci:v00008086d00001014sv*sd*bc*sc*i*
alias:          pci:v00008086d00001013sv*sd*bc*sc*i*
alias:          pci:v00008086d00001012sv*sd*bc*sc*i*
alias:          pci:v00008086d00001011sv*sd*bc*sc*i*
alias:          pci:v00008086d00001010sv*sd*bc*sc*i*
alias:          pci:v00008086d0000100Fsv*sd*bc*sc*i*
alias:          pci:v00008086d0000100Esv*sd*bc*sc*i*
alias:          pci:v00008086d0000100Dsv*sd*bc*sc*i*
alias:          pci:v00008086d0000100Csv*sd*bc*sc*i*
alias:          pci:v00008086d00001009sv*sd*bc*sc*i*
alias:          pci:v00008086d00001008sv*sd*bc*sc*i*
alias:          pci:v00008086d00001004sv*sd*bc*sc*i*
alias:          pci:v00008086d00001001sv*sd*bc*sc*i*
alias:          pci:v00008086d00001000sv*sd*bc*sc*i*
depends:        
intree:         Y
vermagic:       3.10.0-1062.9.1.el7.x86_64 SMP mod_unload modversions 
signer:         CentOS Linux kernel signing key
sig_key:        9E:88:C8:DF:D4:52:91:8C:83:21:F5:1E:BB:C7:92:4B:49:8B:BD:5A
sig_hashalgo:   sha256
parm:           TxDescriptors:Number of transmit descriptors (array of int)
parm:           RxDescriptors:Number of receive descriptors (array of int)
parm:           Speed:Speed setting (array of int)
parm:           Duplex:Duplex setting (array of int)
parm:           AutoNeg:Advertised auto-negotiation setting (array of int)
parm:           FlowControl:Flow Control setting (array of int)
parm:           XsumRX:Disable or enable Receive Checksum offload (array of int)
parm:           TxIntDelay:Transmit Interrupt Delay (array of int)
parm:           TxAbsIntDelay:Transmit Absolute Interrupt Delay (array of int)
parm:           RxIntDelay:Receive Interrupt Delay (array of int)
parm:           RxAbsIntDelay:Receive Absolute Interrupt Delay (array of int)
parm:           InterruptThrottleRate:Interrupt Throttling Rate (array of int)
parm:           SmartPowerDownEnable:Enable PHY smart power down (array of int)
parm:           copybreak:Maximum size of packet that is copied to a new buffer on receive (uint)
parm:           debug:Debug level (0=none,...,16=all) (int)
[root@rc ~]# 

#卸载模块和加载模块,非0状态的模块无法卸载:

[root@rc ~]# modprobe -r ast
[root@rc ~]# modprobe  ast

2020-03-10 14:17:52 qq_43121830 阅读数 36

可能是缺少相关路径、文件或是文件名不需要带扩展

使用modprobe XX.ko命令后,会到文件系统/lib/modules/xxxxx目录下查找相应的XX.ko文件;
这里的xxxxx是指系统内核版本,可以通过uname -r命令获得。
解决方案:

  1. 没有这个目录的话,自己创建一个~
  2. 创建后将.ko文件放入这个目录中
  3. 执行depmod命令
  4. 重新执行modprobe XX.ko命令
  5. 若还不行:重新执行modprobe XX命令(去掉扩展名
2015-04-24 13:46:39 yaw_cb 阅读数 788

以下针对CentOS 7
1、找出当前系统中的网卡接口

ifconfig -a

这里写图片描述

2、查找对应网卡接口的驱动,此处查找enp3s0接口对应的驱动

ethtool -i enp3s0

这里写图片描述
从图中可以看到该接口的驱动为r8169
3、查找该驱动模块所在的文件位置

locate -r r8169.*ko

这里写图片描述
4、查看该驱动模块的信息

modinfo /usr/lib/modules/3.17.4-301.fc21.x86_64/kernel/drivers/net/ethernet/realtek/r8169.ko.xz

这里写图片描述

2011-05-03 21:38:00 cailang06 阅读数 228

出差珠海十天,大致整理下学习的.

1 驱动文件存放在/drv下面,以ko为后缀.

2 安装的驱动可以在/dev里面查找到.用lsmod亦可(但好像只能看到自己安装的).

3 /proc/bus/input/devices里面有设备(?)

4 /proc/devices 里面有设备

5 驱动的编号分配(静态?动态直接可以得到)后.可以在/proc/devices 读取它(如用awk工具)然后创建设备节点在/dev目录下.

   /sys/bus/i2c/devices可以查到分配的i2c的地址

6 sudo ./adb  start-server 解决找设备的权限问题 

7 在内核树外建立模块,(在kernel之外建立drivers)需在内核建立系统的上下文被调用.(即编译需要有上下文背景,通常makefile文件的$(MAKE) -C $(KERNELDIR) M=$(PWD) modules就是起这个作用).

8 修改内核后,需要clean再make.

9 映射虚拟机到window系统的一个盘,利用IP号映射.

2013-10-15 17:46:47 zlcchina 阅读数 1608
将hello.ko载入到内核中

方法一:

$adb push hello.ko /data

$adb shell

#cd data

#insmod hello.ko 

 

以下为转载

最近在加一个红外的触屏,供应商给了一个驱动模块文件,需要系统开机时自动加载,在网上找了一些linux中自动加载模块的方法,都无法实现。


                经过多方查找与实践,最终处理过程如下:

               1.找到android源代码中的device文件夹下的相关项目文件夹,比如说我的项目是sdkdemo。  那就是/device/sdkdemo/

2.将要加载的.ko文件拷贝至此文件夹下,也可以在此处另建一个新文件夹以便日后整理。

3.打开/device/sdkdemo/android.mk 并加入以下内容:

                   PRODUCT_COPY_FILES += \
$(proprietary)/touchscreen/metusb.ko:system/lib/modules/metusb.ko

这里的目录结构是我的哈,注意别照抄。

4.打开/device/sdkdemo/init.rc,找到 on boot字段。在其后位置加入以下:

    # for touchscreen
    chmod 0770 /system/lib/modules/metusb.ko
    insmod /system/lib/modules/metusb.ko


然后重新编译打包升级即可。

 

更新Linux网卡驱动

阅读数 984

没有更多推荐了,返回首页