Compiling needed WIFI driver (if not already a topic for specific Puppy version)
New WIFI hardware is constantly released and keeping up with the needed drivers, is always needing updated.
If the Puppy version does not have the driver. It will need to be compiled and installed.
There are two things needed for support of WIFI adapter devices.
Firmware
Driver
First find out what the WIFI hardware is.
Most Puppy versions have the program Pup-Sysinfo.
Pup-Sysinfo->Devices
In subsection PCI Devices or USB Devices there should be info about the WIFI hardware.
adapter detection.
In terminal
Code: Select all
lspci -nn | grep etwork
(then google for adapter source by code near end of output, i.e. [8086:3165])
This will tell you what specific kernel driver is needed to drive the hardware.
Kernel drivers are located in /lib/modules/(number name of kernel)/kernel/drivers/net/wireless
Example:
driver for a realtek rtl8192cu WIFI adapter for kernel 5.4.42-v7
/lib/modules/5.4.42-v7l/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192cu
The hardware driver may be in the kernel, but the firmware may be missing.
Check for missing firmware:
Code: Select all
dmesg | grep irmware
If any missing, google it or go to:
http://anduin.linuxfromscratch.org/BLFS/linux-firmware/
Then add to /lib/firmware (maybe put in subfolder?)
WIFI drivers have to be compiled for the specific kernel being used.
This is how to compile a WIFI driver.
Originally written by ozsouth with some editing by me, to hopefully make it easier to understand.
FULL CREDIT GOES TO ozsouth!!
With a non working internet connection. Needed files will have to be gotten from a working connection and copied into the none working Puppy.
Compiling has to be done in the nonworking Puppy.
Driver compiling:
Need 3-4GB ram or 2GB ram & a 2GB swap file/partition.
Need recent driver source file
Driver source files can be found here:
https://github.com/search?q=&type=
Search for driver needed.
The search may find, several of them, by different people. Read any info about each one. Some are specially made for specific hardware make/model. Others are for generally anything using that chip set.
.
.
Example:
rtl8192eu-master.zip for the Realtek rtl8192eu chip set.
Need devx sfs and kernel sources sfs for the puppy version needing the driver.
Boot into puppy requiring driver.
Load the devx sfs and kernel sources sfs.
unzip source code ( rtl8192eu-master.zip )
In ROX file manager, navigate to the produced directory.
Right click on open area of this directory.
Select window->terminal here.
Enter in terminal:
Code: Select all
make clean
& then run
make
If no errors, should produce .ko driver file i.e. 8192eu.ko
copy to a safe place.
Copy driver into appropriate folder
Example for Puppy with kernel being used 4.19.23
/lib/modules/4.19.23/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192eu
(need to create rtl8192eu directory and put 8192.ko file in it)
run depmod (& maybe modprobe).
If you save when quitting, driver also available next boot.
.
.
Example:
8192eu.ko for kernel 4.19.23 goes in
/lib/modules/4.19.23/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8192eu
(need to create rtl8192eu directory and put 8192.ko file in it)
Then in terminal must run:
Code: Select all
depmod
to make driver available.
If usb WIFI adapter, plug it in (should detect) or if onboard adapter, run
In terminal:
Code: Select all
modprobe 8192eu