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.
~