1

I have a StarTech network card (details below) but don't see how to install it. After downloading the zip file and extracting, there's a Makefile file and a src folder. The readme is useless for Windows only. Makefile lists some incomplete hints at how to install. How do?

Note: sudo apt update, sudo apt upgrade, sudo reboot did not pickup the driver. The network card has a network cable plugged in with lights flashing.

Download Contents:

user@hostname:~/Desktop/r8169-6.011.00$ ls
Makefile  readme  src 

From Makefile:

all: clean modules install

modules: $(MAKE) -C src/ modules

clean: $(MAKE) -C src/ clean

install: $(MAKE) -C src/ install

Network Card Info:
1-Port PCI Gigabit Ethernet Network Card
Part # ST1000BT32
Support Webpage: https://www.startech.com/en-us/networking-io/st1000bt32
Driver Download: https://sgcdn.startech.com/005329/media/sets/realtek_Gigabit_linux-unix-novel_Drivers/[Realtek]%20Linux-Unix-Novell%20Gigabit%20PCI%20Network%20Card.zip

musicman1979
  • 1,167
  • 1
  • 10
  • 26

2 Answers2

2

The download you provided is listed as the r8169 driver. The Realtek r8169 module is provided by the default linux kernel (it's pre-installed).

First, run the following command to check if the module is in use:

lsmod | grep r816

If the module is listed, you are done. Use the next step to list your devices. If the module is not listed, proceed to the next step and then continue.

Next, run the following command to list your current devices:

ifconfig -a

Then, use the following commands to enable the kernel module (driver) and to list your devices:

sudo modprobe  r8169
ifconfig -a

Finally, you should see an additional ethernet device listed.


############################################################

METHOD 2:

Use the following method if the default driver doesn't work:

If you have problems with the kernel module, you can download the driver directly from Realtek.

Click here to visit the website

Select "GBE Ethernet LINUX driver r8169 for kernel up to 5.6" to download.

Then, install the dependencies:

sudo apt update
sudo apt install build-essential linux-headers-generic linux-headers-$(uname -r)

Next, cd into the same directory as the download and then run the following commands:

mkdir r8169
cd r8169
tar xvf ../r8169*bz2 --strip-components 1

If you get a "not found" error for the following command, just ignore and proceed.

sudo modprobe -r r8169
sudo make clean modules
sudo make install
sudo depmod -a
sudo modprobe r8169

Check to see if the module is loaded:

lsmod | grep r8169

List your devices:

ifconfig -a

############################################################

The drawback of installing the driver manually is that you will have to reinstall the driver after any future kernel update.

Otherwise, you will need to use the following instructions to manually update the driver.

After you boot up using a new kernel, cd back into your r8169 directory and then run the following commands:

sudo modprobe -r r8169
sudo make clean
sudo make clean modules
sudo make install
sudo depmod -a
sudo modprobe r8169

However, as mentioned by @Terrance, you can avoid this problem by converting the driver to DKMS which will automatically install during future updates.

When following the instructions, don't forget to use the corresponding driver name r8169 and also the correct version number of your downloaded driver.

mchid
  • 44,904
  • 8
  • 102
  • 162
0

Why do you want to install something? In-tree kernel driver r8169 supports this card out of the box. There may just be the situation that your distro uses r8168 for RTL8168 PCIe cards and has r8169 blacklisted. Then manually check with a "modprobe r8169" and remove the blacklisting afterwards.

hkall
  • 49