[SOLVED] QNAP AI Core & Google Coral USB - Toggle stuck on "Disabled" / Hidden Docker Fix

I was trying to get my Coral AI Accelerator working on my machine for awhile now. I finally got some time to sit down and try to fix it. I was successful! You can see how I achieved it below…

My Setup:

NAS: TS-873 (or similar x86/AMD models)
QTS Version: 5.2.9.3410
App versions: Multimedia Console 2.10.0, Container Station 3.1.2.1742
Hardware: Google Coral Edge TPU (USB)

The Symptoms:
You plug in your Google Coral Edge TPU. You open Multimedia Console, go to AI Engines, and try to enable the “QNAP AI Core”. It might briefly say “Starting”, but it instantly snaps back to “Disabled”. No error message is given in the web UI. It just silently fails.

After digging through SSH and hidden logs, I found that the root cause isn’t the hardware itself, but a corrupted hidden Docker daemon in the QNAP architecture.

The Root Cause: The Hidden Docker Daemon

QNAP actually runs two Docker daemons. The one you see in Container Station (docker), and a completely hidden one used exclusively for QNAP’s proprietary apps (system-docker).

If your NAS experienced a hard reboot, an app migration, or a power spike, the system-docker daemon’s virtual hard drive likely corrupted. The AI Core script tries to boot the QuMagie AI container, hits the corrupted hidden drive, and instantly crashes in the background.

Here is how to nuke the corrupted hidden database and rebuild the AI Core from scratch.

:warning: CRITICAL WARNING: BACK UP YOUR FACE DATA :warning:

Do not skip this step, unless you want to start AI analysis from scratch. Wiping the hidden Docker storage will delete the AI Core’s facial recognition vector cache. If you do not back up your QuMagie database first, you will lose all of your previously named faces and custom tags, and the NAS will have to re-index your entire photo library from scratch.

(Disclaimer: I did not actually do this backup step myself before dropping the hammer—I learned the hard way and lost my face tags. Because of that, YMMV on the exact restore behavior, but these are the standard system paths where QNAP stores the database.)

1. Back up your QuMagie databases to your Public folder:
SSH into your NAS and run these commands to safely copy your face data and thumbnails to a backup folder:

mkdir -p /share/Public/qumagie_backup
cp -avr /share/CACHEDEV1_DATA/.system/data/s01 /share/Public/qumagie_backup/s01_db
cp -avr /share/CACHEDEV1_DATA/.system/facedata /share/Public/qumagie_backup/facedata

(If you ever need to restore them, you would copy them back to the .system folder after the AI Core is running, but again—YMMV!)

Step-by-Step Terminal Fix

The paths below use CACHEDEV1_DATA for Container Station. You may need to change the volume numbers if your apps are installed elsewhere.

2. Stop the hidden daemon and clear ghost lock files:
rm -f /var/run/system-docker.sock
rm -f /var/run/system-docker.pid
killall -9 system-docker 2>/dev/null

3. Nuke the corrupted hidden Docker storage:
Warning: This command may hang for several minutes because it is deleting thousands of tiny layered files. Let it finish.

rm -rf /share/CACHEDEV1_DATA/.qpkg/container-station/system-docker/*

4. Restart Container Station to rebuild the core structure:

/share/CACHEDEV1_DATA/.qpkg/container-station/container-station.sh restart

5. Recreate the missing symlink folders:
Because we wiped the storage, the daemon might forget to rebuild the specific directories required by the overlay2 storage driver. Create them manually so the installer doesn’t panic:

mkdir -p /share/CACHEDEV1_DATA/.qpkg/container-station/system-docker/tmp
chmod 777 /share/CACHEDEV1_DATA/.qpkg/container-station/system-docker/tmp
mkdir -p /share/CACHEDEV1_DATA/.qpkg/container-station/system-docker/overlay2/l

6. Clear any half-unpacked image cache:

docker -H unix:///var/run/system-docker.sock system prune -a -f

7. Reinstall the AI Core:
Now that the hidden Docker daemon is completely healthy and waiting with a clean slate:

Open the App Center in your QNAP web UI.

Find QNAP AI Core, uninstall it, and then immediately reinstall it.

This forces the installer to unpack the heavy AI/Ubuntu image and inject it cleanly into the fresh system-docker daemon.

Once the reinstallation is finished, go back to Multimedia Console > AI Engines and flip the QNAP AI Core switch. It should instantly click over to “Started.”

Bonus Troubleshooting: The USB Power Brownout

If you have completed the software fix above and the toggle still snaps back to disabled, or the Coral Edge TPU doesn’t show up in the Multimedia Console at all, you might be facing a hardware power limit.

The Google Coral Edge TPU has a massive power draw spike the exact second it initializes. The built-in USB ports on many older QNAP NAS units cannot supply enough juice fast enough, causing the Coral to instantly brownout, disconnect, and crash the AI software trying to read it.

The Hardware Fix: Plug the Coral into a powered USB 3.0 Hub (one that plugs into a wall outlet for its own power), and then plug the hub into the NAS. This allows the hub to absorb the initialization spike, feeding the Coral a stable connection.

Anyway, I hope this helps. My AI recognition about about 1,000,000 photos is going to take about 10 days but this is way faster than the alternative!

Thank you very much for sharing! This information is extremely helpful to us. Regarding the situation you described, we will also have our internal team look into it and verify the details. Thanks!

No problem, a surefire way of backing-up face data from the frontend of QuMagie would be greatly appreciated as well.

Thank you very much for your valuable suggestion!We have taken it into consideration and will begin planning for relevant optimizations and improvements.

Just a quick follow-up tip to save you some processing time when reinitializing your AI Core and QuMagie.

When you rebuild your database or reset these apps, the Multimedia Console can sometimes forget its built-in exclusion rules for hidden system folders. Because of this, the indexer will start digging into QNAP’s hidden .@__thumb and .thumblocal cache folders.

Instead of just scanning your real photos, your Coral TPU will waste valuable time and processing power running facial recognition on thousands of tiny, redundant thumbnails of your photos.

Here is how to purge the junk caches and ensure your TPU is only focusing on your actual high-res files before you start a fresh scan:

1. Purge the Hidden Caches via SSH SSH into your NAS and navigate to the root directory of your photo share (e.g., cd /share/Multimedia). Run this command to safely hunt down and delete the hidden thumbnail caches, leaving your actual .jpg/.mov files untouched:

find . -type d \( -name ".@__thumb" -o -name ".thumblocal" \) -exec rm -rf {} +

2. Clear the QNAP Cache In the QNAP web UI, go to Multimedia Console > Thumbnail Generation and click Remove All Thumbnails.

3. Re-index the Cleaned Directory Go to the Indexing tab in the Multimedia Console. (Note: If a scan is currently running or paused, the button may be hidden. You may need to let it finish or restart the app first). Click the Re-index button.

(Bonus tip: To prevent the global indexer from wasting time on app cache files, go to your main QNAP Control Panel > Shared Folders > Edit Properties for your app data shares, and uncheck the Multimedia Folder flag so the indexer ignores them entirely).

4. Reboot and Run Give the NAS a full reboot to clear out any locked background database tasks. Once it spins back up, turn the AI Core on. Your Coral TPU will now run much more efficiently!

QTS BusyBox find doesn’t support -exec (at-least, it didn’t last time I checked), so you’ll need to install a more full-featured version like GNU find. It’s available in Entware. :nerd_face:

Update: if your QTS has BusyBox 1.24, find does support the -exec arg. :+1: