Sharing a solution for the widespread DGX Spark initial setup issue where WiFi fails to join any network and Ethernet is not detected during the OOBE (Out-of-Box Experience).
The Problem
Many DGX Spark users (Founders Edition and OEM) are unable to complete initial setup because the OOBE fails at the network step. Symptoms include:
-
“Error searching for nearby networks. Reason 500”
-
“Failed to join the network” on every WiFi network attempted
-
Ethernet cable connected but OOBE still forces WiFi setup
-
iPhone/Android hotspots with Maximize Compatibility enabled also fail
-
WiFi adapter works fine for broadcasting the Spark’s own hotspot (spark-xxxx) but cannot join any network as a client
Root Cause
The OOBE setup wizard checks internet connectivity by making an HTTPS request to connectivity-check.ubuntu.com. If this request fails for any reason (SSL certificate issues, DNS resolution failure, connectivity timing, etc.), the OOBE assumes there is no network connection — even when WiFi or Ethernet is actually connected and working.
This means:
-
The Spark connects to your WiFi, but the connectivity check fails, so the OOBE reports “Unable to Join”
-
Ethernet is physically connected and has a valid IP, but the OOBE ignores it because the HTTPS check fails
The WiFi adapter and Ethernet hardware are not defective. The bug is entirely in the OOBE software’s connectivity verification logic.
The Fix
Credit to GitHub user sjug for identifying the bug and creating a patch: https://github.com/sjug/dgx-spark-ethernet-patch
The patch modifies the HasInternet() function in the OOBE service binary (/opt/nvidia/dgx-oobe/oobe-service) to always return true, bypassing the broken connectivity check. This causes the OOBE to skip the WiFi setup page and proceed directly to the system update step.
How to Apply (including Mac users)
The original patch script requires Linux. If you only have a Mac, you can use Docker:
-
Download the recovery image (version 1.120.38): https://developer.nvidia.com/downloads/dgx-spark/dgx-spark-recovery-image-1.120.38.tar.gz
-
Download the patch script: https://raw.githubusercontent.com/sjug/dgx-spark-ethernet-patch/master/patch-oobe-ethernet.sh
-
Extract the recovery image: tar xzf dgx-spark-recovery-image-1.120.38.tar.gz
-
Run Docker with privileged mode:
docker run --rm -it --privileged \
-v ~/Downloads/usbimg.customer:/work/usbimg.customer \
-v ~/Downloads/patch-oobe-ethernet.sh:/work/patch-oobe-ethernet.sh \
ubuntu:24.04 bash
- Inside the container, install dependencies and apply the patch manually (fuse2fs does not work in Docker, and sudo is not available):
apt update && apt install -y xz-utils e2fsprogs xxd
cd /work
# Run the script — it will decompress the image but fail at mount step
# Instead, do it manually:
cat /work/usbimg.customer/usb/fastos.partaa /work/usbimg.customer/usb/fastos.partab | xz -d > /work/usbimg.customer/usb/fastos-patching.img
mkdir -p /work/mnt
mount -o loop,rw /work/usbimg.customer/usb/fastos-patching.img /work/mnt
BINARY=/work/mnt/opt/nvidia/dgx-oobe/oobe-service
xxd -s 9244552 -l 8 -p "$BINARY" # Should show: ff3b00f9ffdf0039
printf '\x20\x00\x80\x52\x4d\x00\x00\x14' | dd of="$BINARY" bs=1 seek=9244552 conv=notrunc
xxd -s 9244552 -l 8 -p "$BINARY" # Should show: 200080524d000014
umount /work/mnt
e2fsck -y -f /work/usbimg.customer/usb/fastos-patching.img
xz -9 -T0 /work/usbimg.customer/usb/fastos-patching.img # Takes 30-60 minutes
split -b 4089446400 /work/usbimg.customer/usb/fastos-patching.img.xz /work/usbimg.customer/usb/fastos.part
rm /work/usbimg.customer/usb/fastos-patching.img.xz
- Exit Docker and flash USB on Mac:
exit
cd ~/Downloads/usbimg.customer
sudo ./CreateUSBKeyMacOS.sh
-
Perform system recovery on the Spark via USB (Restore UEFI Defaults → Enable Secure Boot → Restore Factory Keys → Boot Override → USB → START RECOVERY)
-
After recovery, the OOBE will proceed past the network step. WiFi or Ethernet can be configured normally through Ubuntu settings once setup is complete.
What I Tried Before Finding the Fix
-
Multiple WiFi networks including iPhone hotspot with Maximize Compatibility
-
UEFI: Network Stack enabled, Wireless LAN & Bluetooth enabled, system clock corrected
-
Full system recovery with image 1.120.36 (did not fix it)
-
Both local setup (monitor/keyboard) and headless setup (Mac via Spark hotspot)
-
All failed with the same “Unable to Join” error
Environment
-
DGX Spark Founders Edition, 4TB SSD, 128GB RAM
-
UEFI version 2.22.1295
-
Recovery image: 1.120.38 (patched)
NVIDIA should patch the OOBE to use a more robust connectivity check, or at minimum allow users to skip the network step during setup. @NVES