macOS, eGPU detected but cannot be used.
#1
hashcrack 6.2.5, I've tried installing it with homebrew as well as compiling it from source; same issue.

Mac is a MacBook Pro 13" 2017, connected to a Razer Core (X?) via Thunderbolt. Inside it is an AMD Vega 64.




Code:
~/Downloads/hashcat-6.2.5  $ hashcat -I
hashcat (v6.2.5) starting in backend information mode

OpenCL Info:
============

OpenCL Platform ID #1
  Vendor..: Apple
  Name....: Apple
  Version.: OpenCL 1.2 (Aug 11 2021 00:46:43)

  Backend Device ID #1
    Type...........: CPU
    Vendor.ID......: 8
    Vendor.........: Intel
    Name...........: Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
    Version........: OpenCL 1.2
    Processor(s)...: 4
    Clock..........: 3100
    Memory.Total...: 16384 MB (limited to 2048 MB allocatable in one block)
    Memory.Free....: 8160 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.1

  Backend Device ID #2
    Type...........: GPU
    Vendor.ID......: 8
    Vendor.........: Intel Inc.
    Name...........: Intel(R) Iris(TM) Plus Graphics 650
    Version........: OpenCL 1.2
    Processor(s)...: 48
    Clock..........: 1050
    Memory.Total...: 1536 MB (limited to 192 MB allocatable in one block)
    Memory.Free....: 704 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.2(Feb 16 2022 20:39:05)

  Backend Device ID #3
    Type...........: GPU
    Vendor.ID......: 1
    Vendor.........: AMD
    Name...........: AMD Radeon RX Vega 64 Compute Engine
    Version........: OpenCL 1.2
    Processor(s)...: 56
    Clock..........: 1630
    Memory.Total...: 8176 MB (limited to 2044 MB allocatable in one block)
    Memory.Free....: 8064 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.2 (Feb 16 2022 20:32:57)





Commands always fail with the same error:




Code:
$ hashcat -d 3 -m 1000 -b



hashcat (v6.2.5) starting in benchmark mode



Benchmarking uses hand-optimized kernel code by default.

You can use it in your cracking session by setting the -O option.

Note: Using optimized kernel code limits the maximum supported password length.

To disable the optimized kernel code in benchmark mode, use the -w option.



No devices found/left.



Started: Sat Apr  9 20:10:15 2022

Stopped: Sat Apr  9 20:10:15 2022



I've tried -D as well, same error. Also, this happens with device #2 as well.

Any insight is appreciated.
Reply
#2
(04-10-2022, 05:13 AM)machone Wrote: hashcrack 6.2.5, I've tried installing it with homebrew as well as compiling it from source; same issue.

Mac is a MacBook Pro 13" 2017, connected to a Razer Core (X?) via Thunderbolt. Inside it is an AMD Vega 64.




Code:
~/Downloads/hashcat-6.2.5  $ hashcat -I
hashcat (v6.2.5) starting in backend information mode

OpenCL Info:
============

OpenCL Platform ID #1
  Vendor..: Apple
  Name....: Apple
  Version.: OpenCL 1.2 (Aug 11 2021 00:46:43)

  Backend Device ID #1
    Type...........: CPU
    Vendor.ID......: 8
    Vendor.........: Intel
    Name...........: Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
    Version........: OpenCL 1.2
    Processor(s)...: 4
    Clock..........: 3100
    Memory.Total...: 16384 MB (limited to 2048 MB allocatable in one block)
    Memory.Free....: 8160 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.1

  Backend Device ID #2
    Type...........: GPU
    Vendor.ID......: 8
    Vendor.........: Intel Inc.
    Name...........: Intel(R) Iris(TM) Plus Graphics 650
    Version........: OpenCL 1.2
    Processor(s)...: 48
    Clock..........: 1050
    Memory.Total...: 1536 MB (limited to 192 MB allocatable in one block)
    Memory.Free....: 704 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.2(Feb 16 2022 20:39:05)

  Backend Device ID #3
    Type...........: GPU
    Vendor.ID......: 1
    Vendor.........: AMD
    Name...........: AMD Radeon RX Vega 64 Compute Engine
    Version........: OpenCL 1.2
    Processor(s)...: 56
    Clock..........: 1630
    Memory.Total...: 8176 MB (limited to 2044 MB allocatable in one block)
    Memory.Free....: 8064 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.2 (Feb 16 2022 20:32:57)





Commands always fail with the same error:




Code:
$ hashcat -d 3 -m 1000 -b



hashcat (v6.2.5) starting in benchmark mode



Benchmarking uses hand-optimized kernel code by default.

You can use it in your cracking session by setting the -O option.

Note: Using optimized kernel code limits the maximum supported password length.

To disable the optimized kernel code in benchmark mode, use the -w option.



No devices found/left.



Started: Sat Apr  9 20:10:15 2022

