Both sides previous revisionPrevious revisionNext revision | Previous revision |
wiki:setting_up_wifi [2025/05/18 14:11] – [One simple way to connect to wifi] GNUser | wiki:setting_up_wifi [2025/05/30 12:52] (current) – [One simple way to connect to wifi] GNUser |
---|
===== One simple way to connect to wifi ===== | ===== One simple way to connect to wifi ===== |
As with most things on GNU/Linux, there are many ways to connect to wifi. What follows is my preferred way because it seems to be as simple as possible. | As with most things on GNU/Linux, there are many ways to connect to wifi. What follows is one simple and relatively straight-forward way among others. |
| |
This guide makes two assumptions: | This guide makes two assumptions: |
**A. These are the steps if your TCL computer already has a wired (ethernet) connection to the internet:** | **A. These are the steps if your TCL computer already has a wired (ethernet) connection to the internet:** |
| |
1. Load //wifi-manager// and the extension that contains your wireless nic's firmware (again, //firmware-mediatek// here is just an example): | 1. Load //wifi-manager.tcz// (see Note #3) and the extension that contains your wireless nic's firmware (again, //firmware-mediatek.tcz// here is just an example): |
$ tce-load -wi wifi-manager firmware-mediatek | $ tce-load -wi wifi-manager firmware-mediatek |
| |
2. Copy //wifi-manager//'s example config file into your //~/.config// directory: | 2. Copy //wifi-manager//'s example config file into your //~/.config// directory: |
$ cp /usr/local/share/wifi-manager/wifi-manager.conf ~/.config | $ mkdir -p ~/.config; cp /usr/local/share/wifi-manager/wifi-manager.conf ~/.config |
| |
3. Use your favorite text editor to add you hotspot's ssid|password combination to //~/.config/wifi-manager.conf// | 3. Use your favorite text editor to add your access point's ssid|password combination to //~/.config/wifi-manager.conf// |
| |
4. Disconnect from ethernet by removing the ethernet cable or running: | 4. Disconnect from ethernet by removing the ethernet cable or running: |
2. Make sure the //TC// and //ARCH// variables at the top of //FetchExt.sh// match the TCL version and architecture you are using (for example, if you are using TCL16 Pure64 you need //TC="16.x"// and //ARCH="x86_64"//) | 2. Make sure the //TC// and //ARCH// variables at the top of //FetchExt.sh// match the TCL version and architecture you are using (for example, if you are using TCL16 Pure64 you need //TC="16.x"// and //ARCH="x86_64"//) |
| |
3. Copy //FetchExt.sh// to a GNU/Linux machine or partition that does have an internet connection. | 3. Copy //FetchExt.sh// to a GNU/Linux system that does have an internet connection. |
| |
Steps 4-6 are performed on the GNU/Linux machine that has an internet connection. | Steps 4-6 are performed on the GNU/Linux system that has an internet connection. |
| |
4. Make the //FetchExt.sh// script executable. | 4. Make the //FetchExt.sh// script executable. |
$ mkdir /tmp/extensions; cd /tmp/extensions | $ mkdir /tmp/extensions; cd /tmp/extensions |
| |
6. Download //wifi-manager// and the extension that contains your wireless nic's firmware (again, //firmware-mediatek// here is just an example): | 6. Download //wifi-manager.tcz//, its dependencies, and the extension that contains your wireless nic's firmware (again, //firmware-mediatek.tcz// here is just an example): |
$ /path/to/FetchExt.sh wifi-manager firmware-mediatek | $ /path/to/FetchExt.sh wifi-manager firmware-mediatek |
| |
9. Follow steps A.2. through A.5. (see above) | 9. Follow steps A.2. through A.5. (see above) |
| |
**Notes:** | **Note #1:** |
| If the driver for your wireless nic is not distributed with the linux kernel, then connecting to wifi on GNU/Linux is complex and beyond the scope of this guide. |
| |
1. If the driver for your wireless nic is not distributed with the linux kernel, then connecting to wifi on GNU/Linux is complex and beyond the scope of this simple guide. | **Note #2:** |
| To find the name of the extension that provides your wireless nic's firmware, you first need to determine the firmware's exact filename. Boot into your TCL machine then issue these commands: |
2. Checking which firmware file(s) your wifi nic needs is relatively easy to if your TCL machine has an internet connection (via ethernet), in which case you should boot into TCL then issue these commands: | |
$ tce-load -wi wireless-KERNEL bluetooth-KERNEL | $ tce-load -wi wireless-KERNEL bluetooth-KERNEL |
$ dmesg | grep firmware | $ dmesg | grep firmware |
[ 747.236848] bluetooth hci0: Direct firmware load for intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq failed with error -2 | [ 747.236848] bluetooth hci0: Direct firmware load for intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq failed with error -2 |
[ 747.239327] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq | [ 747.239327] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq |
Some wireless nics require bluetooth drivers and firmware to load, which is why it is helpful to load //bluetooth-KERNEL// as shown above. In this example, you can see that the necessary firmware file is called //iwlwifi-7260-17.ucode//. | Some wireless nics require bluetooth drivers and firmware, which is why it is helpful to load //bluetooth-KERNEL// as shown above. In this example, you can see that the missing firmware files are //iwlwifi-7260-17.ucode// and //ibt-hw-37.7.10-fw-1.80.2.3.d.bseq//. |
| |
Now that you know the firmware's exact file name, you can find the extension that contains the file by using //provides.sh// like so: | Now that you know the firmware's exact filename(s), you can find the extension(s) you need. If you have a TCL machine with any kind of internet connection, you can use //provides.sh// for this purpose: |
$ provides.sh iwlwifi-7260-17.ucode | $ provides.sh iwlwifi-7260-17.ucode |
firmware-iwlwifi.tcz | firmware-iwlwifi.tcz |
| $ $ provides.sh ibt-hw-37.7.10-fw-1.80.2.3.d.bseq |
| firmware-intel.tcz |
| |
| If you don't have a TCL machine with an internet connection, not to worry: On any machine with an internet and web browser you can go to http://tinycorelinux.net/16.x/x86_64/tcz/provides.db (adjust the TCL version and architecture in the URL as appropriate), search the page for the filename you need (e.g., //iwlwifi-7260-17.ucode//), then scroll up until you see the extension (.tcz) that supplies it (which would be //firmware-iwlwifi.tcz// in this example). |
| |
| **Note #3:** |
| //wifi-manager.tcz// is available for recent versions of TCL (TCL15 or later), x86 and x86_64 architectures. If you are using an older version of TCL or an architecture other than x86 or x86_64, //wifi-manager.tcz// will not be in your repository but a similar extension, simply called //wifi.tcz//, should be available. //wifi.tcz// is well-maintained and works similarly to //wifi-manager.tcz// -- both are just shell scripts that run //iw// or //iwlist// (to scan for available access points), then //wpa_supplicant// (to authenticate with an access point), then //udhcpc// (to get an IP address). |
===== More Advanced Setup : Using wireless tools ===== | ===== More Advanced Setup : Using wireless tools ===== |
| |