Infared Reciever w/ Alpine on the Bulldozer Datto

Revision as of 18:54, 18 March 2026 by 209.87.206.13 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Had some issues with the bootloader after installing alpine originally, ended up using ventoy's "Local Boot" option to get into my alpine install and then manually installed grub using: grub-install


Now we need to get wifi working: [1]

vim /etc/apk/repositories and uncomment the community repo

We'll be needing these packages:

apk add networkmanager networkmanager-wifi wpa_supplicant networkmanager-tui networkmanager-cli

Networkmanager needs udev to work for wifi:

setup-devd udev


Getting infared working:

Looks like alpine has some infared tools in a package called:

v4l-utils and ir_keytable

ir-ctl -d /dev/lirc0 -r

running this gets me data when i click ir buttons on some remotes



Figured out LIRC, on alpine the config is in /usr/etc/lirc/

first we need to install it:

apk install lirc

lirc_options.conf:

 # These are the default options to lircd, if installed as
 # /etc/lirc/lirc_options.conf. See the lircd(8) and lircmd(8)
 # manpages for info on the different options.
 #
 # Some tools including mode2 and irw uses values such as
 # driver, device, plugindir and loglevel as fallback values
 # in not defined elsewhere.
 [lircd]
 nodaemon        = True
 driver          = default
 device          = auto
 output          = /var/run/lirc/lircd
 pidfile         = /var/run/lirc/lircd.pid
 plugindir       = /usr/lib/lirc/plugins
 permission      = 666
 allow-simulate  = No
 repeat-max      = 600
 #effective-user =
 #listen         = [address:]port
 #connect        = host[:port]
 #loglevel       = 6
 #release        = true
 #release_suffix = _EVUP
 #logfile        = ...
 #driver-options = ...
 [lircmd]
 uinput          = False
 nodaemon        = False
 # [modinit]
 # code = /usr/sbin/modprobe lirc_serial
 # code1 = /usr/bin/setfacl -m g:lirc:rw /dev/uinput
 # code2 = ...
 # [lircd-uinput]
 # add-release-events = False
 # release-timeout    = 200
 # release-suffix     = _EVUP

Make a folder called lircd.conf.d, place this file inside: https://kirbfeels.luccapirovano.com/library/ArchivalPurposes/wiki-files/infared%20project/BN59-01175B.lircd.conf

(you can get additional remote configs here)

lirc will detect the file automatically when it is opened

Now we need to run lirc daemon: lircd

below is a script that will allow you to execute bash commands based on remote presses, taking advantage of irw's output:

#!/bin/bash
irw |
while 
 read;
 do
  if echo "$REPLY" | fgrep "01 KEY_0"; then echo "this is button 0"; fi
  if echo "$REPLY" | fgrep "01 KEY_1"; then echo "this is button 1"; fi
  if echo "$REPLY" | fgrep "01 KEY_2"; then echo "this is button 2"; fi
  if echo "$REPLY" | fgrep "00 KEY_3"; then echo "this is button 3"; fi
 done