Intel iGPU without hwmon produces First_file_in_directory() errors
Author: AlbertVeliCreated Sep 12, 2026Updated Sep 12, 2026
Describe the issue
lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Arrow Lake-U [Intel Graphics]
./hashcat -b -m 0
First_file_in_directory() failed.
First_file_in_directory() failed.
...hashcat still works but not hwmon. As far as I can understand this is expected on integrated Intel devices. /sys/bus/pci/devices/0000:00:02.0/hwmon is missing.
Expected behavior A better behavior would be to write a warning message like: Device #1: Intel GPU hwmon interface not available. Hardware monitoring disabled.
Hardware/Compute device:
- Compute device name: Intel(R) OpenCL Graphics
- ICD loader: OpenCL ICD Loader v2.3.4
- ICD loader Profile: OpenCL 3.0
- Driver version: i915 from Linux kernel 7.0.0-31-generic, Ubuntu
Hashcat version:
- OS: 64-bit Linux Intel
- Distribution: Ubuntu 26.04.1
- Version: current master (commit 357f5a813)
Suggested solution:
--- a/src/ext_sysfs_intelgpu.c
+++ b/src/ext_sysfs_intelgpu.c
@@ -76,7 +76,21 @@ char *hm_SYSFS_INTELGPU_get_syspath_hwmon (void *hashcat_ctx, const int backend_
if (hwmonN == NULL)
{
- event_log_error (hashcat_ctx, "First_file_in_directory() failed.");
+ hwmon_ctx_t *hwmon_ctx = ((hashcat_ctx_t *) hashcat_ctx)->hwmon_ctx;
+
+ hm_attrs_t *hm_device = &hwmon_ctx->hm_device[backend_device_idx];
+
+ if ((hm_device->fanspeed_get_supported == true) || (hm_device->temperature_get_supported == true))
+ {
+ backend_ctx_t *backend_ctx = ((hashcat_ctx_t *) hashcat_ctx)->backend_ctx;
+
+ const u32 device_id = backend_ctx->devices_param[backend_device_idx].device_id;
+
+ event_log_warning (hashcat_ctx, "* Device #%u: Intel GPU hwmon interface not available. Hardware monitoring disabled.", device_id + 1);
+ }
+
+ hm_device->fanspeed_get_supported = false;
+ hm_device->temperature_get_supported = false;
hcfree (syspath);Source: hashcat/hashcat