linux-surface/firmware/intel/ipts
Maximilian Luz a6c6b97da2
Drop original firmware for MSHW0079
The patched firmware seems to work as intended. As it is a direct
replacement and should not cause any further issues, we can drop the
backup of the original firmware. In case any unforseen issues arise, we
can always get it from the official driver/firmware packages again.

See: https://github.com/jakeday/linux-surface/issues/574
2019-10-03 12:19:16 +02:00
..
MSHW0076 Seperate firmware and configs 2019-09-28 03:26:32 +02:00
MSHW0078 Seperate firmware and configs 2019-09-28 03:26:32 +02:00
MSHW0079 Drop original firmware for MSHW0079 2019-10-03 12:19:16 +02:00
MSHW0101 Seperate firmware and configs 2019-09-28 03:26:32 +02:00
MSHW0102 Seperate firmware and configs 2019-09-28 03:26:32 +02:00
MSHW0103 Seperate firmware and configs 2019-09-28 03:26:32 +02:00
MSHW0137 Seperate firmware and configs 2019-09-28 03:26:32 +02:00
README.md Update firmware README for patched HID descriptor 2019-10-02 16:54:11 +02:00

IPTS driver firmware

This is the driver firmware required for the intel_ipts module. It was extracted from the SurfaceBook2_Win10_18362_1904009_0 firmware bundle for Windows.

Filenames

  • SurfaceTouchServicingKernel*.bin -> vendor_kernel.bin
  • SurfaceTouchServicingSFTConfig*.bin -> config.bin
  • SurfaceTouchServicingDescriptor*.bin -> vendor_desc.bin
  • iaPreciseTouchDescriptor.bin -> intel_desc.bin (the same for all models)
  • ipts_fw_config.bin (custom, the same for all models; 63a8944729)

HID descriptor

The HID descriptor for IPTS devices consists of intel_desc.bin and vendor_desc.bin concatinated together by the driver. The result can be decompiled by various tools found on the internet:

$ cat intel_desc.bin vendor_desc.bin > hid_desc.bin

Quirks

The touchscreen contact count descriptor is incorrectly declared as being reported four times on the Surface Laptops (both 1 and 2, vendor_desc.bin in MSHW0079). It is actually reported one time followed by three padding bytes. The descriptor has been patched accordingly.

For more details, see https://github.com/qzed/linux-surface-kernel/wiki/IPTS-Firmware#bogus-hid-descriptor-for-surface-laptops-mshw0079.