linux-surface/firmware/intel/ipts
2019-12-28 22:57:43 +01: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 links due to repo move 2019-12-28 22:57:43 +01: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/linux-surface/kernel/wiki/IPTS-Firmware#bogus-hid-descriptor-for-surface-laptops-mshw0079.