Stopped: Sat Apr  9 20:10:15 2022



I've tried -D as well, same error. Also, this happens with device #2 as well.

Any insight is appreciated.

If you compiled from source you should be using ./Hashcat command.
Reply
#3
(04-10-2022, 04:57 PM)CheeseMachine Wrote:
(04-10-2022, 05:13 AM)machone Wrote: hashcrack 6.2.5, I've tried installing it with homebrew as well as compiling it from source; same issue.

Mac is a MacBook Pro 13" 2017, connected to a Razer Core (X?) via Thunderbolt. Inside it is an AMD Vega 64.




Code:
~/Downloads/hashcat-6.2.5  $ hashcat -I
hashcat (v6.2.5) starting in backend information mode

OpenCL Info:
============

OpenCL Platform ID #1
  Vendor..: Apple
  Name....: Apple
  Version.: OpenCL 1.2 (Aug 11 2021 00:46:43)

  Backend Device ID #1
    Type...........: CPU
    Vendor.ID......: 8
    Vendor.........: Intel
    Name...........: Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
    Version........: OpenCL 1.2
    Processor(s)...: 4
    Clock..........: 3100
    Memory.Total...: 16384 MB (limited to 2048 MB allocatable in one block)
    Memory.Free....: 8160 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.1

  Backend Device ID #2
    Type...........: GPU
    Vendor.ID......: 8
    Vendor.........: Intel Inc.
    Name...........: Intel(R) Iris(TM) Plus Graphics 650
    Version........: OpenCL 1.2
    Processor(s)...: 48
    Clock..........: 1050
    Memory.Total...: 1536 MB (limited to 192 MB allocatable in one block)
    Memory.Free....: 704 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.2(Feb 16 2022 20:39:05)

  Backend Device ID #3
    Type...........: GPU
    Vendor.ID......: 1
    Vendor.........: AMD
    Name...........: AMD Radeon RX Vega 64 Compute Engine
    Version........: OpenCL 1.2
    Processor(s)...: 56
    Clock..........: 1630
    Memory.Total...: 8176 MB (limited to 2044 MB allocatable in one block)
    Memory.Free....: 8064 MB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.2 (Feb 16 2022 20:32:57)





Commands always fail with the same error:




Code:
$ hashcat -d 3 -m 1000 -b



hashcat (v6.2.5) starting in benchmark mode



Benchmarking uses hand-optimized kernel code by default.

You can use it in your cracking session by setting the -O option.

Note: Using optimized kernel code limits the maximum supported password length.

To disable the optimized kernel code in benchmark mode, use the -w option.



No devices found/left.



Started: Sat Apr  9 20:10:15 2022

Stopped: Sat Apr  9 20:10:15 2022



I've tried -D as well, same error. Also, this happens with device #2 as well.

Any insight is appreciated.

If you compiled from source you should be using ./Hashcat command.

In both cases where I used homebrew to install it as well as compiling it from source (after removing the Homebrew-installed copy of course), the binary goes into a $PATH'd directory. So no, I don't think so.
Reply
#4
Apple dropped Opencl support, opencl 1.2 is way to old and on windows machines opencl 1.2 resulting in a very long init time

for your Vega mac is a BSD fork but i think this also apply, you will need a supported driver backend for your graphicscard.

AMD GPUs on Linux require "RadeonOpenCompute (ROCm)" Software Platform (3.1 or later)

its like cuda for nvidia, apple i believe is using something called METAL?
Reply
#5
(04-11-2022, 11:06 AM)Snoopy Wrote: Apple dropped Opencl support, opencl 1.2 is way to old and on windows machines opencl 1.2 resulting in a very long init time

for your Vega mac is a BSD fork but i think this also apply, you will need a supported driver backend for your graphicscard.

AMD GPUs on Linux require "RadeonOpenCompute (ROCm)" Software Platform (3.1 or later)

its like cuda for nvidia, apple i believe is using something called METAL?

Interesting. I did see on the Hashcat website that a driver would be required but I only found instructions for Linux and Windows, not macOS although macOS was distinctly mentioned elsewhere. So I wasn't sure. I also looked to follow the Linux instructions (since as you say, macOS runs Darwin), and I wasn't clear about how to get them installed on my platform.

It looks like in some cases people have made it work, but it's not always clear how: https://hashcat.net/forum/thread-8136-po...l#pid43823

https://hashcat.net/forum/thread-8525.ht...t=mac+egpu
Reply
#6
did you used this tutorial for compiling from source?

https://gist.github.com/chadmayfield/600...t_macos-sh

if yes, well im sry, i didnt have access to a mac to test it
Reply
#7
(04-12-2022, 09:55 AM)Snoopy Wrote: did you used this tutorial for compiling from source?

https://gist.github.com/chadmayfield/600...t_macos-sh

if yes, well im sry, i didnt have access to a mac to test it

Yes, but I think I've just solved my issue. Looks like on macOS you have to specify the device as well as the device type:

Code:
~/Dev/hashcat$ /hashcat -I
hashcat (v6.2.5-384-g2e148a216) starting in backend information mode

Metal Info:
===========

Metal.Version.: 212.8

Backend Device ID #1
  Type...........: GPU
  Vendor.ID......: 2
  Vendor.........: Apple
  Name...........: AMD Radeon RX Vega 64
  Processor(s)...: 1
  Clock..........: N/A
  Memory.Total...: 8176 MB (limited to 3584 MB allocatable in one block)
  Memory.Free....: 8064 MB
  Local.Memory...: 32 KB
  Phys.Location..: connected via an external interface (port 4)
  Feature.Set....: macOS GPU Family 2 v1
  Registry.ID....: 1422
  Max.TX.Rate....: 40000000 MB/sec
  GPU.Properties.: headless 0, low-power 0, removable 1

Backend Device ID #2
  Type...........: GPU
  Vendor.ID......: 2
  Vendor.........: Apple
  Name...........: Intel(R) Iris(TM) Plus Graphics 650
  Processor(s)...: 1
  Clock..........: N/A
  Memory.Total...: 1536 MB (limited to 1024 MB allocatable in one block)
  Memory.Free....: 704 MB
  Local.Memory...: 32 KB
  Phys.Location..: built-in
  Feature.Set....: macOS GPU Family 2 v1
  Registry.ID....: 1388
  Max.TX.Rate....: N/A
  GPU.Properties.: headless 0, low-power 1, removable 0

OpenCL Info:
============

OpenCL Platform ID #1
  Vendor..: Apple
  Name....: Apple
  Version.: OpenCL 1.2 (Aug 11 2021 00:46:43)

  Backend Device ID #3
    Type...........: CPU
    Vendor.ID......: 8
    Vendor.........: Intel
    Name...........: Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
    Version........: OpenCL 1.2
    Processor(s)...: 4
    Clock..........: 3100
    Memory.Total...: 16384 MB (limited to 2048 MB allocatable in one block)
    Memory.Free....: 8160 MB
    Local.Memory...: 32 KB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.1

  Backend Device ID #4
    Type...........: GPU
    Vendor.ID......: 8
    Vendor.........: Intel Inc.
    Name...........: Intel(R) Iris(TM) Plus Graphics 650
    Version........: OpenCL 1.2
    Processor(s)...: 48
    Clock..........: 1050
    Memory.Total...: 1536 MB (limited to 192 MB allocatable in one block)
    Memory.Free....: 704 MB
    Local.Memory...: 64 KB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.2(Feb 16 2022 20:39:05)

  Backend Device ID #5
    Type...........: GPU
    Vendor.ID......: 1
    Vendor.........: AMD
    Name...........: AMD Radeon RX Vega 64 Compute Engine
    Version........: OpenCL 1.2
    Processor(s)...: 56
    Clock..........: 1630
    Memory.Total...: 8176 MB (limited to 2044 MB allocatable in one block)
    Memory.Free....: 8064 MB
    Local.Memory...: 32 KB
    OpenCL.Version.: OpenCL C 1.2
    Driver.Version.: 1.2 (Feb 16 2022 20:32:57)

~/Dev/hashcat$ ./hashcat -d 5 -D 2 -b -m 1000
hashcat (v6.2.5-384-g2e148a216) starting in benchmark mode

Benchmarking uses hand-optimized kernel code by default.
You can use it in your cracking session by setting the -O option.
Note: Using optimized kernel code limits the maximum supported password length.
To disable the optimized kernel code in benchmark mode, use the -w option.

* Device #5: Apple's OpenCL drivers (GPU) are known to be unreliable.
            You have been warned.

METAL API (Metal 212.8)
=======================
* Device #1: AMD Radeon RX Vega 64, skipped
* Device #2: Intel(R) Iris(TM) Plus Graphics 650, skipped

OpenCL API (OpenCL 1.2 (Aug 11 2021 00:46:43)) - Platform #1 [Apple]
====================================================================
* Device #3: Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz, skipped
* Device #4: Intel(R) Iris(TM) Plus Graphics 650, skipped
* Device #5: AMD Radeon RX Vega 64 Compute Engine, 8064/8176 MB (2044 MB allocatable), 56MCU

Benchmark relevant options:
===========================
* --backend-devices=5
* --opencl-device-types=2
* --optimized-kernel-enable

-----------------------
* Hash-Mode 1000 (NTLM)
-----------------------

Speed.#5.........: 35297.6 MH/s (24.94ms) @ Accel:64 Loops:1024 Thr:256 Vec:1

Started: Tue Apr 12 01:21:58 2022
Stopped: Tue Apr 12 01:22:07 2022

More info here: https://github.com/hashcat/hashcat/issues/3060
Reply