Ubuntu查看usb设备驱动/usb以太网卡设备驱动

step1:

lsusb 查看当前有哪些usb设备。注意:插在usb口上的外接设备一定能通过lsusb显示出来,但是不一定能通过lspci显示出来,即使这个设备的驱动已经安装了。  

由于我要查看我的有线网卡的驱动,lsusb命令执行完成以后可知


Ubuntu查看usb设备驱动/usb以太网卡设备驱动_第1张图片

Bus 001 Device 010: ID 0bda:8152 Realtek Semiconductor Corp. 为该有线网卡对应的设备信息。(一点建议:当需要查看设备A的驱动,而linux机器上的usb设备又很多时,可以先将该设备卸载(拔掉)并执行lsusb命令,记录命令的执行结果,再将该设备装载(插上),再次执行lsusb命令,并记录执行结果,比较两次命令的执行结果,多出来的那一条设备信息就是设备A的信息。)

为了简化结果显示,我将linux机器上不必要的usb设备卸载后,通过ssh远程进行了连接(最后linux设备的外露usb接口上只装载了一个usb设备--有线网卡)。

step2:

通过lsusb -t命令查看该有线网卡的树状连接结构: 


注意:每个树的最下面为外接的usb设备,即我所装载的usb有线网卡的设备驱动为r8152。

如何识别系统是否安装网卡驱动

lshw -C network

命令解释:

lshw == list hardware

lshw命令用来显示系统硬件信息,network说明显示网卡信息,-C说明显示详细内容

有时候,当网卡被禁用(执行ifconfig 网卡名 up命令启用网卡,执行ifconfig 网卡名 down命令禁用网卡)后,执行ifconfig命令是不显示网卡名称的。此时可以通过lshw -C network

命令来查看硬件是否能被识别(即使网卡被禁用了)。如果硬件不能被识别,那么说明驱动没安装好。

那么在驱动未安装时,如何安装正确的驱动呢?

我的理解是根据lsusb中的id并结合设备信息来进行搜索:由上图可知:有线网卡的id是8152,且设备是Realtek公司的,可以去Realtek公司的官网看看或者去google,bing搜下,github搜下。获取更多信息。 

Ubuntu查看usb设备驱动/usb以太网卡设备驱动_第2张图片

由上图可知,有两个“*-network”,故有两个网卡信息,也即对应两个网卡硬件。

lsmod 显示当前已经被加载的模块,查看驱动是否安装

modprobe -l 显示所有模块,包括已加载和未加载的模块

如果要确认有没有安装驱动,就需要通过lsmod命令来看,当然lsmod命令只能显示编译linux内核时选中为“M”的驱动程序,最靠谱的还是dmesg来查看该设备的驱动有没有安装,dmesg信息太多,需要grep来过滤一下。

驱动的卸载与安装:

modprobe -r r8152卸载r8152驱动模块

modprobe r8152安装r8152驱动模块

注意:此处的r8152为驱动名称,可根据具体情况进行替换

路由问题:

配置网卡时当可ping DNS服务器而ping不通外网时,极有可能是没设置默认路由网关

添加默认路由:route add default gw 10.0.1.254

参考文档:

http://blog.csdn.net/gx19862005/article/details/48622767

http://blog.chinaunix.net/uid-25885064-id-3154645.html

https://www.blackmoreops.com/2014/08/25/identify-pci-usb-wired-wireless-driver-linux-identify-usb-driver/

你可能感兴趣的:(Linux)