Skip to content

Instantly share code, notes, and snippets.

@gdamjan
Created February 19, 2026 20:35
Show Gist options
  • Select an option

  • Save gdamjan/6353f1e06c512e07fdd6280fa9c9186b to your computer and use it in GitHub Desktop.

Select an option

Save gdamjan/6353f1e06c512e07fdd6280fa9c9186b to your computer and use it in GitHub Desktop.
calculate possible firmware names for intel_ish_ipc (lunar lake is hardcoded)
# see also:
# https://www.kernel.org/doc/Documentation/hid/intel-ish-hid.rst
# https://dnsense.pub/posts/9-book5-sensor-hub/
import zlib
# hardcoded to LunarLake (change this for others)
intel_plat_gen = "lnlm"
def shorthex(b):
return hex(b)[2:]
with open("/sys/class/dmi/id/sys_vendor", "rb") as fp:
vendor = fp.read().strip()
vendor_crc = zlib.crc32(vendor)
with open("/sys/class/dmi/id/product_name", "rb") as fp:
product_name = fp.read().strip()
product_name_crc = zlib.crc32(product_name)
with open("/sys/class/dmi/id/product_sku", "rb") as fp:
product_sku = fp.read().strip()
product_sku_crc = zlib.crc32(product_sku)
print(f"intel/ish/ish_{intel_plat_gen}_{shorthex(vendor_crc)}_{shorthex(product_name_crc)}_{shorthex(product_sku_crc)}.bin")
print(f"intel/ish/ish_{intel_plat_gen}_{shorthex(vendor_crc)}_{shorthex(product_name_crc)}.bin")
print(f"intel/ish/ish_{intel_plat_gen}_{shorthex(vendor_crc)}_{shorthex(product_sku_crc)}.bin")
print(f"intel/ish/ish_{intel_plat_gen}_{shorthex(vendor_crc)}.bin")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment