Linux does not have the hardware driver, how to find the driver it. A fiber-optic card, for example, is not driven.
First of all, to obtain LSPCI information, know the relevant information of fiber card
Root@localhost/]# Lspci 0e:00.0 Fibre channel:qlogic Corp.: Unknown Device 2432 (rev 03)
|
This unknow device is a fiber-optic card Fibre Channel, and a QLogic fiber-optic card. The previous hardware ID needs to know 0e:00.0.
Then use the LSPCI-NV parameter to continue fetching information
[Root@localhost/]# LSPCI-NV 0e:00.0 Class 0c04:1077:2432 (rev 03) subsystem:103c:7040 Flags:bus Master, Fast Devsel, latency 0, IRQ 177 I/O ports at [size=256] Memory at fdff0000 (64-bit, non-prefetchable) [size=16k] Capabilities: [+] Power Management version 2 Capabilities: [4c] Express Endpoint IRQ 0 Capabilities: [+] Message signalled interrupts:64bit+ QUEUE=0/4 enable- Capabilities: [Vital Product Data] Capabilities: [7c] Msi-x: enable-mask-tabsize=16 Capabilities: [+] Advanced Error Reporting Capabilities: [138] Power Budgeting |
From the 0e:00.0 can be determined that the fiber card information is the above section, where the total need is "1077:2,432".
In the system there is a file/usr/share/hwdata/pcitable, which holds all the supported and unsupported hardware information for this system. 1077 of them represent the manufacturer qlogic,2432 is the model of the card.
Well, now I have a driver package, there are many modules, in the end whether the module in this package supports this card. Exactly which module supports this card?
[Root@rac01 ~]# tar xvfz qla2xxx-8.01.60-dc5-ia32.tgz lib/ lib/modules/ lib/modules/2.6.9-11.19axhugemem/ lib/modules/2.6.9-11.19axhugemem/kernel/ lib/modules/2.6.9-11.19axhugemem/kernel/drivers/ lib/modules/2.6.9-11.19axhugemem/kernel/drivers/scsi/ lib/modules/2.6.9-11.19axhugemem/kernel/drivers/scsi/qla2xxx/ Lib/modules/2.6.9-11.19axhugemem/kernel/drivers/scsi/qla2xxx/qla6312.ko Lib/modules/2.6.9-11.19axhugemem/kernel/drivers/scsi/qla2xxx/qla2300.ko Lib/modules/2.6.9-11.19axhugemem/kernel/drivers/scsi/qla2xxx/qla2100.ko Lib/modules/2.6.9-11.19axhugemem/kernel/drivers/scsi/qla2xxx/qla2xxx.ko Lib/modules/2.6.9-11.19axhugemem/kernel/drivers/scsi/qla2xxx/qla2322.ko Lib/modules/2.6.9-11.19axhugemem/kernel/drivers/scsi/qla2xxx/qla2xxx_conf.ko Lib/modules/2.6.9-11.19axhugemem/kernel/drivers/scsi/qla2xxx/qla2200.ko Lib/modules/2.6.9-11.19axhugemem/kernel/drivers/scsi/qla2xxx/qla2xip.ko lib/modules/2.6.9-11.19ax/ lib/modules/2.6.9-11.19ax/kernel/ lib/modules/2.6.9-11.19ax/kernel/drivers/ lib/modules/2.6.9-11.19ax/kernel/drivers/scsi/ lib/modules/2.6.9-11.19ax/kernel/drivers/scsi/qla2xxx/ Lib/modules/2.6.9-11.19ax/kernel/drivers/scsi/qla2xxx/qla6312.ko Lib/modules/2.6.9-11.19ax/kernel/drivers/scsi/qla2xxx/qla2300.ko Lib/modules/2.6.9-11.19ax/kernel/drivers/scsi/qla2xxx/qla2100.ko Lib/modules/2.6.9-11.19ax/kernel/drivers/scsi/qla2xxx/qla2xxx.ko Lib/modules/2.6.9-11.19ax/kernel/drivers/scsi/qla2xxx/qla2322.ko Lib/modules/2.6.9-11.19ax/kernel/drivers/scsi/qla2xxx/qla2xxx_conf.ko Lib/modules/2.6.9-11.19ax/kernel/drivers/scsi/qla2xxx/qla2200.ko Lib/modules/2.6.9-11.19ax/kernel/drivers/scsi/qla2xxx/qla2xip.ko lib/modules/2.6.9-11.19axsmp/ lib/modules/2.6.9-11.19axsmp/kernel/ lib/modules/2.6.9-11.19axsmp/kernel/drivers/ lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/ lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/qla2xxx/ Lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/qla2xxx/qla6312.ko Lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/qla2xxx/qla2300.ko Lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/qla2xxx/qla2100.ko Lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/qla2xxx/qla2xxx.ko Lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/qla2xxx/qla2322.ko Lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/qla2xxx/qla2xxx_conf.ko Lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/qla2xxx/qla2200.ko Lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/qla2xxx/qla2xip.ko [ROOT@RAC01 ~]# ls lib/modules/2.6.9-11.19axsmp/kernel/drivers/scsi/qla2xxx Qla2100.ko Qla2300.ko Qla2xip.ko Qla2xxx.ko Qla2200.ko Qla2322.ko Qla2xxx_conf.ko Qla6312.ko
|
Now that the 8 modules are supported, we need to look at the information for each module. Let's start with the qla2xxx.
[Root@rac01 qla2xxx]# Modinfo Qla2xxx.ko Filename:qla2xxx.ko Parm:ql2xmaxqdepth:Maximum Queue depth to report for target devices. Parm:ql2xlogintimeout:Login timeout value in seconds. Parm:qlport_down_retry:Maximum number of command retries to a port that returnsa port-down status. Parm:ql2xretrycount:Maximum number of Mid-layer retries allowed for a command. Default value is 20, Parm:displayConfig:If 1 then display the configuration used in/etc/modprobe.conf. Parm:ql2xplogiabsentdevice:Option to enable PLOGI to devices, that is not present after a Fabric scan. This is needed for several broken switches. Default is 0-no PLOGI. 1-perfom PLOGI. Parm:ql2xenablezio:Option to enable Zio:if 1 then enable it otherwise with the default set in the NVRAM. Default is 0:disabled Parm:ql2xintrdelaytimer:ZIO:Waiting time for Firmware before it generates a interrupt to the host to notify completion of request. Parm:ConfigRequired:If 1, then only configured devices passed in through theql2xopts parameter would be presented to the O S Parm:Bind:Target Persistent binding method:0 by PortName (default); 1 by Portid; 2 by Nodename. Parm:ql2xsuspendcount:Number of 6-second suspend iterations to perform while a target returns a <not ready> status. Default is ten iterations. Parm:ql2xdoinitscan:Signal Mid-layer to perform scan after driver load:0 – no Signal sent to Mid-layer. Parm:ql2xloginretrycount:Specify an alternate value for the NVRAM login retry count. Parm:ql2xprocessnotready:Option to disable handling of Not-ready in the driver. Default is 1-handled by the driver. Set to 0-disable the handling inside the driver Parm:ql2xprocessrscn:Option to enable port RSCN handling via a series of lessfabric intrusive Adiscs and Plogis. Parm:ql2xioctltimeout:IOCTL timeout value in seconds for Pass-thur commands. Default is seconds. Parm:extended_error_logging:Option to enable extended error logging, Default is 0-no logging. 1-log errors |