Skip to content

Update linux-samsung-p4wifi to kernel 4.16

postmarketOS Bot requested to merge Decatf:device-p4wifi into master

Created by: Decatf

Notable changes to the p4wifi kernel:

  1. Use mainline Broadcom Bluetooth HCI serial driver. Bleeding edge changes in mainline makes BT possible. The current BT stack has moved firmware loading from userspace into the kernel driver. I made a mistake with the firmware paths and it turned out the BT device works without the firmware being loaded. It does not work if the firmware that was pulled from stock ROM is loaded. It is strange but the only thing I can think of is that maybe the bootloader loads firmware. The Samsung bootloader is closed source and locked so we'll never know what's under there.

  2. Use mainline Atmel maxtouch driver. It also works without loading the firmware. What the heck.

  3. Use mainline STMPE811 driver. The STMPEXXXX series of multi-purpose controller chips has a MFD driver in mainline. The p4wifi only uses the ADC functionality which doesn't exist in mainline. I've used the STMPE framework and added a block that provides ADC function.

With these changes I've dropped the forward port driver counterparts and cleaned up the kernel git history a bit.

Most notable from all this is that bluetooth works. I've packaged Blueman a GTK bluetooth manager. The device is able to pair and transfer files to/from my laptop. Is it worth adding Blueman to pmOS? Only one hurdle is that Blueman depends on libnotify to provide gobject introspection binding for Python but libnotify in Alpine isn't compiled with the introspection files.

Merge request reports