1
0
mirror of https://github.com/tiyn/wiki.git synced 2026-04-15 16:54:48 +02:00

Fixed Merge Conflict

This commit is contained in:
2026-04-01 00:09:27 +02:00
13 changed files with 202 additions and 67 deletions

View File

@@ -1,8 +1,8 @@
# Bluetooth
[Bluetooth](https://www.bluetooth.com/) is a short-range technology for wireless
data transfer.
[Bluetooth](https://www.bluetooth.com/) is a short-range technology for wireless data transfer.
From a [hardware](/wiki/hardware_%28general%29.md) perspective Bluetooth requires a compatible
adapter to work which may be integrated or external.
For [Linux](/wiki/linux.md) based operating systems the
[bluez package](/wiki/linux/bluez.md) is used as the implementation of the
bluetooth standard.
Informations on Bluetooth usage on [Linux](/wiki/linux.md)-based operating systems are described in
the [Bluetooth section of the Linux hardware entry](/wiki/linux/hardware_%28linux%29.md#bluetooth).

View File

@@ -4,7 +4,21 @@ This entry focusses on various hardware components of a general desktop PC or a
For [Linux](/wiki/linux.md) Systems see
[the corresponding entry](/wiki/linux/hardware_%28linux%29.md).
## Contents of Technic Bag
## Hardware Functionality
The following subsections address functions that rely on dedicated hardware modules or adapters.
### Bluetooth
Configuration and troubleshooting for Bluetooth functionality are described in the
[corresponding Bluetooth entry](/wiki/bluetooth.md).
### Wi-Fi
Configuration and troubleshooting for Wi-Fi functionality are described in the
[corresponding Wi-Fi entry](/wiki/wi-fi.md).
## Technic Bag
The following are components that are useful to be included in cable- and technic bags to.
For power banks and power supplies it is useful to check for the power delivery standard.

View File

@@ -1,7 +1,7 @@
# BlueZ
[BlueZ](http://www.bluez.org/) is an implementation of the
[Bluetooth](/wiki/bluetooth.md) standard.
[BlueZ](http://www.bluez.org/) is an implementation of the [Bluetooth](/wiki/bluetooth.md)
standard.
This entry features the BlueZ package and all software that is based on it.
## Setup
@@ -20,6 +20,10 @@ systemctl enable bluetooth.service
## Usage
This section addresses the usage of Bluez.
### Connecting and Pairing of Devices
The Bluetooth features can be managed by different types of front-ends.
- `bluetoothctl` is a command-line interface included in the `bluez-utils`
@@ -31,3 +35,44 @@ The Bluetooth features can be managed by different types of front-ends.
Using `bluetuith` the [Bluetooth](/wiki/bluetooth.md) can be turned on (or off) by pressing `o`,
devices can be searched for by pressing `s`, a selected device can be paired by pressing `p` and
finally connected by pressing `c` before `bluetuith` can be left with `Q`.
## Troubleshooting
This section will focus on errors and the fixing of errors of Bluez.
### `bluetuith: no adapter found` or `bluetoothctl: No default controller available`
When this error occurs the adapter is not recognized by the software.
This can be confirmed using the following command and looking for the bluetooth adapter.
```sh
lsusb
```
If it is indeed not found it may be blocked by `rfkill`.
To check this run the following command.
```sh
rfkill
```
This command will display something similar to the following.
```txt
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
```
If the command displays `Soft blocked: yes` or `Hard blocked: yes` beneath the Bluetooth device it
has to be unblocked to use it.
For this run the following command where `<bluetooth-adapter>` is the name of the Bluetooth adapter
(in this case it would be `hci0`).
```sh
rfkill unblock <bluetooth-adapter>
```
Afterwards the adapter will probably be recognized again but a restart of service
`bluetooth.service` eventually has to be restarted as described in the
[systemd entry](/wiki/linux/systemd.md#startstopenabledisable-a-service-and-retrieve-its-logs).

View File

@@ -82,6 +82,15 @@ It is then displayed in the list below from where it can be loaded or deleted.
Presets are saved in the directory `~/.config/easyeffects/input` and
`~/.config/easyeffects/output`.
### Process All Input and Output Streams
By default, EasyEffects processes all input and output streams.
This includes [loopback devices](/wiki/linux/pipewire.md#virtual-devices) with which it may lead to
some problems - for example
[problems with virtual devices](/wiki/linux/pipewire.md#problems-with-input-an-output-of-loopback-devices).
It can be disabled and re-enabled in the `Preferences` under `Audio` by deselecting or selecting the
switches for `Process all output streams` and `Process all input streams`.
#### Recommended Presets
The following is a list of presets that have been tested and only need slight configuration to

View File

@@ -5,7 +5,11 @@ laptop.
For non-Linux specific or general topics in hardware see the
[corresponding entry](/wiki/hardware_%28general%29.md)
## Battery
## Hardware Functionality
The following subsections address functions that rely on dedicated hardware modules or adapters.
### Battery
The battery of a notebook can be inspected by using the `upower` command.
To use it the tool needs to be installed.
@@ -40,24 +44,34 @@ For this run the following command.
acpi -b
```
## Power Management
### Bluetooth
[Bluetooth](/wiki/bluetooth.md) on [Linux](/wiki/linux.md) is generally managed by
[Bluez](/wiki/linux/bluez.md).
### Wi-Fi
Wi-Fi functionality on [Linux](/wiki/linux.md) is handled by various tools such as
[WPA Supplicant](/wiki/linux/wpa_supplicant.md) or [NetworkManager](/wiki/linux/networkmanager.md).
### Power Management
Tools, programs and guides to manage the power usage and improve battery life are described in the
[power management entry](/wiki/linux/power_management.md).
## (Liquid) Coolers
### (Liquid) Coolers
The viewing of temperatures of coolers as well as the selection of RGB-settings can be achieved by
using [liquidctl](https://github.com/liquidctl/liquidctl).
## Temperature
### Temperature
To check the temperature the command `sensors` can be used which (on most distributions) is a part
of the `lm_sensors` package.
It will then display all the available temperature sensors available as well as many other sensors
like the RPM for fans.
## ThinkPad TrackPoint
### ThinkPad TrackPoint
This section is based on a
[Reddit comment by zedbraxmen](https://www.reddit.com/r/thinkpad/comments/wjb8qz/configuring_trackpoint_in_wayland/).
@@ -75,7 +89,7 @@ ATTR{device/sensitivity}="275",
ATTR{device/speed}="215",
```
## Fingerprint Readers
### Fingerprint Readers
Many modern laptops include fingerprint sensors which can be used for authentication on
[Linux](/wiki/linux.md).

View File

@@ -2,7 +2,7 @@
NetworkManager - short NM - is a program to automatically detect and connect to
networks by providing options for various configuration.
It is used to set up [Wi-Fi](/wiki/linux/wi-fi.md).
It is used to set up [Wi-Fi](/wiki/linux/hardware_%28linux%29.md#wi-fi).
## Setup
@@ -50,3 +50,6 @@ It will restart the [SystemD](/wiki/linux/systemd.md) service and enable the Wi-
systemctl restart NetworkManager
nmcli radio wifi on
```
If the error still persists afterwards it may be useful to also restart WPA Supplicant as explained
[in the corresponding section of its entry](/wiki/linux/wpa_supplicant.md#restarting-wpa-supplicant).

View File

@@ -91,11 +91,17 @@ pw-loopback -C <id>
This section focusses on the temporary and permanent creation and removal of virtual devices like
virtual sinks and sources aswell as coupled nodes like loopbacks.
#### Creating a Null Device
Please note that problems may occur if [EasyEffects](/wiki/linux/easyeffects.md) is used in
combination with virtual devices.
This mostly is based upon standard configuration.
Most importantly stream devices may have problems as explained in the
[corresponding section](#problems-with-input-an-output-of-loopback-devices).
This section will focus on the creation of a dummy device.
#### Creating a Virtual Sinks
This section will focus on the creation of a virtual sink.
That is a virtual device that can be selected as output but is not used by default.
This can be useful to record applications as their sound can cleanly be passed to the dummy device
This can be useful to record applications as their sound can cleanly be passed to the virtual sink
which will eliminate other applications sounds.
If the goal is to record and listen to an application at the same time navigate to
[the application loopback section](#creating-an-application-loopback)
@@ -103,7 +109,7 @@ If the goal is to record and listen to an application at the same time navigate
The source for this section of the entry is derived by
[Pipewire Gitlab site](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices#single-nodes).
A dummy device, or null sink, can be created permanently by creating a `.conf` file inside the
A virtual sink can be created permanently by creating a `.conf` file inside the
`~/.config/pipewire/pipewire.conf.d` directory with the following lines.
@@ -112,8 +118,8 @@ context.objects = [
{ factory = adapter
args = {
factory.name = support.null-audio-sink
node.name = "null-sink-0"
node.description = "Null Sink 0"
node.name = "virtual-sink-0"
node.description = "Virtual Sink 0"
media.class = Audio/Sink
audio.position = [ FL FR ]
monitor.channel-volumes = true
@@ -132,13 +138,15 @@ Multiple devices can be created by creating different files in the directory.
If the null sink is only needed temporarily (until the next restart) the following line can be used
to create it.
Use different `sink_name`s to create multiple dummy devices.
To create multiple virtual sinks different values for the name of the sink have to be used.
In the following example `<sink-name>` is a placeholder for the name of the sink.
```sh
pactl load-module module-null-sink media.class=Audio/Sink sink_name=null-sink-0 channel_map=stereo
pactl load-module module-null-sink media.class=Audio/Sink sink_name=<sink-name> channel_map=stereo
```
This will return an id that can be used to remove the sink with the following command.
This will return an ID that can be used to remove the sink with the following command.
`<id>` is the placeholder for the ID.
```sh
pactl unload-module <id>
@@ -166,12 +174,12 @@ context.modules = [
capture.props = {
media.class = "Stream/Input/Audio"
node.name = "device-loopback-1-recording"
node.description = "Device-Loopback 1 Recording"
node.description = "Device Loopback 1 Recording"
}
playback.props = {
media.class = "Stream/Output/Audio"
node.name = "device-loopback-1-playback"
node.description = "Device-Loopback 1 Playback"
node.description = "Device Loopback 1 Playback"
}
audio.volume = 0.5
audio.mute = true
@@ -186,7 +194,7 @@ The part called `Device-Loopback 1 Recording` in the example config can be found
tab.
There the device to loopback can be selected.
The second part called `Device-Loopback 1 Playback` is available under the `Playback` tab and
allows to switch the selection of the output device.
allows switching the selection of the output device.
#### Creating an Application Loopback
@@ -195,7 +203,7 @@ In this section an application loopback is defined as a loopback that takes an a
This can be useful to record applications as their sound can cleanly be passed to the sink sink of
the applicatino loopback which will eliminate other applications sounds.
If the goal is to record and not listen to the application at the same time navigate to
[the null device section](#creating-a-null-device).
[the null device section](#creating-a-virtual-sinks).
Alternatively the null device can also be selected as a output device for the playback part of the
application loopback which makes it easily and seemlessly possible to switch between listening in
and not listening without changing the device that is recorded by the capturing program.
@@ -215,12 +223,12 @@ context.modules = [{
capture.props = {
media.class = "Audio/Sink"
node.name = "application-loopback-1-sink"
node.description = "Application-Loopback 1 Sink"
node.description = "Application Loopback 1 Sink"
}
playback.props = {
media.class = "Stream/Output/Audio"
node.name = "application-loopback-1-playback"
node.description = "Application-Loopback 1 Playback"
node.description = "Application Loopback 1 Playback"
}
}
}]
@@ -231,14 +239,70 @@ mixer like [pavucontrol](#volume-control).
The part called `Application-Loopback 1 Sink` in the example config can be found in the `Output
Devices` tab.
The second part called `Application-Loopback 1 Playback` is available under the `Playback` tab and
allows to switch the selection of the output device.
allows switching the selection of the output device.
Also in the `Playback` tab `Application-Loopback 1 Sink` can be selected as an output for currently
running applications which will loopback the sound to the selected output device.
#### Creating Virtual Sources
This section will focus on the creation of a virtual source.
That is a virtual device that can be selected as input but is not used by default.
This can be useful to pass sound to a program that only accepts microphones by default.
If different sources have to be bundled first an application loopback can be used.
A guide on the creation of it is in
[the application loopback section](#creating-an-application-loopback).
A virtual source can be created permanently by creating a `.conf` file inside the
`~/.config/pipewire/pipewire.conf.d` directory with the following lines.
```txt
context.modules = [
{
name = libpipewire-module-loopback
args = {
audio.position = [ FL FR ]
capture.props = {
media.class = "Stream/Input/Audio"
node.name = "virtual-source-1-recording"
node.description = "Virtual Source 1 Recording"
}
playback.props = {
media.class = "Audio/Source"
node.name = "virtual-source-1-source"
node.description = "Virtual Source 1 Source"
}
}
}
]
```
Multiple devices can be created by creating different files in the directory.
The created virtual source is made up by two parts that can be found in different places inside a
mixer like [pavucontrol](#volume-control).
The part called `Virtual Source 1 Source` in the example config can be found in the `Input Devices`
tab.
The second part called `Virtual Source 1 Recording` is available under the `Recording` tab and
allows switching the selection of the output or input to feed into the virtual microphone.
## Troubleshooting
This section will focus on errors and the fixing of errors of Pipewire.
### Problems with Input an Output of Loopback Devices
If the input and output of devices of the types `Stream/Output/Audio` and `Stream/Input/Audio`
automatically switches back to [EasyEffects](/wiki/linux/easyeffects.md) then EasyEffects is not
configured correctly to use with such devices.
This also can lead to problems with using [loopback](#loopback-input) and other
[virtual devices](#virtual-devices).
It can easily be fixed by not processing inputs and outputs automatically.
This is described in depth
[the corresponding section of the EasyEffects entry](/wiki/linux/easyeffects.md#process-all-input-and-output-streams).
### Fix Crackling
Crackling can occur in various situations.

View File

@@ -10,7 +10,7 @@ On most Linux distributions swayidle can be installed with the `swayidle` packag
To run swayidle it has to be called - preferably after the boot process.
An example of this will look like the following.
This will [suspend-then-hibernate](/wiki/linux/systemd.md#change-suspend-and-hibernate-behaviour)
This will [suspend-then-hibernate](/wiki/linux/systemd.md#change-suspend-and-hibernate-behavior)
the system after 30 seconds.
Additionally a program [xss-lock](/wiki/linux/xss-lock.md) has to be used to let swayidle know to
use a specific lock command.

View File

@@ -52,7 +52,7 @@ The `disable` keyword stops the service from starting automatically.
Logs of the last start of the service can be found by running `systemctl status <service-name>`.
Additionally the `--user` flag can be set to start the service only for the current user.
Additionally, the `--user` flag can be set to start the service only for the current user.
### Retrieving the SystemD Logs
@@ -64,9 +64,9 @@ This can be achieved by running the following command.
journalctl -b-1
```
### Change Suspend and Hibernate Behaviour
### Change Suspend and Hibernate Behavior
The behaviour of suspend and hibernation can be changed in the file `/etc/systemd/sleep.conf`.
The behavior of suspend and hibernation can be changed in the file `/etc/systemd/sleep.conf`.
One of the most important variables is the one to set the hibernation delay time.
This time will be used to determine the time that is taken from suspend to hibernation if
suspend-to-hibernate is called.
@@ -79,7 +79,7 @@ HibernateDelaySec=10min
### Handle Power Key and Lid Switching
The management of power keys and lid switches is handled in the file `/etc/systemd/logind.conf`.
The following line will set the behaviour of the power key to hibernate. The default for this would
The following line will set the behavior of the power key to hibernate. The default for this would
be to shutdown the system.
```txt
@@ -94,8 +94,8 @@ The following lines will change this to suspend-then-hibernate.
HandleLidSwitch=suspend-then-hibernate
```
For further behaviour of the suspend and hibernate actions check the
[corresponding section](#change-suspend-and-hibernate-behaviour).
For further behavior of the suspend and hibernate actions check the
[corresponding section](#change-suspend-and-hibernate-behavior).
When wanting to work with a closed lid some of the settings in the config file have to be set to
ignore.

View File

@@ -1,27 +0,0 @@
# Wi-Fi
Wi-Fi is a type of wireless network protocol that is used for local area networks.
On [Linux-based systems](/wiki/linux.md) there are different programs that handle the Wi-Fi
connection.
- [WPA Supplicant](/wiki/linux/wpa_supplicant.md) is used for WPA2 and WPA3 connections among
others.
- [NetworkManager](/wiki/linux/networkmanager.md) is used for various network connections.
## Usage
Tipps for usage can be found under the corresponding entries.
## Troubleshooting
Tipps for troubleshooting can be found under the corresponding entries, but the ones that use
multiple programs to fix are listed here.
### Restart WPA Supplicant and Reenable the Wi-Fi device
A simple fix for many problems is a restart of [WPA Supplicant](/wiki/linux/wpa_supplicant.md)
aswell as reenabling the Wi-Fi device using [NetworkManager](/wiki/linux/networkmanager.md).
This can be done by first restarting WPA Supplicant as explained in the
[corresponding section](/wiki/linux/wpa_supplicant.md#restarting-wpa-supplicant) and then
reenabling the Wi-Fi device as explained in the
[section of NetworkManagers entry](/wiki/linux/networkmanager.md#restarting-and-reenabling-wi-fi).

View File

@@ -3,7 +3,7 @@
`wpa_supplicant` is a free implementation of an IEEE 802.11i supplicant.
It is especially interesting due to its WPA2 and WPA3 capabilities in contrast
to other networking software.
It is used to set up [Wi-Fi](/wiki/linux/wi-fi.md).
It is used to set up [Wi-Fi](/wiki/linux/hardware_%28linux%29.md#wi-fi).
## Usage
@@ -32,3 +32,7 @@ Most of the problems regarding WPA Supplicant can be fixed by restarting the
```sh
systemctl restart wpa_supplicant
```
Afterwards - if the error still persists - it may be useful to reenable the Wi-Fi device as
explained in the
[section of the NetworkManager entry](/wiki/linux/networkmanager.md#restarting-and-reenabling-wi-fi).

View File

@@ -12,7 +12,7 @@ On most Linux distributions swayidle can be installed with the `xss-lock` packag
To run xss-lock it has to be called - preferably after the boot process.
An example of this will look like the following.
This command makes the system use `swaylock` if the system is put to
[sleep](/wiki/linux/systemd.md#change-suspend-and-hibernate-behaviour).
[sleep](/wiki/linux/systemd.md#change-suspend-and-hibernate-behavior).
```sh
xss-lock -- swaylock

9
wiki/wi-fi.md Normal file
View File

@@ -0,0 +1,9 @@
# Wi-Fi (General)
Wi-Fi is a wireless networking technology used for wireless local area networks also called WLAN.
It allows devices to communicate over radio frequencies without physical cables.
It needs a module or adapter and therefore relies on dedicated
[hardware](/wiki/hardware_%28general%29.md).
Informations on Wi-Fi usage on [Linux](/wiki/linux.md)-based operating systems are described in
the [Wi-Fi section of the Linux hardware entry](/wiki/linux/hardware_%28linux%29.md#wi-fi).