linux网卡信息设备不存在,linux下显示网卡设备及驱动信息intel shell脚本

#! /bin/bash

#******************************************************************************

# Copyright(c) 1999 - 2008 Intel Corporation.

#

# This program is free software; you can redistribute it and/or modify it

# under the terms and conditions of the GNU General Public License,

# version 2, as published by the Free Software Foundation.

#

# This program is distributed in the hope it will be useful, but WITHOUT

# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or

# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for

# more details.

#

# You should have received a copy of the GNU General Public License along with

# this program; if not, write to the Free Software Foundation, Inc.,

# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.

#

# Contact Information:

# Linux NICS

# Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497

#******************************************************************************

#Determine how many Ethernet & Network controllers are installed in the system

TotalControllers=`lspci | grep -c -i 'Ethernet Controller\|Network Controller'`

temp=`lspci | grep -i 'Ethernet Controller\|Network Controller'|cut -f1 -d " "`

#Define two arrays for storing IPPorts

declare -a IOPorts1

declare -a IOPorts2

#Populate IOPorts1 with bus info from lspci. Populate IoPorts2 with bus info

#from ethtool.

for (( counter=0 ; counter < $TotalControllers ; counter++ ))

do

offset=$(($counter+1))

IOPorts1[$counter]=`echo $temp|cut -f$offset -d" "`

if (ethtool -i eth$counter) &> /dev/null; then

IOPorts2[$counter]=`ethtool -i eth$counter|grep 'bus-info'|cut -f3- -d :`

fi

done

#Loop through both arrays and determine if there's a match in IOPort1 & IOPort2. If so

#then the driver is loaded, and write to screen all the related information. If there

#is no match then there isn't a driver loaded for that device and write to screen only

#the information available from lspci

for ((counter=0 ; counter < $TotalControllers ; counter++))

do

Match=0

for ((counter1=0 ; counter1 < $TotalControllers; counter1++))

do

if [ "${IOPorts1[$counter]}" = "${IOPorts2[$counter1]}" ]; then

Match=1

DeviceID=`lspci -nn | grep ${IOPorts2[$counter1]} |cut -f3- -d"["| cut -c 1-9`

EthernetController=`lspci -v |grep ${IOPorts2[$counter1]} | cut -f4- -d" "|cut -f1 -d"("`

AdapterName=`lspci -v | grep ${IOPorts2[$counter1]} -A 1 | grep 'Subsystem'|cut -f2- -d" "`

DriverName=`ethtool -i eth$counter1 | grep -i 'driver' | cut -f2 -d" "`

DriverVersion=`ethtool -i eth$counter1 | grep -m 1 -i 'version'| cut -f2 -d" "`

echo "eth$counter1 : ${IOPorts2[$counter1]}"

echo " Make/Model = $AdapterName"

echo " Ethernet controller = $EthernetController"

echo " VenID:DevID = $DeviceID"

echo " Driver name = $DriverName"

echo " Driver version = $DriverVersion"

fi

done

if [ "$Match" = "0" ] ; then

DeviceID=`lspci -nn | grep ${IOPorts1[$counter]} |cut -f3- -d"["| cut -c 1-9`

EthernetController=`lspci -v |grep ${IOPorts1[$counter]} | cut -f4- -d" "|cut -f1 -d"("`

AdapterName=`lspci -v | grep ${IOPorts1[$counter]} -A 1 | grep 'Subsystem'|cut -f2- -d" "`

echo ": ${IOPorts1[$counter]}"

echo " Make/Model = $AdapterName"

echo " Ethernet controller = $EthernetController"

echo " VenID:DevID = $DeviceID"

echo " Driver name = No driver loaded"

echo " Driver version = No driver loaded"

fi

done

exit 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值