Kad rangkaian 10g Intel (contohnya, 82598, 82599, x540) disokong oleh pemacu ixgbe. Pengedaran Linux moden sudah disertakan dengan pemacu ixgbe, yang digunakan melalui modul yang boleh dimuatkan. Walau bagaimanapun, terdapat situasi di mana anda ingin menyusun dan memasang pemacu ixgbe sendiri pada mesin anda, sebagai contoh, apabila anda ingin mengalami ciri terkini pemacu ixbge. Begitu juga, masalah dengan pemacu ixgbe yang disertakan dengan kernel secara lalai ialah ia tidak membenarkan anda menyesuaikan parameter pemacu. Jika anda mahu pemacu ixgbe tersuai sepenuhnya (seperti rss, berbilang baris gilir, ambang gangguan, dll.), anda perlu menyusun pemacu ixgbe secara manual daripada sumber.
Langkah pertama: Prasyarat pemasangan
Sebelum pemasangan, anda perlu memasang fail pengepala kernel yang sepadan dan kit alat pembangunan.
$ sudo apt-get install linux-headers-$(uname -r) $ sudo apt-get install gcc make
Langkah 2: Susun pemacu ixgbe
Muat turun kod sumber daripada pemacu ixgbe terkini.
$ wget http://sourceforge.net/projects/e1000/files/ixgbe%20stable/3.23.2/ixgbe-3.23.2.tar.gz
Kompilkan pemacu ixgbe seperti berikut.
$ tar xvfvz ixgbe-3.23.2.tar.gz $ cd ixgbe-3.23.2/src $ make
Langkah 3: Semak pemacu ixgbe
Selepas penyusunan, anda akan melihat ixgbe.ko dicipta dalam direktori ixgbe-3.23.2/src. Ini ialah pemacu ixgbe yang akan dimuatkan ke dalam kernel.
Gunakan arahan modinfo untuk menyemak maklumat modul kernel. Ambil perhatian bahawa anda perlu menentukan laluan mutlak ke fail modul (seperti ./ixgbe.ko atau /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko). Output akan menunjukkan versi kernel ixgbe.
$ modinfo ./ixgbe.ko
Langkah 4: Uji pemacu ixgbe
Sebelum menguji modul baharu, jika terdapat versi lama modul ixgbe dalam kernel anda, anda perlu mengeluarkannya terlebih dahulu .
filename: /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko version: 3.23.2 license: gpl description: intel(r) 10 gigabit pci express network driver author: intel corporation, srcversion: 2ada5e537923e983fa9dae2 alias: pci:v00008086d00001560sv*sd*bc*sc*i* alias: pci:v00008086d00001558sv*sd*bc*sc*i* alias: pci:v00008086d0000154asv*sd*bc*sc*i* alias: pci:v00008086d00001557sv*sd*bc*sc*i* alias: pci:v00008086d0000154fsv*sd*bc*sc*i* alias: pci:v00008086d0000154dsv*sd*bc*sc*i* alias: pci:v00008086d00001528sv*sd*bc*sc*i* alias: pci:v00008086d000010f8sv*sd*bc*sc*i* alias: pci:v00008086d0000151csv*sd*bc*sc*i* alias: pci:v00008086d00001529sv*sd*bc*sc*i* alias: pci:v00008086d0000152asv*sd*bc*sc*i* alias: pci:v00008086d000010f9sv*sd*bc*sc*i* alias: pci:v00008086d00001514sv*sd*bc*sc*i* alias: pci:v00008086d00001507sv*sd*bc*sc*i* alias: pci:v00008086d000010fbsv*sd*bc*sc*i* alias: pci:v00008086d00001517sv*sd*bc*sc*i* alias: pci:v00008086d000010fcsv*sd*bc*sc*i* alias: pci:v00008086d000010f7sv*sd*bc*sc*i* alias: pci:v00008086d00001508sv*sd*bc*sc*i* alias: pci:v00008086d000010dbsv*sd*bc*sc*i* alias: pci:v00008086d000010f4sv*sd*bc*sc*i* alias: pci:v00008086d000010e1sv*sd*bc*sc*i* alias: pci:v00008086d000010f1sv*sd*bc*sc*i* alias: pci:v00008086d000010ecsv*sd*bc*sc*i* alias: pci:v00008086d000010ddsv*sd*bc*sc*i* alias: pci:v00008086d0000150bsv*sd*bc*sc*i* alias: pci:v00008086d000010c8sv*sd*bc*sc*i* alias: pci:v00008086d000010c7sv*sd*bc*sc*i* alias: pci:v00008086d000010c6sv*sd*bc*sc*i* alias: pci:v00008086d000010b6sv*sd*bc*sc*i* depends: ptp,dca vermagic: 3.11.0-19-generic smp mod_unload modversions parm: interrupttype:change interrupt mode (0=legacy, 1=msi, 2=msi-x), default intmode (deprecated) (array of int) parm: intmode:change interrupt mode (0=legacy, 1=msi, 2=msi-x), default 2 (array of int) parm: mq:disable or enable multiple queues, default 1 (array of int) parm: dca:disable or enable direct cache access, 0=disabled, 1=descriptor only, 2=descriptor and data (array of int) parm: rss:number of receive-side scaling descriptor queues, default 0=number of cpus (array of int) parm: vmdq:number of virtual machine device queues: 0/1 = disable, 2-16 enable (default=8) (array of int) parm: max_vfs:number of virtual functions: 0 = disable (default), 1-63 = enable this many vfs (array of int) parm: vepa:vepa bridge mode: 0 = veb (default), 1 = vepa (array of int) parm: interruptthrottlerate:maximum interrupts per second, per vector, (0,1,956-488281), default 1 (array of int) parm: lliport:low latency interrupt tcp port (0-65535) (array of int) parm: llipush:low latency interrupt on tcp push flag (0,1) (array of int) parm: llisize:low latency interrupt on packet size (0-1500) (array of int) parm: llietype:low latency interrupt ethernet protocol type (array of int) parm: llivlanp:low latency interrupt on vlan priority threshold (array of int) parm: fdirpballoc:flow director packet buffer allocation level: 1 = 8k hash filters or 2k perfect filters 2 = 16k hash filters or 4k perfect filters 3 = 32k hash filters or 8k perfect filters (array of int) parm: atrsamplerate:software atr tx packet sample rate (array of int) parm: fcoe:disable or enable fcoe offload, default 1 (array of int) parm: lro:large receive offload (0,1), default 1 = on (array of int) parm: allow_unsupported_sfp:allow unsupported and untested sfp+ modules on 82599 based adapters, default 0 = disable (array of int)
Kemudian gunakan arahan insmod untuk memasukkan modul ixgbe yang baru disusun. Pastikan untuk menentukan laluan mutlak ke modul.
$ sudo rmmod ixgbe
Jika arahan di atas berjaya dijalankan, tiada maklumat akan dipaparkan.
Anda boleh cuba menambah parameter tambahan jika perlu. Sebagai contoh, tetapkan bilangan baris gilir RSS kepada 16:
$ sudo insmod ./ixgbe.ko
Semak /var/log/kern.log untuk melihat sama ada pemacu ixgbe berjaya diaktifkan. Semak log untuk "pemacu rangkaian ekspres intel(r) 10 gigabit pci". Maklumat versi ixgbe hendaklah sama dengan paparan modinfo sebelumnya.
18 sep 14:48:52 kernel spongebob: [684717.906254] intel(r) 10 gigabit pci pemacu rangkaian ekspres - versi 3.22.3
<🎜 <>Langkah 5: Pasang pemacu ixgbe 🎜>Setelah anda mengesahkan bahawa pemacu ixgbe baharu berjaya dimuatkan, langkah terakhir ialah memasang pemacu pada sistem anda.
$ sudo insmod ./ixgbe.ko rss=16
ixgbe.ko akan dipasang di bawah /lib/modules//kernel/drivers/net/ethernet/intel/ixgbe.
Dari langkah ini, anda boleh menggunakan arahan modprobe berikut untuk memuatkan pemacu ixgbe. Ambil perhatian bahawa anda tidak perlu lagi menentukan laluan mutlak.
$ sudo make install
Jika anda ingin memuatkan pemacu ixgbe pada permulaan, anda boleh menambah "ixgbe" di penghujung /etc/modules.
Atas ialah kandungan terperinci Bagaimana untuk menyusun dan memasang pemacu ixgbe dalam Debian Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!