learex-zz / macOS-eGPU

Make your Mac compatible with NVIDIA and AMD eGPUs. (macOS High Sierra)
Other
691 stars 53 forks source link

No internet connection? #26

Closed rickeycarter closed 6 years ago

rickeycarter commented 6 years ago

When I try to run the script from the terminal, I get a note back about internet connection is required

XXXXX:~ yyyyy$ macos-eGPU
an internet connection is required

I tested my internet connection by testing with a SSH tunnel. That work. Running network diagnostics, I can ping etc. Obviously, I have internet connection as I type now on GitHub.

That oddity aside, I can run this and it pulls a new version just fine:

bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh)

But, I don't want to run this version as I don't want to move to CUDA 9.2 now (I don't want to reconfigure and recompile TensorFlow at this time). It would be nice if the script would prompt on the CUDA update, but that might be another request.

To try to work around it, I tried this:

bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh) -C

and received this:

macOS-eGPU.sh (v1.5)

Fetching system information...
   macOS info                                                             [done]
   system integrity protection                                            [done]
   thunderbolt version                                                    [done]
   GPU information                                                        [done]
   installed eGPU software                                                [done]
   installed patches                                                      [done]
   installed programs                                                     [done]
   fetching GPU related system information                                [done]

macOS-eGPU.sh (v1.5)

Listing installation status of packages...
   NVIDIA driver                                           [387.10.10.10.40.105]
   NVIDIA eGPU enabler                                           [not installed]
   AMD legacy drivers                                            [not installed]
   T82 unblocker                                                     [installed]
   NVIDIA dGPU                                                   [not available]
   NVIDIA macOS 10.13.4/.5 patch                                 [not installed]
   IO PCIE Tunnelled patch                                           [installed]
   unlocked thunderbolt version                                              [3]
   thunderbolt daemon                                            [not installed]
   CUDA
      CUDA drivers                                                     [396.148]
      CUDA developer drivers                                           [396.148]
      CUDA toolkit                                                     [9.1.128]
      CUDA samples                                                     [9.1.128]
Listing system information...
   macOS version                                                       [10.13.6]
   macOS build                                                           [17G65]
   SIP status                                                                [0]
   thunderbolt interface version                                             [2]
   eGPU information
      connected eGPU                                                     [false]
   NVIDIA dGPU                                                           [false]
   AGW version                                                   [10.13.6:17G65]
Graphics/Displays:

    AMD Radeon R9 M390:

      Chipset Model: AMD Radeon R9 M390
      Type: GPU
      Bus: PCIe
      PCIe Lane Width: x16
      VRAM (Dynamic, Max): 2048 MB
      Vendor: AMD (0x1002)
      Device ID: 0x6819
      Revision ID: 0x0000
      ROM Revision: 113-C408WA-799
      VBIOS Version: 113-C408W1-009
      EFI Driver Version: 01.00.799
      Metal: Supported, feature set macOS GPUFamily1 v3
      Displays:
        iMac:
          Display Type: Built-In Retina LCD
          Resolution: 5120 x 2880 Retina
          Framebuffer Depth: 30-Bit Color (ARGB2101010)
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No

Hardware:

    Hardware Overview:

      Model Name: iMac
      Model Identifier: iMac17,1
      Processor Name: Intel Core i5
      Processor Speed: 3.2 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 6 MB
      Memory: 32 GB
      Boot ROM Version: IM171.0157.B00
      SMC Version (system): 2.33f10

Thunderbolt:

    Thunderbolt Bus:

      Vendor Name: Apple Inc.
      Device Name: iMac
      UID: 0x0001001900B866B0
      Route String: 0
      Firmware Version: 28.1
      Domain UUID: 7CE8DC36-0BBF-5C5D-AB21-28B76E784DD4
      Port:
          Status: No device connected
          Link Status: 0x101
          Speed: Up to 20 Gb/s x1
          Current Link Width: 0x1
          Receptacle: 1
          Link Controller Firmware Version: 0.16.0
      Port:
          Status: No device connected
          Link Status: 0x101
          Speed: Up to 20 Gb/s x1
          Current Link Width: 0x1
          Receptacle: 2
          Link Controller Firmware Version: 0.16.0

XXXXXX:~ yyyyyy$ bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh) -e

