samsung-serranovelte runs Linux mainline (linux-postmarketos-qcom-msm8916)
with support for:
- Display
- Touchscreen
- Sound
- GPIO keys
- NFC
- Vibrator
- IMU (Accelerometer + Gyroscope)
- Battery
The primary limitation of samsung-serranovelte is that it can only run
ARMv7 (32-bit) binaries, even though its hardware (MSM8916) is 64-bit
capable. This is because it was never updated with 64-bit compatible
firmware (usually introduced together with the Android 5.0 update).
[ci:skip-vercheck]: only added new architectures
The post-install depends on the -openrc files being present, and if the
dependency isn't explicitly specified then the device-* package may be
installed before the -openrc package, causing the post-install to fail.
Both sway and phosh require hardware acceleration (DRM) to work. Let's
activate that when we request one of them. Also don't let them fail
during startup on inputless setups (which is common on a raspberry pi).
Phosh is too slow to be unsable, but now, it'll at least be unusable out
of the box ;-)
Without this MR, elogind, and therefore weston will not start as it will
complain about cgroup mess:
[ 21.387150] elogind-daemon[1538]: Failed to determine whether /sys/fs/cgroup is a mount point: Symbolic link loop
[ 21.388341] elogind-daemon[1538]: Failed to mount cgroup at /sys/fs/cgroup/elogind: No such file or directory
Fix by applying this patch, thanks minlexx for pointing me to it! This
might possibly also be applicable to other kernel 3.4-based ports.
[ci:skip-build]: already built successfully in CI
This provides alsa usecase profiles for the audio routing in the
pinephone, pulseaudio also picks up this config.
[ci:skip-build]: already built successfully in CI
Remove all firmware-support dependencies from the firmware package and
add them to -downstream-firmware and -mainline-firmware packages which
have an install_if on the downstream or mainline kernel subpackage.
[ci:skip-build]: already built successfully in CI
Stock Android on PineTab is detected as 1f3a:1007.
Use those values as USB idVendor and idProduct on
postmarketOS, too.
idVendor 1f3a is "Allwinner Technology Co., Ltd."
idProduct 1007 is unknown to databases.
device/device-asus-me176c:
- Install me176c-factory to apply correct MAC addresses for
WiFi and BT
- Use FAT32 for boot partition. This allows flashing the boot
partition directly as ESP (EFI System Partition).
- Overall cleanup
device/linux-asus-me176c:
- Update kernel fork to 4.19.80
- Cleanup APKBUILD
- Stop building patched ACPI DSDT table directly into kernel
firmware/firmware-asus-me176c:
- Package WiFi firmware
firmware/firmware-asus-me176c-acpi:
- New package for the patched ACPI DSDT table
-> Separate from firmware-asus-me176c because it is always required,
(not optional)
[ci:skip-build]: runs into timeout
The modem boots up properly without causing any problems, so let's
install the firmware and support packages by default.
Also install adsp-audio now by default to boot up the adsp for audio and
other services provided by the processor.
[ci:skip-build]: already built successfully in CI
The initramfs needs ext4 (to mount the rootfs) and usb_f_rndis
(to enable USB networking on devices that use USB configfs).
If these are built as modules, they need to be included in initramfs.
[ci:skip-build]: already built successfully in CI
We have linux-postmarketos-qcom and linux-postmarketos-qcom-msm8916 now,
which is quite confusing. linux-postmarketos-qcom was originally added
for MSM8974 devices (e.g. Nexus 5) and its patches on top of mainline
are therefore quite focused on MSM8974.
linux-postmarketos-qcom-msm8916 on the other hand, has patches specific
to MSM8916. The two packages do not have any patch in common, therefore
merging the two would only cause signficiant overhead to coordinate
testing for devices of the two SoCs.
Therefore, it is better to keep them separate.
To avoid confusion, rename linux-postmarketos-qcom to
linux-postmarketos-qcom-msm8974 to make it clear that it is really
a close-to-mainline kernel for MSM8974 devices.
[ci:skip-build]: already built successfully in CI
The sparse image tools (img2simg, simg2img, append2simg) are now
part of Alpine's android-tools package where they are continously
updated. (See https://github.com/nmeum/android-tools/pull/8)
Remove "libsparse" as depends from all packages because it is either:
- installed automatically by pmbootstrap when needed for
deviceinfo_flash_sparse="true"
(device-chuwi-hi10plus, device-htc-flounder, device-lg-bullhead,
device-semc-anzu, device-xiaomi-kenzo)
- seemingly unused(?)
(device-asus-z00t, linux-motorola-falcon, linux-motorola-peregrine)
[ci:skip-build]: already built successfully in CI
in Librem 5 devkit, card0 is coming from etnaviv and is not usable for
kms/drm. So force usage of card1 for kwin_wayland.
[ci:skip-build]: won't finish in time
This simplifies the uboot script and updates it to use correct address
offsets for kernel, ramdisk and fdt. Appending the dtb to the kernel is
no longer necessary. This also changes the dtb to the one used on
PureOS.
linux-samsung-apexq/APKBUILD updated with newer kernel commit
sha from d2 repo, and now builds and packages modules into the
rootfs in /lib/modules/. prima wifi module not yet working.
The subpackage depends on the "kernel-scripts" package, which has been
removed from pmaports.git. Therefore the -dev package could not be
installed, and our CI check of the binary repo noticed this and was
failing.
Related: https://gitlab.com/postmarketOS/pmaports/merge_requests/329
Make the renamed pine packages build again, by giving their post-install
files the new pkgname.
(So much for trivial package renames, needs better testing next time :p)
* Added display in final pinephone to the kernel
* Added getty
* Use RGB led to signify booting status in u-boot
* Enable CONFIG_GPIO_SYSFS
[ci:skip-build]: won't finish in time
Changes in the kernel defconfig:
- disable ANDROID_PARANOID_NETWORK (removes network restrictions)
- enable CONFIG_USB_G_ANDROID and CONFIG_DIAG_CHAR (for USB networking)
- enable DEVTMPFS (needed for udev -> touch support in weston)
- enable FB_MSM_DEFAULT_DEPTH_RGB565 (for 16-bit support to avoid red
screen)
- enable SYSVIPC (so busybox' syslogd can log to a ringbuffer in the
kernel)
- enable VT (for virtual terminal over USB)
[ci:skip-build]: already built successfully in CI
Insert missing space into the depends line, so it reads "gmp-dev bash"
instead of "gmp-devbash". This did not cause a build failure, but made
the upstream compat CI check fail after the binary package had been
built and uploaded. It would also cause an error if one tried to install
the package. The CI check will pass once the fixed package is built and
uploaded.
[ci:skip-build]
* add dev-package
* modularize some kernel drivers
* modernize Makefile to silence some warnings
* fix various warnings
* add some CVE patches
[ci:skip-build]: already built successfully in CI
This rebases the Pixel 3 XL patches on top of Linux 5.3-rc5.
Also enabled more kernel modules related to modem, and applied
Bjorn Andersson's patch for resetting the UFS memory.
See
https://gitlab.com/postmarketOS/pmaports/issues/153
for more information.
[ci:skip-build] because kernel takes more than one hour to build
Some Samsung muic's have debug possibility, but seems kernel config
option for that was deleted. Muic debug can be useful for attaching UART
cable to phone.
[ci:skip-build]: already built successfully in CI
Firmware for Exynos 7880 SOC from https://github.com/TheMuppets
It is needed to enable wifi, and possibly other hardware. All of firmware found on Muppets has been packaged.
Also contains wlan module configuration.
Use deviceinfo_framebuffer_landscape during splash screen generation.
Also add the postmarketos-splash arguments variable to the computation
of the hash for the cache.
Adjust device-pine-pinetab to use the new variable, and therefore rotate
its splash screen.
[ci:skip-build]: already built successfully in CI
- rename 'ch-de' keymap to 'ch' as in X keyboard config file
- add PMOS_NO_OUTPUT_REDIRECT to kernel cmdline (fixes debug-shell)
- add all keymap files in initramfs
- load default us keymap in initramfs
Also fix a few spaces->tabs issues while we're at it.
Should result in the exact same commit being download as before, the
checksum is different because GitHub puts the commit instead of the
branch name into the archive.
[ci:skip-build]: already built successfully in CI
[ci:skip-vercheck]
- OTG support
- Charger
- WiFi 5GHz
- RTC bug "fixed" (always-on interrupt - made device overheat!)
- Kernel version bumped to 5.2.1
- Memory timings
- New WM8994 codec board driver (fixes suspend/resume)
- Camera's regulator supported now (saves power at least!)
- Updated panel driver (still not in mainline, idk why)
- MHL support in kernel (fixes boot times and screen, currently disabled in X,
not tested)
- Other minor kernel chagnes
[ci:skip-build]: already built successfully in CI
The wallpaper has been broken, since we intentionally removed the N900
specific wallpaper from the postmarketos-wallpapers package. Just use
the default wallpaper, and tell feh to scale it nicely.
Initial support for Wileyfox Swift
- System boots
- USB networking works
- Display and touch works
- Weston, XFCE4, Plasma Mobile works with software rendering
- fb.modes added but charging-sdl still don't work
- System allways reports charge level at zero
[ci:skip-build]: already built successfully in CI
This brings in several patches needed to add support for a
memfd_create() syscall into kernel version 3.4 from kernel
version 3.17. This is required for running lxc >= 3.1.0-r1
with security patch that fixes CVE-2019-5736.
In short, security issue was: in a privileged container root
process could overwrite lxc-start executable by opening its
file descriptor and rewriting executable contents. This is
where memfd comes to help: you can create an in-memory file,
copy your executable there, and place a set of SEALS to protect
it from modifying at a deep level. Then you fexecve() that fd
and you're safe.
For example, pulseaudio also can benefit from having
memfd_create() implemented.
This backports the following commits from upstream linux:
- dd37978c50bc8b354e5c4633f69387f16572fdac: cache the value
of file_inode() in struct file
commit from linux-3.10 to have an f_inode member inside
struct file and a helper function file_inode() that is
used in some of the following commits
- 40e041a2c858b3caefc757e26cb85bfceae5062b shm: add sealing API
from 3.17: security measure called SEALS, that you can put
on memfd file to restrict operations on it
- 9183df25fe7b194563db3fec6dc3202a5855839c shm: add memfd_create()
syscall
also from 3.17
- 503e6636b6f96056210062be703356f4253b6db9 asm-generic: add
memfd_create system call to unistd.h
- e57e41931134e09fc6c03c8d4eb19d516cc6e59b ARM: wire up
memfd_create syscall
The last two are needed to make the syscall visible/usable from
userspace, one in generic context, other for ARM arch.
The test program (https://github.com/minlexx/test_memfd/) was
written to verify that this works.
[ci:skip-build]: already built successfully in CI
Let all remaining devices that depend on mesa-dri-freedreno use the new
mesa-freedreno package.
[ci:skip-build]: won't finish in time. I'm verifying that the whole
merge request builds before merging.
Use the new mesa-freedreno package. Configure inittab to start a
terminal on ttyMSM0 (serial). Remove fbdev from xorg.conf and set
SWCursor on.
Based on patches from Brian Masney.
[ci:skip-build]: will not finish in time. I've built linux-asus-me176c
and it builds fine. I'm assuming that
linux-teclast-x80pro will also build, since it is
pretty much the vanilla kernel.
Boots succsfully, SSH over USB works fine, display and touch screen
works fine. WiFi is also confirmed to be working.
[ci:skip-build]: already built successfully in CI
This adds a seperate dts for the longts version of the devkit (which was
the un-inverted version before) and adds a shortts version which was
inverted before, but didn't exist in pmaports yet because I manually
edited the dts for every release.
This MR abuses the kernel switching feature to switch the dtb instead so
shortts/longts can be selected in the init step.
[ci:skip-build]: build won't finish in time
16 bit color mode is needed for Xorg to work properly, udev rules are
removed due to crashes and hangs.
[ci:skip-build]: already built successfully in CI
I've upgraded the kernel to 5.1.7 stable for this tablet, boots and
working perfectly fine.
I have also added support for initramfs touch screen using mainline
silead and as well as optimized the kernel configuration a little bit,
it should now compile faster on ollieparanoid's computer (where the
official binary packages are currently built).
[ci:skip-build]: won't finish in time on CI
Signed-off-by: Danct12 <danct12@disroot.org>
Lots of device-specific configurations:
* android mount points and mounts
* android groups and users (needed for udev rules)
* android udev rules for platform devices (needed for android services to run)
* NetworkManager device-specific config
* wpa_supplicant device-specific config
* device-specific openrc service for late initcalls to bring up Wi-Fi hardware
* extra helper scripts to call logcat, set backlight brightness,
get battery status, unlock kde screenlocker session
* use kernel cmdline from downstream android to keep it as close to
android as possible. Important for android in lxc container later
We don't need to append the dtb to the kernel image in all cases, with
e.g. the u-boot bootloader we can load the dtb seperately from the
kernel image. Introduce a new variable deviceinfo_append_dtb, if set to
"true", append the dtb, otherwise just copy the dtb file to the boot
partition.
Fixes#260
[ci:ignore-count]
1. Set deviceinfo_flash_offset_base to 0x00000000.
2. Enable deviceinfo_bootimg_qcdt, and make dt.img for it.
Directly use zImage instead of zImage-dtb for smaller boot.img size.
3. Reduce kernel size by disable xz, lzma and bz2 compressing.
4. Update kernel to the last version in LineageOS repository.
Please note that it is ONLY TESTED on XT1079 "thea", aka Moto G 2014 LTE.
However, "thea" and "titan" are nearly identical, sharing same kernel
and defconfig on LineageOS, etc.
[ci:skip-build]: already built successfully in CI
Nokia only provides .zip files without any git history, so I had to
download the kernel git repo for 3.18.79 and then apply all downstream
changes as one singular commit to preserve at least some of the history.
My previous PC had big problems with creating patch files for symlinks
so I added some commits that should have been in patchfiles instead.
This merge request fixes that, leaving in repo just 3.18.79+downstream
patches and all my patches as patchfiles inside aports.
[ci:skip-build]: already built successfully in CI
- main: postmarketos-mkinitfs: Add /run
Create the /run directory in the initramfs so that cryptsetup doesn't
crash on not being able to create /run/cryptsetup for lockfiles
- device: pine-dontbeevil: Remove workaround for touchscreen
- main: linux-postmarketos-allwinner: Implemented supplies for touchscreen
This uses a slightly newer commit from the kernel repo that implements
requesting a regulator in the touchscreen driver
- device: pine-dontbeevil: Remove ethernet from initramfs
This actually makes debugging more complicated since networkmanager wont
touch the ethernet adapter afterwards and the initramfs can be debugged
over uart
- temp/u-boot: sync APKBUILD with upstream and update to 2019.04
- main: linux-postmarketos-allwinner: Use 20190521 git version
This port uses the Android bootloader (kernelflinger) instead of
Gummiboot or rEFInd,... just in case if people still want to easily
reflash Android later without going through some DNX Fastboot, Intel
Flash Tool blah blah.
Chuwi violates GPLv2 by not releasing the kernel sources of Android to
the public. This port uses Linux mainline (5.1-rc7), and almost
everything works properly, so thankfully we don't have to use the 3.10
kernel which is outdated and EOL.
[ci:skip-build]: kernel takes more than an hour to compile on CI.
ollieparanoid made sure that everything builds.
Make the display work, set virtual_size and add
msm-fb-refresher and 0001-fix-video-argb-setting.patch.
[ci:skip-build]: already built successfully in CI
Fix missing symlink for the first driver in mv_dri() (caused by "shift"
at the wrong position). Build freedreno for arm only, not for all
arches.
Lima is for rendering and sun4i-drm (part of kmsro) for the display, so
split it into its own subpackage and use it in device-pine-*.
[ci:skip-build]: ollieparanoid made sure, that this builds. This won't
finish in time in CI.
temp/mesa: enable mesa-dri-lima subpackage
temp/mesa: add a fix for Wayland on Lima
temp/mesa-purism-gc7000: update to latest Git and try to resolve conflicts with mesa
temp/mesa: switch version to 19.1.0-rc1
device/device-pine-a64lts: add mesa and mesa-dri-lima to depends
device/device-pine-dontbeevil: add mesa to depends
device/device-purism-librem5dev: remove now defunct mesa-purism-gc7000-dri-imx from depends
temp/mesa*: re-add X11 support
temp/mesa-purism-gc7000: fix build error which for some reason didn't cause problems earlier
temp/mesa*: fix X11 DRI symlinks
This is the beginning of a port to the the LG devices with the codename
vee7e, the one i have is the LG-P710 but according to the xda forum
there are some others, so if someone could test those that would be
nice.
I have not done any work besides making the kernel build and checking if
it boots so there still are some rather obvious issues but it boots and
has working USB-networking as well as a partially working screen and
touchscreen.
[ci:skip-build]: already built successfully in CI
device is very similar to samsung-gts210vewifi (SM-T813),
just has additional LTE modem.
Have to use gcc6 for kernel compilation, otherwise get
'Unhandled fault: alignment fault (0x96000061) at 0xffffff8001787f4c'
errors on kernel startup, and device always reboots.
[ci:skip-build]: already built successfully in CI
* Add support for osk-sdl
* Use latest commit from bitrvmpd
* Add udev rules, scripts for charging led
* Add (hacky) udev rule for jack detection
* Add pulseaudio files
* Silence substream kernel messages
* Change charging script path
* Move adsp-audio dependency to firmware to avoid watchdog
[ci:skip-build]: already built successfully in CI
Install msm-fb-refresher, it's needed for the screen to refresh.
Update the kernel to a new commit with several patches applied to fix
the touchscreen - before it wasn't working properly.
Switch architecture from armhf to armv7.
[ci:skip-build]: already built successfully in CI
This rebases the Pixel 3 XL patches on top of current
linux master branch (5.1-rc7 + a few more commits since then)
Also enabled KASLR in the defconfig.
[ci:skip-build]: this kernel takes more than one hour to build.
The phone boots postmarketOS and shows logo.
USB networking and flashing via fastboot works.
Display is currently broken but I will try to fix it soon.
[ci:skip-build]: already built successfully in CI
* Moved more PinePhone related kernel stuff to the upstream
* Added cma=256M so the CSI subsystem doesn't throw out-of-memory errors
when capturing at higher than 1280x720 resolutions (but it still hangs)
* Removed a lot of modules that get compiled for DVB tuners after
enableing the camera stuff.
[ci:skip-build]: doesn't finish in time
* Inverted the X-axis on the touchscreen
* Enabled the driver for the wifi/bluetooth chip and added it to the dts
* Added a horrible hack for making the touchscreen work
This also decreases the kernel version because the previous version I've
used was technically incorrect.
[ci:skip-build]: doesn't finish in time
device-xiaomi-santoni:
* Added initial audio support (generated by xml2ucm)
* Fixed splash screen size (720x1280), which also fixes the screen
showing "posma"
firmware-xiaomi-santoni:
* Firmware files are added (contains ADSP and WCNSS firmwares), these
* files are from Developer ROM 03/29 by Xiaomi.
linux-xiaomi-santoni:
* Kernel updated to 3.18.138.
* Modernized GCC, it'll now compile with the latest GCC from Alpine.
[ci:skip-build]: already built successfully in CI
This package was a workaround for out-of-tree modules (wireguard). We
have dropped the wireguard kernel module package already, and since
kernel-scripts is failing to build now (it would need to be updated),
let's drop it as well.
If somebody wants to bring back *and maintain* the wireguard
out-of-tree kernel module, I've documented how we had done it here:
https://wiki.postmarketos.org/wiki/Out-of-tree_kernel_modules
[ci:skip-build]: building the kernels that have been adjusted to drop
kernel-scripts related code would take too long for CI,
but I'm making sure that everything still builds before
merging.
* fix patch file names and reorder them properly
* add patch to fix framebuffer memory allocation
* add patch to fix compile warning for iptables plugin xt_connbytes
* add patch to properly assign MAC address for USB RNDIS
* add backport patch from upstream about O_PATH file descriptors
[ci:skip-build]: already went through successfully in CI
@drebrez originally based klte port on lineage-16.0 branch (Android 9),
but we need compatibility with Android 7.1, so use lineage-14.1 branch.
Also tidy up downstream kernel config a little bit (pass it through
pmbootstrap kconfig edit, change nothing, exit with saving).
* Created seperate DTB for the devkit named sun50i-a64-dontbeevil.dts so
it can easily be edited and the diff remains readable in gitlab
* Added patch to build the new dtb
* Added the ST LIS3MDL to the new dtb (Magnetometer)
* Added the SensorTek STK3335 to the new dtb (Proximity and ambient
light sensor)
* InvenSense MPU-6050 to the new dtb (Accelerometer and gyroscope)
* Added CSI bus and OV5640 camera
Remaining issues:
* The STK3310 module doesn't load automatically
* Camera doesn't want to capture but does show up as /dev/video0
[ci:skip-build]: doesn't finish in time
This patches the path that the kernel tries to load the Wifi chip's
firmware from. If someone with an Galaxy S7 Edge would test this -
although I have no reason to believe that it would not work on the Edge
- then this patch could also be applied to the linux-samsung-hero2lte
package.
[ci:skip-build]: already built successfully in CI
With this patch the power button (the one you use to turn it on)
suspends the device. This should allow to save more energy with respect
to just turning the screen off (slider button).
I tested myself on Nokia N900.
[ci:skip-build]: already built successfully in CI
This is basically just the packages for the Galaxy S7 Edge (hero2lte).
I only needed to change a few Kernel config options, so that the
colors are displayed correctly. The options regarding
CONFIG_PANEL_S6E3HF4_WQHD and CONFIG_PANEL_S6E3HA3_DYNAMIC probably
solve this issue, but I modified the other options as well. I got the
differences by diffing:
arch/arm64/configs/exynos8890-{hero2lte,herolte}_defconfig
Booting, USB networking and the display work! I can't say anything about
flashing via heimdall as this tool scares me. Following what WilliamO7
wrote on the device page, I flashed it by sideloading the android
recovery zip.
[ci:skip-build]: already built successfully in CI
UART and SSH work and HDMI works in u-boot (just like the pine-a64lts).
It should work now with display and xorg/weston works directly after
installing. Plasma mobile doesn't work directly because both kms and
fbdev are enabled and kms doesn't work yet.
linux-postmarketos-allwinner: update to 5.0.0-rc3 with patches for this
devkit, tested on this device and on pinea64lts (the only other device
using the allwinner kernel).
[ci:skip-build]: won't finish in time
usb networking works
echo 100 > /sys/devices/platform/msm_fb.590593/leds/lcd-backlight/brightness
cat /sys/devices/virtual/graphics/fb0/modes > /sys/devices/virtual/graphics/fb0/mode
to get screen working
[ci:skip-build]: already built successfully in CI
This device is x86_64 and has a 32-bit UEFI, so I need to install
32-bit grub (AFAIK it's the only bootloader capable of loading a 64-bit
kernel from 32-bit).
The grub-efi-x86 package has been generated with pmbootstrap.
The problem behind swapped red and blue is inverted byte order in
framebuffer driver pixel format.
This patch sets the correct byte order in the framebuffer driver,
solving the swapped red and blue problem.
[ci:skip-build]: already built successfully in CI
Initial starting point to get the device booting. The downstream kernel
repository can be improved, see discussion in the merge request.
[ci:skip-build]: already built successfully in CI
device-xiaomi-santoni: use mdss-fb-init-hack to refresh the display, and
swapfile to fix "out of memory" when loading proprietary blobs.
I have tested the kernel, USB Networking, Display, USB OTG, Wi-Fi (with
proprietary blobs) works fine, through I haven't figured out how to get
Bluetooth and among of other stuff to work. Audio works. For more
information on how to get Wi-Fi and Audio to work, check out the wiki
page for this device, I have updated it.
[ci:skip-build]: already built successfully in CI
The problem behind swapped red and blue is inverted byte order in
framebuffer driver pixel format.
This patch sets the correct byte order in the framebuffer driver.
The previous workaround patch is removed because it fixes improperly
the red-screen issue, causing the swapped red and blue problem
that this commit solves
[ci:skip-build]: already built successfully in CI
- Initial memory frequency scaling driver
- Enable eMMC 1.8v DDR signaling mode
- Limit CPU frequency to avoid overheating
- Fix crash in xf86-video-opentegra driver
[ci:skip-build]: already built successfully in CI
Also hardcode st instead of i3-sensible-terminal, because the font
parameter may not work with all terminals, and we want to use st on the
n900 anyway.
Rename the firmware so it's clear that it's specific to the platform and
not only the amami device. Sony rhine platform includes as follows:
Xperia Z1 (honami)
Xperia Z1 Compact (amami)
Xperia Z Ultra (togari)
This changes the librem5dev package to depend on the new
mesa-purism-gc7000 packages, which provide support for the vivante
gc7000 GPU in this device.
[ci:skip-build]: already built successfully
Makes dhcp work on mainline and downstream kernel.
Disables p2p0 on downstream kernel. This isn't working on either kernel
anyways. It breaks wifi on the downstream kernel.