<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=NeYurii</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=NeYurii"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/NeYurii"/>
	<updated>2026-05-01T06:46:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=CPU_frequency_scaling&amp;diff=30937</id>
		<title>CPU frequency scaling</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=CPU_frequency_scaling&amp;diff=30937"/>
		<updated>2025-09-19T13:09:12Z</updated>

		<summary type="html">&lt;p&gt;NeYurii: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;CPU frequency scaling&#039;&#039; is a feature of many modern processors whereby the CPU frequency can be changed at runtime. In this way, the system can be optimized for either powersaving (minimal frequency), performance (maximal frequency), or a combination (automatic switching). The latter would e.g. be optimal for a server that is idle for most of its uptime, but must sustain high CPU throughput when it does receive requests.&lt;br /&gt;
&lt;br /&gt;
== Electing a governor ==&lt;br /&gt;
The CPU frequency scaling is handled by a so-called &#039;&#039;CPU governor&#039;&#039;, which decides which frequencies to use and when to switch between them. The most common governors are the following:&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Governor&lt;br /&gt;
! Frequency&lt;br /&gt;
! Switching&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;samp&amp;gt;performance&amp;lt;/samp&amp;gt;&lt;br /&gt;
| Maximum&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;samp&amp;gt;powersave&amp;lt;/samp&amp;gt;&lt;br /&gt;
| Minimum&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;samp&amp;gt;ondemand&amp;lt;/samp&amp;gt;&lt;br /&gt;
| Automatic&lt;br /&gt;
| Immediate&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;samp&amp;gt;conservative&amp;lt;/samp&amp;gt;&lt;br /&gt;
| Automatic&lt;br /&gt;
| Gradual&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;samp&amp;gt;userspace&amp;lt;/samp&amp;gt;&lt;br /&gt;
| Custom&lt;br /&gt;
| Custom&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In order to check which governors are available for your processors:&lt;br /&gt;
{{cmd|cat /sys/devices/system/cpu/cpufreq/policy*/scaling_available_governors}}&lt;br /&gt;
&lt;br /&gt;
To e.g. change the governor of processor 0 to &amp;lt;samp&amp;gt;ondemand&amp;lt;/samp&amp;gt;:&lt;br /&gt;
{{cmd|echo ondemand &amp;gt; /sys/devices/system/cpu/cpufreq/policy0/scaling_governor}}&lt;br /&gt;
&lt;br /&gt;
To see that the governor you chose works as expected, you may compare &amp;lt;samp&amp;gt;scaling_cur_freq&amp;lt;/samp&amp;gt; to &amp;lt;samp&amp;gt;scaling_min_freq&amp;lt;/samp&amp;gt; and &amp;lt;samp&amp;gt;scaling_max_freq&amp;lt;/samp&amp;gt; for different system loads. All of these files are located in the same folder &amp;lt;samp&amp;gt;/sys/devices/system/cpu/cpufreq/policy0&amp;lt;/samp&amp;gt; as the governor settings above.&lt;br /&gt;
&lt;br /&gt;
== Manipulating the governor ==&lt;br /&gt;
Some governors can be configured further; these settings can be found in the folders &amp;lt;samp&amp;gt;/sys/devices/system/cpu/cpufreq/*&amp;lt;/samp&amp;gt;. For instance, the &amp;lt;samp&amp;gt;ondemand&amp;lt;/samp&amp;gt; governor defaults to switching to a higher frequency when the CPU usage increases beyond 95%. If we wish to lower this threshold to e.g. 80%, we could run:&lt;br /&gt;
{{cmd|echo 80 &amp;gt; /sys/devices/system/cpu/cpufreq/ondemand/up_threshold}}&lt;br /&gt;
&lt;br /&gt;
== Automatic configuration ==&lt;br /&gt;
Once we have found a governor that we are satisfied with, we might want to keep it when the system is rebooted. This can be done by using cpupower package:&lt;br /&gt;
{{cmd|apk add {{pkg|cpupower}}}}&lt;br /&gt;
&lt;br /&gt;
Edit file /etc/conf.d/cpupower to configure required governor with START_OPTS and SYSFS_EXTRA:&lt;br /&gt;
{{cat|/etc/conf.d/cpupower|&amp;lt;nowiki&amp;gt;# Set the governor to ondemand for all processors&lt;br /&gt;
START_OPTS=&amp;quot;--governor ondemand&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Reduce the boost threshold to 80%&lt;br /&gt;
SYSFS_EXTRA=&amp;quot;ondemand/up_threshold=80&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Start the cpupower daemon using the standard [[OpenRC]] commands:&lt;br /&gt;
{{cmd|rc-update add cpupower &amp;amp;&amp;amp; rc-service cpupower start}}&lt;br /&gt;
&lt;br /&gt;
Now, CPU frequency scaling is enabled and will be preserved after rebooting.&lt;br /&gt;
&lt;br /&gt;
[[Category:Power Management]]&lt;/div&gt;</summary>
		<author><name>NeYurii</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=File_management&amp;diff=30838</id>
		<title>File management</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=File_management&amp;diff=30838"/>
		<updated>2025-09-01T18:13:18Z</updated>

		<summary type="html">&lt;p&gt;NeYurii: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File management and storage access in Alpine Linux [[Desktop environments and Window managers|Desktop environments]] involves various components. In Alpine Linux, [[#File managers|file managers]] require additional software packages to:&lt;br /&gt;
&lt;br /&gt;
* Automatically mount removable media&lt;br /&gt;
* Browse storage across shared networks&lt;br /&gt;
* Display and access partitions using different [[Filesystems|filesystems]] with other installed operating systems&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* Enable [[Polkit]] for privileged operations using a GUI&lt;br /&gt;
&lt;br /&gt;
== File managers ==&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/File_manager File managers] provide a user interface to file management i.e manage files and folders. A partial list of file managers available in Alpine Linux is given below:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width:100%; border:1px #0771a6 solid; background:#f9f9f9; text-align:left; border-collapse:collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#333333; color:#ffffff; font-size: 1.2em; text-align:center;&amp;quot;&lt;br /&gt;
|width=&amp;quot;25%&amp;quot; | Tool &lt;br /&gt;
|width=&amp;quot;10%&amp;quot;| Graphical/TUI/CLI&lt;br /&gt;
|Brief Notes&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|caja}} ||Graphical||The file manager for the [[MATE|MATE desktop]]&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|clifm}} ||CLI||The shell-like, command line terminal file manager&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|dolphin}} ||Graphical||File manager for [[KDE]] Plasma desktop &lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|konqueror}} ||Graphical||[[KDE]] File Manager &amp;amp; Web Browser&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|lf}} ||TUI||Terminal filemanager written in Go with vim-style keybindings&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|lomiri-filemanager-app}} ||Graphical||Convergent file manager: for mobiles, desktops e.g. Lomiri DE, postmarketOS&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|mc}} ||TUI||Filemanager/shell that emulates Norton Commander&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|nautilus}}||Graphical||[[Gnome|GNOME]] file manager also known as &#039;GNOME Files&#039;&lt;br /&gt;
|-&lt;br /&gt;
|{{Pkg|nemo}} ||Graphical||File manager for Cinnamon desktop environment&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|nnn}} ||TUI||The unorthodox terminal file manager&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|pcmanfm}} ||Graphical||Extremely fast and lightweight file manager for LXDE&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|pcmanfm-qt}} ||Graphical|| Qt port of pcmanfm&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|ranger}} ||TUI||VIM-inspired filemanager for the console&lt;br /&gt;
|-&lt;br /&gt;
|{{pkg|thunar}} ||Graphical||File manager for [[Xfce]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Disk management ==&lt;br /&gt;
&lt;br /&gt;
Tools like [[#GVfs|GVfs]] and [[#Udisks|Udisks]] enable support for automatic mounting of removable storage and network storage. To mount encrypted devices ensure that appropriate packages like {{pkg|device-mapper}} and {{pkg|lvm2}} are installed. &lt;br /&gt;
&lt;br /&gt;
=== Udisks === &lt;br /&gt;
&lt;br /&gt;
[https://www.freedesktop.org/wiki/Software/udisks/ udisks] makes managing disks including removable drives like USB is much easier by providing a {{ic|udisks}} daemon and cli based tool {{ic|udisksctl}}. To install the {{pkg|udisks2}} package issue the command:{{Cmd|# apk add {{pkg|udisks2}}}} &lt;br /&gt;
To see the mounted disks:{{Cmd|$ udisksctl status}} &lt;br /&gt;
To mount a disk {{Path|/dev/sdb1}}:{{Cmd|$ udisksctl mount -b /dev/sdb1}}&lt;br /&gt;
To unmount a disk {{Path|/dev/sdb1}}:{{Cmd|$ udisksctl unmount -b /dev/sdb1}}&lt;br /&gt;
&lt;br /&gt;
=== GVfs ===&lt;br /&gt;
&lt;br /&gt;
Many GUI file managers rely on [https://gitlab.gnome.org/GNOME/gvfs GVfs], a userspace virtual filesystem implementation. GVfs comes with a set of backends for SFTP, SMB, HTTP, DAV, and many others. Depending on what devices you intend to mount, additional packages may be installed from the below list:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;width:100%; border:1px #0771a6 solid; background:#f9f9f9; text-align:left; border-collapse:collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#333333; color:#ffffff; font-size: 1.2em; text-align:center;&amp;quot;&lt;br /&gt;
|width=&amp;quot;15%&amp;quot; | Package Name &lt;br /&gt;
|Brief Notes&lt;br /&gt;
|-&lt;br /&gt;
|    ntfs-3g      || Stable, full-featured, read-write NTFS (driver)&lt;br /&gt;
|-&lt;br /&gt;
|    gvfs-cdda    || CDDA support for gvfs&lt;br /&gt;
|-&lt;br /&gt;
|    gvfs-afp   || AFP support for gvfs&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-goa     ||GNOME Online Accounts support for gvfs&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-mtp     || MTP support for gvfs to mount android devices&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-smb    || Windows fileshare support for gvfs&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-lang    || Languages for package gvfs&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-afc     || Apple mobile devices support for gvfs&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-nfs    || NFS support for gvfs&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-dev     || Backends for the gio framework in GLib (development files)&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-archive || Archiving support for gvfs&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-dav     || WebDAV support for gvfs&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-fuse   || FUSE support for gvfs to mount external storage devices&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-gphoto2 || gphoto2 support for gvfs&lt;br /&gt;
|-&lt;br /&gt;
|     gvfs-avahi  ||DNS-SD support for gvfs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To list descriptions of all gvfs- packages:{{cmd|$ apk info -d gvfs-*}}&lt;br /&gt;
&lt;br /&gt;
== Automounting removable storage ==&lt;br /&gt;
&lt;br /&gt;
[[#GVfs|GVfs]] and [[#Udisks|Udisks]] enable automatic mounting of removable storage like USB drives and other external storage devices. To install them issue the command: {{Cmd|# apk add gvfs-fuse udisks2}}&lt;br /&gt;
&lt;br /&gt;
In addition to the above packages, {{ic|fuse}} service supports automounting of a number of filesystems. Install the {{pkg|fuse-openrc}} package first.{{Cmd|# apk add fuse-openrc}}&lt;br /&gt;
&lt;br /&gt;
Start the fuse service OpenRC service as follows:{{Cmd|# rc-service fuse start}}&lt;br /&gt;
&lt;br /&gt;
If the desktop sessions are already in progress, they need to be restarted for the changes to take effect, i.e. log out and log in again.&lt;br /&gt;
&lt;br /&gt;
The fuse service can be added to start up automatically at boot time:{{Cmd|# rc-update add fuse}}&lt;br /&gt;
&lt;br /&gt;
When [[Polkit#Using polkit with seatd|polkit is used with seatd]], additional [[Polkit#Example1|configuration]] is required for automounting to work.&lt;br /&gt;
&lt;br /&gt;
== Network browsing ==&lt;br /&gt;
&lt;br /&gt;
For browsing of network shares that works seamlessly with file associations, install the gvfs packages for the required network protocols. For example, to browse in a SMB/cifs windows network:{{Cmd|# apk add gvfs-smb}}&lt;br /&gt;
&lt;br /&gt;
== Enabling privilege escalation GUI ==&lt;br /&gt;
&lt;br /&gt;
When using File Managers, to enable the privilege escalation GUI for an [[Setting_up_a_new_user#Admin_user|admin user]], ensure the following:&lt;br /&gt;
* Install appropriate [[Polkit#Authentication agents|Polkit authentication agent]] for the desktop environment &lt;br /&gt;
* Enable [[Polkit#Using polkit with elogind|polkit to be used with elogind]]&lt;br /&gt;
* Authentication agent is autostarted along with the desktop environment&lt;br /&gt;
* A [[Display manager]] is used to start the desktop session(recommended)&lt;br /&gt;
&lt;br /&gt;
If the above steps are completed, When {{ic|admin://}} is typed in the address bar of [[File_management#File_managers|File Manager]], a password dialogue will appear. &lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Error due to missing polkit ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Error mounting /dev/sda1: GDBus.Error:org.freedesktop.UDisks2.Error.NotAuthorized: Not authorized to perform operation (polkit authority not available and caller is not uid 0)&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
If [[Polkit]] is not available, the above error will occur.  In this case either install and enable [[Polkit]] or using [[Setting up a new user#doas|doas]] is recommended.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Polkit]]&lt;br /&gt;
* [https://wiki.archlinux.org/title/File_manager_functionality Archwiki]&lt;br /&gt;
* [[Default applications|Change default application]] associated with a filetype&lt;br /&gt;
&lt;br /&gt;
[[Category:Storage]]&lt;br /&gt;
[[Category:Desktop]]&lt;/div&gt;</summary>
		<author><name>NeYurii</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Wi-Fi&amp;diff=29039</id>
		<title>Wi-Fi</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Wi-Fi&amp;diff=29039"/>
		<updated>2025-02-16T14:40:37Z</updated>

		<summary type="html">&lt;p&gt;NeYurii: /* wl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Alpine Linux supports both wireless daemons i.e [[#wpa_supplicant|wpa_supplicant]] and [[iwd]]. This page describes how to set up a wireless network connection with WPA encryption using [[#wpa_supplicant|wpa_supplicant]] and provides the troubleshooting steps to configure wireless interface/drivers. &lt;br /&gt;
{{Note|Using both wireless daemons i.e [[#wpa_supplicant|wpa_supplicant]] and [[iwd]] simultaneously lead to conflicts.}}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Working wireless drivers. In most cases installing {{Pkg|linux-firmware}} should get you the required drivers. Installation of this package can produce errors on diskless or data disk modes. If such errors occur, switch to system disk mode.&lt;br /&gt;
To list your available network interfaces: {{Cmd|ip link}}&lt;br /&gt;
or {{Cmd|ip a}}&lt;br /&gt;
&lt;br /&gt;
Refer to [[#Troubleshooting|Troubleshooting]] section to see if you don&#039;t see any wireless interfaces (e.g. {{Path|wlan0}}). You probably need to load and/or install drivers/firmware. If you are using a &#039;&#039;&#039;Broadcom chipset&#039;&#039;&#039;, see the [[#Broadcom_Wi-Fi_Chipset_Users|Broadcom Wi-Fi section]].&lt;br /&gt;
&lt;br /&gt;
Bring up the desired interface: {{Cmd|# ip link set wlan0 up}}&lt;br /&gt;
&lt;br /&gt;
== wpa_supplicant  ==&lt;br /&gt;
{{Seealso|iwd}}&lt;br /&gt;
&lt;br /&gt;
Networking [[Configure_Networking#Network_setup-scripts|setup-scripts]] can configure your wifi quickly using &amp;lt;code&amp;gt;wpa_supplicant&amp;lt;/code&amp;gt; which can be used with [[NetworkManager]], the standard Linux network configuration tool suite.  If the above does not meet your requirement, please follow the steps outlined on this page for manual configuration.&lt;br /&gt;
&lt;br /&gt;
To get started install {{Pkg|wpa_supplicant}} package: {{Cmd|# apk add wpa_supplicant}}&lt;br /&gt;
&lt;br /&gt;
Use this command to add your Wi-Fi network to wpa_supplicant: {{Cmd|# wpa_passphrase &#039;ExampleWifiSSID&#039; &#039;ExampleWifiPassword&#039; &amp;gt; /etc/wpa_supplicant/wpa_supplicant.conf}}&lt;br /&gt;
&#039;&#039;(Access point not broadcasting its SSID requires additional line &amp;lt;code&amp;gt;scan_ssid=1&amp;lt;/code&amp;gt; in the file {{Path|/etc/wpa_supplicant/wpa_supplicant.conf}})&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|the Wi-Fi SSID and password are case sensitive and the single quote before and after the SSID and password need to be there}}&lt;br /&gt;
&lt;br /&gt;
Start wpa_supplicant in the foreground to check if wireless connection succeeds.{{Cmd|# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optional security precaution:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default {{Pkg|wpa_supplicant}} will store your Wi-Fi password in plain text:{{Cat|/etc/wpa_supplicant/wpa_supplicant.conf|&amp;lt;nowiki&amp;gt;network={&lt;br /&gt;
    ssid=&amp;quot;&amp;lt;YourSSIDShouldBeHere&amp;gt;&amp;quot;&lt;br /&gt;
        #psk=&amp;quot;&amp;lt;YourPasswordShouldBeHereInPlainText&amp;gt;&amp;quot;&lt;br /&gt;
    psk=&amp;lt;RandomLettersAndNumbersShouldBeHere&amp;gt;&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
If you dont want your stored password in plain text just delete the line with &amp;lt;code&amp;gt;#psk=&amp;quot;&amp;lt;YourPasswordShouldBeHereInPlainText&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; on it.&lt;br /&gt;
&lt;br /&gt;
If all is well, run it as a daemon in the background by setting the {{Path|-B}} option. {{Cmd|# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf}}&lt;br /&gt;
&lt;br /&gt;
Configure the interface with an IP address.{{Cmd|# udhcpc -i wlan0}}&lt;br /&gt;
&lt;br /&gt;
Sanity check: the interface should have a {{Path|inet}} address. {{Cmd|$ ip addr show wlan0}}&lt;br /&gt;
&lt;br /&gt;
Add a entry for the desired interface (e.g. &amp;lt;code&amp;gt;wlan0&amp;lt;/code&amp;gt;) in the file as follows:{{Cat|/etc/network/interfaces|auto lo&lt;br /&gt;
auto wlan0&lt;br /&gt;
iface wlan0 inet dhcp}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|Don&#039;t remove or comment out the &#039;&#039;&#039;auto lo&#039;&#039;&#039; entry}}&lt;br /&gt;
&lt;br /&gt;
Sanity check: Make sure {{Path|/etc/wpa_supplicant/wpa_supplicant.conf}} is the correct configuration for the wireless access point you want to connect to.&lt;br /&gt;
&lt;br /&gt;
Bring the interface down. {{Cmd|# ip link set wlan0 down}}&lt;br /&gt;
&lt;br /&gt;
Manually restart (or &#039;&#039;&#039;start&#039;&#039;&#039;) &#039;&#039;&#039;networking&#039;&#039;&#039;.{{Cmd|# rc-service networking --quiet restart &amp;amp;}}&lt;br /&gt;
&lt;br /&gt;
Perform [[Configure_Networking#Connectivity_testing|sanity checks]]. For issues related to name resolution, refer [[Configure_Networking#Configuring_DNS|Networking]] section.&lt;br /&gt;
&lt;br /&gt;
=== Service configuration ===&lt;br /&gt;
&lt;br /&gt;
Proceed to configure wpa_supplicant service to start automatically on boot, if networking works properly: {{Cmd|# rc-update add wpa_supplicant boot}}&lt;br /&gt;
Also ensure that &#039;&#039;&#039;networking&#039;&#039;&#039; is set to automatically start on boot: {{Cmd|# rc-update add networking boot}}&lt;br /&gt;
&lt;br /&gt;
Manage wpa_supplicant service using the standard &#039;&#039;&#039;start&#039;&#039;&#039;, &#039;&#039;&#039;stop&#039;&#039;&#039; and &#039;&#039;&#039;restart&#039;&#039;&#039; options. For eg: to start wpa_supplicant service: {{Cmd|# rc-service wpa_supplicant start}}&lt;br /&gt;
&lt;br /&gt;
=== Launching udhcpc through wpa_cli actions ===&lt;br /&gt;
&lt;br /&gt;
With the above configuration, udhcpc will only run once at boot. If the Wifi isn&#039;t available then, or the network changes after booting, udhcpc needs to be notified. You can automatically notify udhcpc of network changes by using a wpa_cli action file, such as the one installed by default at {{Path|/etc/wpa_supplicant/wpa_cli.sh}}.&lt;br /&gt;
&lt;br /&gt;
To manually start a wpa_cli daemon with an action file, use the `-a` option: {{Cmd|# wpa_cli -a /etc/wpa_supplicant/wpa_cli.sh}}&lt;br /&gt;
&lt;br /&gt;
To do this automatically, use the `wpa_cli` service included in {{Pkg|wpa_supplicant-openrc}}: {{Cat|/etc/conf.d/wpa_cli|&amp;lt;nowiki&amp;gt;WPACLI_OPTS=&amp;quot;-a /etc/wpa_supplicant/wpa_cli.sh&amp;quot;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Add the service to start at boot: {{Cmd|# rc-update add wpa_cli boot}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Check dmesg ===&lt;br /&gt;
&lt;br /&gt;
Run dmesg and check for errors related to the wireless interface. Usually, dmesg gives maximum information related to network and all other hardware.&lt;br /&gt;
{{Cmd|# dmesg}}&lt;br /&gt;
&lt;br /&gt;
=== checking network cards ===&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ cat /proc/net/dev }} lists the network interfaces that are detected. If the expected interfaces are not available, Check what network hardware chip you have using lspci or lsusb:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ lspci -nn }}&lt;br /&gt;
{{Cmd|$ lsusb }}&lt;br /&gt;
&lt;br /&gt;
Refer [[How to get regular stuff working#Hardware_Management|hardware management]], if the default outputs shown above lacks sufficient information.&lt;br /&gt;
&lt;br /&gt;
Check what driver the card uses and modprobe it. Check that the card is in master mode.&lt;br /&gt;
Check what driver you need on the [https://wireless.wiki.kernel.org/en/users/Drivers/b43#list_of_hardware b43 compatibility page]&lt;br /&gt;
&lt;br /&gt;
=== Broadcom Wi-Fi Chipset Users  ===&lt;br /&gt;
&lt;br /&gt;
The Broadcom chipset is quite popular among older computers. The b43 driver is included in the linux-lts or linux-edge kernel packages. However, you might need to compile the firmware manually for this chipset as it is not included in linux-firmware for some cards. &lt;br /&gt;
&lt;br /&gt;
To check what broadcom chip you have using lspci:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|$ lspci -nn -d 14e4:}}&lt;br /&gt;
&lt;br /&gt;
====B43==== &lt;br /&gt;
&lt;br /&gt;
Download firmware cutter. {{Cmd|$ apk add b43-fwcutter}}&lt;br /&gt;
&lt;br /&gt;
Now we have everything to download the proprietary driver and extract the firmware from it: {{Cmd|&amp;lt;nowiki&amp;gt;# export FIRMWARE_INSTALL_DIR=&amp;quot;/lib/firmware&amp;quot;&lt;br /&gt;
$ wget http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2&lt;br /&gt;
$ tar xjf broadcom-wl-5.100.138.tar.bz2&lt;br /&gt;
$ b43-fwcutter -w &amp;quot;$FIRMWARE_INSTALL_DIR&amp;quot; broadcom-wl-5.100.138/linux/wl_apsta.o&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
More information can be found [http://linuxwireless.sipsolutions.net/en/users/Drivers/b43/#Other_distributions_not_mentioned_above here].&lt;br /&gt;
&lt;br /&gt;
Now you need to use modprobe so the device will show up: {{Cmd|# modprobe b43}}&lt;br /&gt;
&lt;br /&gt;
Now continue with the normal instructions. &lt;br /&gt;
&lt;br /&gt;
====wl====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automated:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can use APKBUILD from [https://codeberg.org/NeYurii/broadcom-wl broadcom-wl]. It uses [https://github.com/jirutka/akms akms (Alpine Kernel Module Support)] for automatic building and updating driver for new kernel versions.&lt;br /&gt;
&lt;br /&gt;
Instructions can be found in the repository.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Manual:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First install the software we need to build a driver[https://unix.stackexchange.com/questions/606073/how-to-build-kernel-modules-in-alpine-3-12 ^]: {{Cmd|apk add git alpine-sdk linux-headers linux-lts-dev}}&lt;br /&gt;
&lt;br /&gt;
Then install the driver build repo (this is archived, however it&#039;s legacy so that doesn&#039;t matter): {{Cmd|git clone https://github.com/antoineco/broadcom-wl&lt;br /&gt;
cd broadcom-wl&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Then follow the build instructions listed in the git repo: {{Cmd|make&lt;br /&gt;
doas make install&lt;br /&gt;
doas depmod -A&lt;br /&gt;
doas modprobe wl&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Reboot and you have a working wl driver. Now continue with the normal instructions.&lt;br /&gt;
&lt;br /&gt;
=== Rfkill ===&lt;br /&gt;
&lt;br /&gt;
An error message &amp;lt;code&amp;gt;ioctl 0x8914 failed: No error information&amp;lt;/code&amp;gt;, is the &amp;lt;code&amp;gt;busybox ip&amp;lt;/code&amp;gt;&#039;s way of saying your wireless radio is rfkilled, which means the wireless card is blocked by kernel. This can be changed using rfkill. To show the current status of your Wi-Fi: &lt;br /&gt;
&amp;lt;p style=&amp;quot;background-color:#f9f9f9; border:1px dashed #2f6fab; line-height:1.1em; padding:1em; font-family:monospace; font-size:10pt; white-space:pre; overflow:auto;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;~&amp;lt;/span&amp;gt;&#039;&#039;&#039;$&#039;&#039;&#039; rfkill list&lt;br /&gt;
0: phy0: wlan&lt;br /&gt;
    Soft blocked: no&lt;br /&gt;
    Hard blocked: no&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the card is hard-blocked, use the hardware button or switch to unblock it. If the card is not hard-blocked but soft-blocked, use the following command: {{Cmd|# rfkill unblock wifi}}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Configure_Networking| Networking in Alpine Linux]]&lt;br /&gt;
* [[Iwd|iwd]] - An alternate to wpa_supplicant&lt;br /&gt;
* [[NetworkManager]] - Front-end to Networking&lt;br /&gt;
* [https://wiki.postmarketos.org/wiki/WiFi PostmarketOS Wiki]&lt;br /&gt;
* [https://wiki.archlinux.org/title/Network_configuration/Wireless Archwiki]&lt;br /&gt;
* [https://wiki.gentoo.org/wiki/Wi-Fi Gentoo Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>NeYurii</name></author>
	</entry>
</feed>