macOS-eGPU.sh (v1.5)

Accept license terms...                                                   [done]
Killing all other running programs...                                       [OK]
Internet connection established...                                          [NO]

--- internet connection required ---

Interrupt...
   cleaning system                                                        [done]
The script has failed.
Nothing has been changed.

I tried to search around and see if anyone else has had this issue. I didn't find anything. I'm not sure if it is a network security issue or something with the script. (in the script above, I had the eGPU plugged and connected. The computer just stopped seeing the eGPU over the weekend.)

rickeycarter commented 6 years ago

Update: So the internet check calls ping from the terminal. My terminal will not run ping, but will run /sbin/ping, which points to a path problem. However, my paths seem to be set correctly.

learex-zz commented 6 years ago

@rickeycarter That should be the correct one, I've now manually specified to be /sbin/ping Maybe that helps. If not tell me what /sbin/ping 8.8.8.8 -c 1 -t 3 results in.

rickeycarter commented 6 years ago

Using /sbin/ping, I get this

PING 8.8.8.8 (8.8.8.8): 56 data bytes

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss

Perhaps there is too much latency in my internet connection for the t = 3 parameter

Running

/sbin/ping 8.8.8.8 -c 4

Returns

PING 8.8.8.8 (8.8.8.8): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2

Which I'm not sure will pass your test. I also tried to just globally set the internet flag in the shell script to be true in a forked copy resulted with this

bash ./rcmacOS-eGPU.sh -e

Results:

macOS-eGPU.sh (v1.5)

Accept license terms...                                                                        [done]
Killing all other running programs...                                                            [OK]
Internet connection established...                                                              [YES]
Fetching system information...
   macOS info                                                                                  [done]
   system integrity protection                                                                 [done]
   thunderbolt version                                                                         [done]
   GPU information                                                                             [done]
   installed eGPU software                                                                     [done]
   installed patches                                                                           [done]
   installed programs                                                                          [done]
Setting internal switches...
Checking for incompatibilies and up to date software...
   NVIDIA drivers                                                                              [skip]
   NVIDIA eGPU enabler                                                           [skip, incompatible]
   AMD legacy drivers                                                                          [skip]
   T82 unblocker                                                                               [skip]
   NVIDIA dGPU deactivator                                                                     [skip]
   macOS 10.13.4/.5 NVIDIA patch                                                               [skip]
   macOS 10.13.4+ thunderbolt 1/2 unlock                                                       [skip]
   CUDA software                                                                               [skip]
   thunderbolt daemon                                                                          [skip]
   IO PCIE Tunnelled patch                                                                     [skip]
Checking if SIP is sufficently disabled...                                                       [OK]

Download external content...

Uninstalling...
Installing...
Patching...
deactivating auto-updates...

Finish...
   cleaning system                                                                             [done]
Nothing has been changed.
rickeycarter commented 6 years ago

I had run purge-wrangler as a stand alone. I'm going to remove the patch with that tool, reboot, and try the -e option here again now that I have a work around for the internet issue.

fr34k8 commented 6 years ago

Use „echo $PATH“ to see which are currently in.

rickeycarter commented 6 years ago

This is the return of the echo

/Users/XXXXX/anaconda/bin:/Developer/NVIDIA/CUDA-9.1/bin:/Developer/NVIDIA/CUDA-9.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin}

I just tried the new program, still have this error

bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh) -i
macOS-eGPU.sh (v1.5)

Accept license terms...                                                                        [done]
Killing all other running programs...                                                            [OK]
Internet connection established...                                                               [NO]
Fetching system information...
   macOS info                                                                                  [done]
   system integrity protection                                                                 [done]
   thunderbolt version                                                                         [done]
   GPU information                                                                             [done]
   installed eGPU software                                                                     [done]
   installed patches                                                                           [done]
   installed programs                                                                          [done]
