Install the Linux onboard NIC driver on your computer

Install the Linux onboard NIC driver on your computer. How to install the onboard network card driver when installing Linux on a home computer.

PC motherboards like B560 or the like are installed when installing a lower version of Ubuntu or CentOS.rtl8811 - Install the Linux onboard NIC driver on your computer

rtl8811 – Install the Linux onboard NIC driver on your computer


Without the driver of the onboard WiFi adapter, you can’t connect to the network, and the downloaded driver must be compiled and compiled again.

Here is an Intel-based I219 network card solution idea.

1. Check the NIC model

The first thing is to find out what type of network card you are

lspci -v

2. Network card driver

I am here I219 network card, go to Baidu to find the driver download address, Here is posted on Intel’s official website


3. Copy the NIC driver

Download the tar .gz file and copy it to your computer using your mobile device

As a reminder, NTFS format USB sticks are compatible with most Ubuntu, and FAT32 is compatible with most Centos

4. Configure an offline source

Mount the local image source to install make, gcc and other environments, refer to my previous column

CentOS7 configures offline sources in a networkless environment

Configure the Ubuntu base environment in an offline (no network) environmentAC WiFi adapter - Install the Linux onboard NIC driver on your computer

AC WiFi adapter – Install the Linux onboard NIC driver on your computer


5. After mounting, install the following environment

For Centos:

# yum install gcc make

(If you find that something is missing when compiling later, just yum install the corresponding line)

For Ubuntu:

# yum install build-essential

6. Unzip the copied drive files

tar -xzvf e1000e-3.8.4.tar.gz

7. Go into the unzipped folder, there is an src folder, go in and then

make install

8. Load the driver

modinfo e1000e

modprobe e1000e

9. Update the next initramfs

At this time, there should already be an Internet, but it still needs to be updated5G dual-band USB wireless card ac600m - AC WiFi adapter - Linux NIC driver

5G dual-band USB wireless card ac600m – AC WiFi adapter – Linux NIC driver


For Centos:

dracut --force

For Ubuntu:

update-initramfs -u

Reboot the NIC under Linux

How do I restart a network card under Linux? When we configure the network, we need to restart the network card to take effect, and the way to restart the network card under Linux is very simple.

Reboot the NIC under Linux

一、A reboot command:

service network restart

1. First connect to the Linux command line interface with the Xshell tool. Or enter the operating system interface and select Terminal Input:

2. If we restart all network cards. You can try to enter the : service network restart command.

3. In this way, the operation of restarting the network card with the service network restart command is completed.600mbps WiF

600mbps WiF


二、ifconfig eth0 down / ifconfig eth0 up

1. Connect to the command line interface and enter ifconfig to view the basic information of the network card.

2. View the network card information of eth3. Enter ifconfig eth3 down to uninstall the eth3 network card.

3. Enter ifconfig eth3 up and reload the eth3 network card.


三、ifdown eth0 / ifup eth0

1. Connect to the command line interface. Enter ifdown eth3 to uninstall the network card eth3.

2. Enter ifup eth3 to reload the network card eth3.

3. In this way, the restart operation of the network card is completed.


Linux USB driver information


USB skeleton program (USB-skeleton), is the basis of USB driver, through the learning and understanding of its source code, can enable us to quickly understand the USB driver architecture, quickly develop our own USB hardware driver.

In the previous part, “Hardware Drivers under Linux – USB Devices (Part I) (Driver Configuration Part)”, we learned how to use some of the most common USB devices under Linux.

But for programmers who do system design, this is far from enough, we also need to have the ability to read, modify and develop drivers.

In this next part, we will enter the world of USB driver development with you through a simple USB driver example.


USB driver development

After mastering the configuration of the USB device, for the programmer, we can try to make some simple USB driver modifications and development.

In this paragraph, we will explain an example of two small USB drivers based on a most basic USB framework.

USB skeleton

In the Linux kernel source directory, driver/usb/usb-skeleton.c provides us with a basic USB driver. We call this a USB skeleton.

With it, we only need to modify very few parts to complete the driver of a USB device. Our USB driver development also started with her.

Almost all of the USB devices that are not supported under Linux are manufacturer-specific products. If manufacturers use their own defined protocols in their products, they will need to create specific drivers for this device.

Of course, we know that some manufacturers disclose their USB protocols and help with the development of Linux drivers, while others do not disclose their USB protocols at all.

Because each different protocol generates a new driver, there is this generic USB driver skeleton program, which is modeled on the PCI skeleton.

If you are going to write a Linux driver, first familiarize yourself with the USB protocol specification. USB home page has its help.Linux WiFi adapter

linux nic driver check + linux kernel – install network card driver linux


Some of the more typical drivers can be found above, and also introduce the concept of USB urbs, which is the most basic of USB drivers.

The first thing a Linux USB driver needs to do is register with the Linux USB subsystem and provide information about what kind of device the driver supports, and what happens when the supported device is plugged in or unplugged from the system.

All of this information is transferred to the USB subsystem, which is represented in the USB skeleton driver as follows:

static struct usb_driver skel_driver = {

name: "skeleton",

probe: skel_probe,

disconnect: skel_disconnect,

fops: &skel_fops,


id_table: skel_table,


The variable name is a string that describes the driver. probe and disconnect are function pointers that are called when the device matches the variable information in the id_table.

The FOPS and Minor variables are optional. Most USB drivers hook into another driver system, such as SCSI, networking, or tty subsystems.

These drivers are registered in other driver systems, and any user-space interaction is provided through those interfaces, for example, we use the SCSI device driver as another driver system hooked by our USB driver, then the read, write and other operations of our USB device are accessed accordingly according to the read and write functions of the SCSI device.

But for drivers such as scanners, there is no matching driver system to use, so we have to deal with user-space read, write and other interactive functions.

The USB subsystem provides a way to register a secondary device number and file_operations function pointer so that it can be easily interacted with user space.


Leave a Reply

Your email address will not be published. Required fields are marked *