nyuuzyou/wikis huggingface dataset:
Infrared

Infrared, or Consumer IR specifically, is widely used in televisions, set-top boxes, air conditioners and other home appliances for remote controls. It is supported in Linux through Linux Infrared Remote Control (LIRC), which consists of a kernel subsystem and a userspace daemon.
Devices fitted with an IR blaster can be used to control appliances that use infrared remote controls.
Through userspace drivers, LIRC can also make use of external IR blasters and receivers over USB, or even home-brew ones connected to a serial port or audio jack.
== Devices with infrared transmission support ==
These devices support infrared transmission through built-in IR blasters:
== Testing ==
v4l-utils includes an ir-ctl utility to send and receive raw pulse/space sequences without needing the LIRC daemon. It is also able to send scancodes in specific protocols, like sending 0x1e01 encoded in the RC-5 protocol for example:
 ir-ctl -d /dev/lircX -S rc5:0x1e01
With a receiver available on the system, a sequence can be recorded as well:
 ir-ctl -d /dev/lircX -r
== LIRC Daemon ==
lircd is used to manage infrared devices in userspace. It includes several userspace drivers for legacy hardware as well as home-brew devices, and has a large remote database which it uses to match received signals, as well as to encode keys sent by clients connected to it using the client API it provides.
It also provides a set of tools, such as irrecord, which is an interactive tool used to generate configuration files for remote control units. With a receiver attached to the system, it can record scancodes from a remote control so that they can be later used either to control its original device with an IR blaster, or to use the remote control as an input device.
irsend is another tool provided by LIRC, used to send pre-configured key codes.
This sends a KEY_POWER code as defined in the Sony RMT-D115P remote configuration:
 irsend SEND_ONCE Sony_RMT-D115P KEY_POWER