Setting internal switches...
Checking for incompatibilies and up to date software...
   NVIDIA drivers                                                                  [skip, up to date]
   NVIDIA eGPU enabler                                                           [skip, incompatible]
   AMD legacy drivers                                                                          [skip]
   T82 unblocker                                                            [skip, already installed]
   NVIDIA dGPU deactivator                                                                     [skip]
   macOS 10.13.4/.5 NVIDIA patch                                                 [skip, incompatible]
   macOS 10.13.4+ thunderbolt 1/2 unlock                                          [install scheduled]
   CUDA software
      CUDA drivers                                                                 [skip, up to date]
      CUDA developer driver                                                        [skip, up to date]
      CUDA toolkit                                                                 [update scheduled]
      CUDA samples                                                                 [update scheduled]
   thunderbolt daemon                                                                          [skip]
   IO PCIE Tunnelled patch                                                        [install scheduled]
Checking if SIP is sufficently disabled...                                                       [OK]

Download external content...
--- CUDA developer driver / CUDA toolkit / CUDA samples ---
                                                                                                 0.5%^C
Abort...
Interrupt...

Besides the internet issue, I'm also trying to fight going to CUDA 9.2. I can't tell from the NVIDIA page if the latest drivers will not work with CUDA 9.1. They say 9.2 is preferred but not required.

The script seems to be all or nothing. I'm not sure why I get the incompatible warning with the NVIDIA enabler command.

learex-zz commented 6 years ago

@rickeycarter you're on macOS 10.13.6, that's why it's incompatible. The IO PCIE Tunneled patch + driver is for .6 -> macos-egpu -n -l

learex-zz commented 6 years ago

@rickeycarter no, "Request timeout" seems to be a non existent internet connection. I use Google's DNS (8.8.8.8) as it's ultra fast and 99.99% up. I'm curious why the ping fails but you can chat with me.

rickeycarter commented 6 years ago

I would like to leave my cuda at 9.1. TensorFlow must be compiled to match the cuda version. Compiling TensorFlow from source to use 9.2 would be no small feat based on prior experience. So, I would like to keep CUDA at 9.1 if possible. I don't see a flag in the script that says skip CUDA update.

learex-zz commented 6 years ago

@rickeycarter go with macos-egpu -n -l, I don't have "negative" Flags

rickeycarter commented 6 years ago

For the internet ping issue, I can't ping www.google.com or 8.8.8.8 but /sbin/ping www.nasa.gov

works just fine.

learex-zz commented 6 years ago

@rickeycarter Then just use your custom fork with the flags -n and -l, that should do it.

learex-zz commented 6 years ago

@rickeycarter does /sbin/ping 1.1.1.1 work? (HS Cloudflare DNS), if so, I can change the 8.8.8.8 to 1.1.1.1 ... (do you have any clue why google's services are unreachable? Like firewalls, proxies, etc?)

rickeycarter commented 6 years ago

1.1.1.1 returns results as expected. I ran my fork with -n and -l. eGPU is still dead silent despite a full reboot. I'm going to give the reinstall a new try.

learex-zz commented 6 years ago

@rickeycarter OK, I've changed 8.8.8.8 to 1.1.1.1, maybe this simplifies the process for you.

learex-zz commented 6 years ago

@rickeycarter what do you mean with silent? The eGPU should fire up even if nothing "works".

rickeycarter commented 6 years ago

Well, as in silent. The egpu has a blue light on the front that will glow when it is connected to the computer. I tested the egpu chassis with an older MBP, and the light and GPU spun up. On the iMac, it remains silent. I don't know if there is something with the TB2 issue or something in the system control. I'll try to power down and unplug the power cable on the iMAC to reset the system control board. Perhaps that will help.

ps-I tried the new script and it worked fine, as expected.

rickeycarter commented 6 years ago

I did the system controller reset. That let the eGPU box activate. I tried some various combinations of getting the computer to talk to the GPU. I'm still not there yet, but I think I'm closer and it could be a driver issue at this point. I have noticed that the iMac system is much more difficult with the utilization of an eGPU. The MBP seems to work without issue.

rickeycarter commented 6 years ago

Updates: DNS issue for 8.8.8.8. Turns out our institution is having DNS issues with 8.8.8.8. 8.8.4.4 does resolve. That's our issue

eGPU issues are resolved. I uninstalled everything and reinstalled it today. I was still having connection issues (GPU would not activate). I believe this is a result of the System Management Controller (SMC) board on the iMac is very sensitive to loads. When I reset the SMC, I could make the eGPU work.

So, I think we can close this as the internet issues are resolved.