Hashcat clCreateContext(): CL_INVALID_DEVICE error
#1
I'm new to Hashcat and the forum, so bear with me.

I'm running The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) linux with all the updates. I have installed Nvidia drivers from The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) (not sure if installed correctly though). I've tried both The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali)'s Hashcat (3.3.0) and downloaded 3.5.0. When I try to run benchmark mode to test my setup, I get the "clCreateContext(): CL_INVALID_DEVICE"  error. I'm not sure how to fix it and Google doesn't seem to help me. This is what it displays: https://pastebin.com/u987NqXZ

Code:
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~/hashcat-3.5.0# ./hashcat64.bin -b
hashcat (v3.5.0) starting in benchmark mode...

* Device #2: This hardware has outdated CUDA compute capability (2.1).
            For modern OpenCL performance, upgrade to hardware that supports
            CUDA compute capability version 5.0 (Maxwell) or higher.
* Device #2: WARNING! Kernel exec timeout is not disabled.
            This may cause "CL_OUT_OF_RESOURCES" or related errors.
            To disable the timeout, see: https://hashcat.net/q/timeoutpatch
OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: GeForce GTX 750 Ti, 500/2000 MB allocatable, 5MCU
* Device #2: GeForce GT 630, 496/1984 MB allocatable, 2MCU

Hashtype: MD4

clCreateContext(): CL_INVALID_DEVICE

Started: Sat Apr 15 23:41:00 2017
Stopped: Sat Apr 15 23:41:02 2017

I prefer to stay on The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) if there's no workaround. Any tips?
#2
As you can see from the automatic string substitution that happens here in the forums, The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali)'s OpenCL handling is problematic. This problem is almost certainly not a problem with hashcat.

If you post the output of hashcat -I, someone may be able to help further, but there are no guarantees.
~
#3
(04-16-2017, 04:45 PM)royce Wrote: As you can see from the automatic string substitution that happens here in the forums, The-Distribution-Which-Does-Not-Handle-OpenCL-Well (The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali))'s OpenCL handling is problematic. This problem is almost certainly not a problem with hashcat.

If you post the output of hashcat -I, someone may be able to help further, but there are no guarantees.

The reason why I'm asking is because I want to verify that I am setting everything up correctly and I'm not making any user error. Here's the output for -I. https://pastebin.com/BYVWqX6M

Code:
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~/hashcat-3.5.0# ./hashcat64.bin -I
hashcat (v3.5.0) starting...

OpenCL Info:

Platform ID #1
 Vendor  : NVIDIA Corporation
 Name    : NVIDIA CUDA
 Version : OpenCL 1.2 CUDA 8.0.0

 Device ID #1
   Type           : GPU
   Vendor ID      : 32
   Vendor         : NVIDIA Corporation
   Name           : GeForce GTX 750 Ti
   Version        : OpenCL 1.2 CUDA
   Processor(s)   : 5
   Clock          : 1110
   Memory         : 500/2000 MB allocatable
   OpenCL Version : OpenCL C 1.2
   Driver Version : 375.39

 Device ID #2
   Type           : GPU
   Vendor ID      : 32
   Vendor         : NVIDIA Corporation
   Name           : GeForce GT 630
   Version        : OpenCL 1.1 CUDA
   Processor(s)   : 2
   Clock          : 1620
   Memory         : 496/1984 MB allocatable
   OpenCL Version : OpenCL C 1.1
   Driver Version : 375.39
#4
Understood. As far as use of hashcat itself is concerned, you're not doing anything wrong. 

And your driver looks current. If you're working from a clean setup as described here, you've probably done about all you can, The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali)-wise.

At first, I thought there might be value in specifying just the 750 Ti, to see if the issue goes away, but I see that 630 is still supported, so that probably won't help much. But you might try to run hashcat with '-d 1' and '-d 2' to see if the error happens for each card individually.

You might also grab some other software (like magnumripper) to see if other software works properly with your current OpenCL.
~