The `msm-fb-refresher` updates the screen for msm based devices. It is
not needed for all devices, so we had some extra code in the initramfs,
that would only add it when the `deviceinfo_msm_refresher` variable was
set. However, we are able now to add files to initramfs hooks, so this
hack can be removed and simplify everything.
Changes:
* Remove `deviceinfo_msm_refresher` from all deviceinfos
* Add sanity check for it
* Move all `deviceinfo` sanity checks to an extra function
* `postmarketos-mkinitfs`: remove code for msm refresher
* `msm-fb-refresher`: add initramfs hook
Previous post install action results in loading wlan module during
sysinit. This is not possible since wlan device is only exposed after
wcnss-wlan service. This also delays ssh startup for approximately 3
minutes.
Loading wlan module should only be done on default runlevel, after
wcnss-wlan service has been started.
Also add a reference fb.modes file, although directfb applications still
doesn't work and cause the framebuffer driver to crash.
* Add nonfree_firmware subpackage to all devices, that depend on
nonfree firmware.
* Some packages were depending on `linux-firmware`, but without having
Wifi working. Removed that dependency as it was probably added by
accident. If it was really necessary, chosing the appropriate
split linux-firmware package (e.g. linux-firmware-brcm) is better
anyway (that has been changed recently in Alpine and is possible
now).
* Add a test case that makes sure we don't have firmware depends
without subpackages in device aports anymore.
* device-*: add postmarketos-base to depends
* aportgen: add postmarketos-base to depends
* Add test case
* postmarketos-base: Don't depend on devicepkg
* msm-fb-refresher: Enable service in post-install
The device is Xiaomi Redmi 1S, based on MSM8296 platform, with Qualcomm
Snapdragon 400. The kernel is from lineageOS (3.4.0). Some additional patches
are needed for successful compilation. The screen dimension is 720x1280.
The touchscreen device name is ft5x06_i2c. Use this name for udev
instead of hardcoded device path. Also add a workaround for red
screen weston by setting weston_pixman to 2
The screen doesn't refresh. Enabling msm-fb-refresher as suggested.
Add udev rule to indicate whether the device is in charging state.
Green led indicates that the device is charging, whereas red light
indicates that the device is discharging.
For prima wlan module to work, an initialization procedure is needed (
echo 1 > /dev/wcnss_wlan ), before loading the prima wlan module
(wlan.ko). Also build the prima wlan as module.
Xiaomi Redmi 1S is using pronto wlan module, which needs some firmware
to run. Add the required wifi firmware to enable the wifi interface.
Add an openrc service to load wlan module after wcnss_service is
initialized.