== See also ==
- ir-ctl man page
LIRC on linux meson (It had alot of info about ir receiver in linux
Category:Hardware
Infrastructure

== Public services ==
* postmarketos.org: https://gitlab.postmarketos.org/postmarketOS/postmarketos.org
* build.postmarketos.org: https://gitlab.postmarketos.org/postmarketOS/build.postmarketos.org
* pkgs.postmarketos.org: https://gitlab.postmarketos.org/postmarketOS/apkbrowser
* cast.postmarketos.org: https://gitlab.postmarketos.org/postmarketOS/cast.postmarketos.org
* wiki.postmarketos.org: Mediawiki
* proxy.postmarketos.org: AGPS proxy, static html + nginx proxy config (proxy_pass)
* mirror.postmarketos.org: directory listing + rsync server
* status.postmarketos.org: https://gitlab.postmarketos.org/postmarketOS/status.postmarketos.org
* (flash.pmos.org: https://git.sr.ht/~martijnbraam/webflash)
== Team services ==
* synapse.postmarketos.org: matrix-org/synapse
* nextcloud.postmarketos.org: Nextcloud
* hedgedoc.postmarketos.org: HedgeDoc
* Mail server
== Backend services ==
* Matrix bot: https://git.sr.ht/~martijnbraam/jonathan
* mon.postmarketos.org/icingaweb2: icinga
Category:Admin
Installation

This page goes over the process of installing postmarketOS on your device.
== What to expect ==
In its current stage, postmarketOS is for Linux enthusiasts. The experience will not be as polished as running Android or iOS. Expect serious bugs like calls not working, SMS not arriving, alarm clock not working, etc. For some devices, primarily in the "testing" category, features like calls may not work at all. Do not use this on your main phone if you rely on its functionality.
It is expected that you are comfortable with using the Linux terminal. On this wiki, you may find commands prefixed with $ or #. These characters shouldn't be copied - they indicate whether that command should be run as a regular user ($), or as root (#).
For example, the following tells you to execute the command "ls" as a regular user:
$ ls
== Finding your device ==
Before you begin installing postmarketOS, make sure to read your device's wiki page. It contains a lot of useful information, such as a list of supported features and installation methods. You can find it by checking the Devices list or by using the search feature on the wiki.
If you cannot find your device on the wiki, or if it's listed as non-booting, it is likely unsupported. If you're adventurous, you can follow the Porting guide to add support for your device.
== Choosing a release channel ==
There are usually two release channels of postmarketOS available:
* stable - the stable release, based on the latest Alpine Linux version. Currently, the latest stable release is .
* edge - the rolling-release version, based on Alpine Linux's edge repositories. Gets the latest updates as soon as they hit the package repositories, and can thus be less stable. Expect breakages - see postmarketos.org/edge for more information.
If you're unsure, go with the stable release; you can switch to the edge branch later.
== Choosing an installation method ==
There are two primary methods of installing postmarketOS. You can:
- or -
Other options include:
* Installing through the postmarketOS web flasher - only available for a few devices with pre-built images, requires a browser with WebUSB support (i.e.: a Chromium-based browser).
* Installing through the recovery using Android-recovery compatible .zip - see Installation from recovery mode
* Installing through the UBports Installer (only available for a few devices in the main/community repositories) - select postmarketOS in the OS selection dropdown
== See also ==
* Dual Booting
* Upgrade to a newer postmarketOS release
* Existing Alpine installation
* Porting to a new device
Category:Guide
Installation from recovery mode

Most Android devices have a "recovery" partition, on which a second kernel and initramfs can be installed. The recovery systems installed there allow overwriting the main OS with a special zip file, and it is possible to generate such a file for postmarketOS.
== Preparation ==
* Install pmbootstrap
* Install TWRP (or another recovery system) on your phone
== Create the recovery zip image ==
Follow the pmbootstrap article to build your own image, but add --android-recovery-zip to the install action. If your device supports full disk encryption (see the FDE column in Devices), you can add the --fde argument.
$ pmbootstrap init
$ pmbootstrap install --android-recovery-zip
By default, this will install to the system partition of your Android device. If you want to install to a different partition (e.g. because your system partition is too small), use the --recovery-install-partition parameter. For example, to install to the data partition:
$ pmbootstrap install --android-recovery-zip --recovery-install-partition=data
== Sideload ==
This allows downloading the zip file on the fly directly from your computer. If you don't want to sideload, you can also copy the generated zip file to an SD card.
* Boot the recovery system
* Unmount the partitions (Click on "Mount", then deselect all checkboxes)
* Click on "Advanced / ADB Sideload", then "Swipe to start sideload"
* Connect your phone to your PC
* Start the sideloading process from your PC:
$ pmbootstrap flasher --method=adb sideload
=== Sideload without pmbootstrap ===
If sideloading with pmbootstrap fails (it was broken in ), you can do it without pmbootstrap as a workaround. Install adb on your host Linux distribution (usually in an android-tools package that you can install with your distribution's package manager), then run the following commands. The special cd is necessary, because adb can't resolve the symlink on its own.
$ pmbootstrap export
[07:48:04] NOTE: To export the rootfs image, run 'pmbootstrap install' first (without the 'sdcard' parameter).
[07:48:07] Export symlinks to: /tmp/postmarketOS-export
[07:48:07] * initramfs-lg-mako (Initramfs)
[07:48:07] * boot.img-lg-mako (Fastboot compatible boot.img file, contains initramfs and kernel)
[07:48:07] * vmlinuz-lg-mako (Linux kernel)
[07:48:07] * pmos-lg-mako.zip (Android recovery flashable zip)
[07:48:07] NOTE: chroot is still active (use 'pmbootstrap shutdown' as necessary)
[07:48:07] Done
$ cd $(dirname $(readlink /tmp/postmarketOS-export/pmos-*.zip))
$ adb sideload pmos-lg-mako.zip
loading: 'pmos-lg-mako.zip'...
connecting...
Total xfer: 1.08x
== Photos ==
File:Postmarketos-android-recovery-installer.jpeg|thumb|left|postmarketos-android-recovery-installer 1.0.1 running in TWRP on Google Nexus 4 (lg-mako) 
== See also ==
* 100 days of postmarketOS: Interoperability
* Source code for the recovery installer
* Android Recovery: general tips and tricks for postmarketOS and the recovery system
Category:Guide
Installation settings

__NOTOC__
During or right after the installation of an operating system, it makes sense to ask the user a few questions for some basic configuration. In postmarketOS, this configuration is done in pmbootstrap init. A graphical frontend for pmbootstrap will likely just ask the same questions. This document is about defining what pmbootstrap asks versus what we want to ask the user in an on-device installer.
Questions that do not make sense outside of pmbootstrap, such as the path to the work dir or the ccache size are not listed here.
Setting 	Ask in pmbootstrap	Ask in on-device installer (planned)	Notes
Keymap 	Yes 	Yes 	Only ask if deviceinfo_keymaps is set
Username 	Yes 	Yes 	
Timezone 	Yes 	Yes 	
Hostname 	Yes 	Yes (advanced) 	
Pretty Hostname 	No 	Yes (advanced) 	default to deviceinfo_name
Full disk encryption password	Yes 	Yes 	in pmbootstrap, asked during pmbootstrap install --fde
User password 	Yes 	Yes 	in pmbootstrap, asked during pmbootstrap install
=== See also ===
* Discussion that lead to this wiki page
Category:Technical Reference
Intex Aqua Q1

== Contributors ==
@VIXXKIGOLI
== Users owning this device ==
{@vixxkigoli}
== How to enter flash mode ==
Access ADB and type following command
adb reboot bootloader
Also any TWRP with sc8830 will work for this device, just port it.
== Installation ==
This device doesn't have much memory to install boot.img [128 MB] directly So, generate splitted image by following commands
pmboostrap install --split
It will create two images
1. intex-q1-boot.img
2. intex-q1-root.img
Still we will need third image to flash into boot partition.
So, search boot.img in postmarketOS's work directory.
3. boot.img
A: Flash third image to boot partition.
B: Flash second image to system/internal SD partition.
C: Flash first Image to cache partition.
Useful partitions:
/dev/block/mmcblk0p22 //internal sd
/dev/block/mmcblk0p17 //system
/dev/block/mmcblk0p18 //cache
== See also ==
* X11/xfce-4 and More Pics
* My Twitter Handle
Iwd

iwd is a newer WiFi backend for handling access point association and authentication, and is meant to replace wpa_supplicant.
Network discovery and roaming tend to be more reliable with iwd when compared to wpa_supplicant. iwd is capable of performing network scans, and can more quickly reconnect to known networks after resume. It is also capable of band steering when the same SSID is available on different frequencies, choosing the fastest frequency if signal strength is above some configurable threshold. wpa_supplicant is not capable of doing this, and popular higher level software (e.g. NetworkManager) may not be capable of doing this either.
=== Installation ===
postmarketOS will use iwd as the default WiFi backend in the future. In the meantime, this backend can be used easily in postmarketOS (as of ) in two ways:
# selecting it at the pmbootstrap init prompt and building a custom image afterwards:
$ pmbootstrap init
...
(025339) [14:19:48] Available providers for postmarketos-base-ui-wifi (2):
(025339) [14:19:48] * wpa_supplicant: Use wpa_supplicant as the WiFi backend. (default)
(025339) [14:19:48] * iwd: Use iwd as the WiFi backend (recommended, but may not work with all devices in 'testing')
[14:19:48] Provider [wpa_supplicant]: iwd
...
$ pmbootstrap install
or in an existing install by marking wpa_supplicant for removal, accepting the replacement with iwd, and rebooting:
$ sudo apk add !wpa_supplicant
The following packages will be REMOVED:
 ifupdown-ng-wifi libnl3 pcsc-lite-libs postmarketos-base-ui-wifi-wpa_supplicant
 wpa_supplicant wpa_supplicant-openrc
The following NEW packages will be installed:
 iwd iwd-openrc postmarketos-base-ui-wifi-iwd
Need to download 927 KiB of packages.
After this operation, 2580 KiB of disk space will be freed.
Do you want to continue [Y/n]? y
...
$ sudo reboot
== Also see ==
*
JingPad A1 (jingpad-a1)

== Contributors ==
* R
* Clevrpwn
== Users owning this device ==
== How to enter flash mode ==
===Recovery===
* Turn off your device;
* Press Power button and after 1 second press also “Volume Down”;
* Hold both till JingPad logo appears;
* After the JingPad logo appears, release “Power” & “Volume-”
* Welcome to Recovery!
===Fastboot Mode===
* Turn off your device
* Boot JingPad A1 into recovery mode;
* Choose “Reboot into bootloader.”
* After booting into bootloader mode, connect your device to a Linux desktop using the original USB Cable;
* Open Terminal in the SDK location, check your device is connected with:
 sudo ./fastboot devices
== Installation ==
== See also ==
* JingPad A1 ADB, Fastboot, Recovery and unlock bootloader procedure
* JingPad A1 UBPorts Page
* Android Source for JingPad A1
Just5 Freedom X1 (k06ntc a)

== Contributors ==
* cernodile
== Maintainer(s) ==
* cernodile
== Users owning this device ==
== How to enter flash mode ==
Since there are no kernel sources that work with the device, you'll have to unpack your boot image and drop in initramfs of another pmOS compatible device that has same SoC, then repack, make sure offsets are intact. Fastboot does work to same extent as TWRP recovery installation. Entering fastboot requires you to power off the device and then attempting to power it on while holding volume up. That enters you to a selection menu where you navigate using volume up button, select fastboot and then volume down to confirm.
== Installation ==
No kernel sources available. Only gets to telnet on stock ROM kernel and initramfs of a similar device. If you are brave enough, you can try using a similar device like Wiko Fever
== See also ==
* TWRP Image
* DTS extracted from 7.0 ROM
KCalc

KCalc is the default calculator for the KDE desktop environment. Even though in itself not mobile-friendly, you can apply some quirks to make it somewhat usable.
== Scaling in Phosh ==
Use Phosh's scaling command so that KCalc fits on your mobile screen. Be aware that KCalc's App-ID is org.kde.kcalc:
$ scale-to-fit org.kde.kcalc true
== Larger Buttons ==
Go to . In the section you may tweak your button & display font sizes.
Category:Apps
KTC msd6a358m2c1 (ktc-msd6a358m2c1)

== Who made it? ==
It is unknown who made it.However there are a ton of reference to ktc in the os (the name of ktc appeared in many preinstalled app's package name) thus it assumed ktc is the maker the tv.
== What is this phone==
This tv is a generic tv from china and it has been sold with many different names/variants and they are all share the same board.
==Known Variant==
This TV is also known as Philips 32PHF5664,TOPCONPro 24SM2
== Identify the tv ==
Open it up and your should see the a board look like that.
There are label on the pcb said msd6a358m2c1.
== Uart==
The uart is hidden in the vga port and that is the pin out of the rx/tx pin.(3.3V Bitrate:115200)
== Contributors ==
* exkc
== Users owning this device ==
Kernel configuration

Kernel configurations determine which features of the Linux kernel are enabled for a particular build, such as filesystems, camera, WiFi related options and a lot more. This article gives an overview of how kernel configs are managed in postmarketOS and how one can change them.
== Why do we have multiple kernel configs? ==
We would ideally run mainline Linux without any patches on all devices and only have one kernel config per device architecture. But oftentimes we need to carry a few patches for our (Close to) Mainline kernels (used for devices in main and community categories). Another reason is that in many cases want to be on a specific, known-working version before we upgrade to the next one. Furthermore devices in the testing category may just use the downstream kernel to get the device booting at all. Because of that, you will find a lot of Linux kernels when looking at the postmarketOS specific package build recipes in pmaports.git.
== Keeping kernel configs consistent ==
All kernel configs are stored inside pmaports (list them with find device -name 'config-*'). We ensure that they have specific options enabled, disabled or set to a certain value with a CI script that essentially runs pmbootstrap kconfig check. This pmbootstrap command reads our requirements from kconfigcheck.toml in the currently checked out pmaports branch and verifies that all kernels pass the requirements. See Kernel configuration/Adjusting multiple kernels for more information.
=== Future plans ===
At some point we would like to generate the kernel configs for main and community devices from fragments. Work on this has been started in (big thanks to Jenneron and everybody involved!). However this is quite the big undertaking and work has stalled. So we decided to improve and document the current process instead, which we will still need for devices in testing in any case.
== Adjusting one kernel config ==
It is recommended to change kernel config options not just for one kernel, but for all where it makes sense (typically all devices in the community or main category as explained here). However before you do that, you should first edit the one kernel you are currently using on your device to test if the change has the desired effect.
You basically need to run pmbootstrap kconfig edit followed by the name of the kernel package, see Kernel configuration/Adjusting one kernel for details.
== Subpages ==
Category: Technical Reference
Kexecboot

Kexecboot is a C program which is able to scan the partitions of given devices, offering a graphical framebuffer menu and allowing user to select from which one to boot. Specifically, kexecboot creates the command line for kexec.
Typically kexecboot resides together with kexec in a small initramfs, embedded in a custom-tailored kernel compiled with support for initramfs and kexec system call.
Both binaries are built in a static fashion, linked against klibc to optimize size. Kexecboot may be linked against other *libc (glibc, eglibc, uclibc) libraries and may be used as standalone binary as well.
Initially the program was been developed for the Sharp Zaurus PDA (armv5te). For the devices of that family of computers there is specific code that reads bootparams directly from NAND, circumventing the obsolete bootloader which is incompatible with modern 2.6.x kernels.
== See also == 
* Kexecboot - eLinux.org
* Improve Kexecboot - eLinux.org
* Recent kexecboot on an iPAQ hx4700 | The Ångström Distribution
* Kexecboot based bootloader images for droid 4
Khadas VIM3 (khadas-vim3)

== Contributors ==
* mkorpershoek
== Users owning this device ==
== How to enter flash mode ==
== Installation ==
=== Using pmbootstrap ===
Follow Installation/Using pmbootstrap. When asked for the device's vendor/codename, select khadas as the vendor and vim3 as the codename.
To flash the image to the device:
* Enter flashing mode (see #How to enter flash mode)
* Run pmbootstrap flasher flash_kernel to flash the kernel
* Run pmbootstrap flasher flash_rootfs
== See also ==
* Initial merge request
Kivy

Kivy is a useful python framework that will allow you to make full multi-touch apps quickly for your device. 
== Dependencies ==
Install the dependencies with
$ sudo apk add python3 python3-dev gcc musl-dev binutils linux-headers musl-utils py-opengl mesa-dev
Use pip install --user for the following dependencies. All of these are mandatory.
* cython===0.25.2
There's a version requirement for cython, so make sure you install this version. Could be subject to change in the future
* kivy
You will need to install PyGame as well
* download and compile from source for libjpg
Their other dependencies are sdl and can be found as APK packages
== See also ==
* Project page
* Source code
Category:Technical Reference
Klipad KL3669 (klipad-rel)

== Contributors ==
* Max1Truc
== Users owning this device ==
== How to enter flash mode ==
When the device is booted, keep pressing Volume Up and Power.
When the screen goes black, keep pressing the buttons for ~5 seconds, then release them.
Alternatively, you can run adb reboot bootloader from your PC when running Android.
== Installation ==
Currently, it is only possible to install postmarketOS directly on the device.
However, it seems the tablet could boot from an sd card.
First, install rkflashtool:
- Arch Linux / Manjaro: it is in the AUR
- Others: see rkflashtool GitHub repo
$ pmbootstrap init # Select klipad-rel device
$ pmbootstrap install
$ pmbootstrap export
$ rkflashtool w boot < /tmp/postmarketOS-export/boot.img-klipad-rel
$ rkflashtool w system < /tmp/postmarketOS-export/klipad-rel.img
== See also ==
* Initial merge request
Kobo Arc 7HD (kobo-cardhu)

Factory resetting this Android tablet results in a setup menu at boot that you cannot finish because it cannot finish the update check. 
== Contributors ==
== Users owning this device ==
== How to enter flash mode ==
== Enable USB Debugging ==
* click on random wifi network
* open keyboard
* click on settings button in the left down corner
* click on "Google Keyboard settings"
* click on "personal directories"
* click the back button in the upper left corner twice
* click seven times on the build number in the settings
* in the developer settings, enable adb
== Rooting ==
The standard Dirty CoW exploit for Android does not seem to work somehow: https://github.com/timwr/CVE-2016-5195/issues/106
This should be fixed, so we can get into APX boot mode
== Installation ==
== Notes ==
== See also ==
* Downstream kernel: https://github.com/kobolabs/Kobo-Arc7HD
* Reddit thread: https://old.reddit.com/r/kobo/comments/74ytnn/make_kobo_7_hd_great_again_detailed_instruction/
* mobileread thread: https://www.mobileread.com/forums/showthread.php?t=314807&page=4
* Kobo page: https://help.kobo.com/hc/en-us/articles/360019865014-Manually-update-your-Kobo-Arc-software
Kobo Aura (kobo-aura)

== Contributors ==
* rendeko
== Maintainer(s) ==
* rendeko
== Booting from SD card ==
Could work. Untested: http://www.mobileread.mobi/forums/showthread.php?t=289206
Or, if you have a UART available and can disassemble the device: https://github.com/neuschaefer/linux/wiki/Booting-a-Kobo-Aura-from-SD
== What does not work ==
Kernel compilation. The lowest working kernel for postmarketOS is 3.x, while the kobo-aura uses a fork of 2.6. 
== Notes ==
* Maybe possible to diff changes between official 2.6 kernel and kobo's fork, create patch, and apply to 3.x to create working kernel? Working on this
* Newer kobo devices run 4.1.15 with a device tree.
* Missing things on top of Mainline kernel for Kobo_Clara_HD_(kobo-clara):
** support for EPDC Versions < 20
** parts of devicetree
== See also ==
* Official kernel source (Linux 2.6)
* Upstream dts
* InkBox, Open-source Alpine based firmware for Kobos (not sure about Aura though)