Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion barcode-reader/web/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ Welcome! Browse the sections below for answers to common questions, configuratio
- [Difference between BestSpeed and BestCoverage](scan-setting/difference-between-bestspeed-and-bestcoverage.html)
- [Differences between Full and Compact Editions](scan-setting/differences-between-full-and-compact-editions.html)
- [Differences between updateScanSettings, updateVideoSettings, and updateRuntimeSettings](scan-setting/differences-between-updateScanSettings-updateVideoSettings-and-updateRuntimeSettings.html)
- [Troubleshooting - Error: [xxx] No license found](scan-setting/enable-supported-barcode-format.html)
- [Read Inverted Image](scan-setting/read-inverted-image.html)
- [Remove Duplicates](scan-setting/remove-duplicates.html)
- [Unable to Scan Aztec Code](scan-setting/unable-to-scan-aztec-code.html)
Expand Down
1 change: 0 additions & 1 deletion barcode-reader/web/scan-setting/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ noTitleIndex: true
- [Difference between BestSpeed and BestCoverage](difference-between-bestspeed-and-bestcoverage.html)
- [Differences between Full and Compact Editions](differences-between-full-and-compact-editions.html)
- [Differences between updateScanSettings, updateVideoSettings, and updateRuntimeSettings](differences-between-updateScanSettings-updateVideoSettings-and-updateRuntimeSettings.html)
- [Enable Supported Barcode Format](enable-supported-barcode-format.html)
- [Read Inverted Image](read-inverted-image.html)
- [Remove Duplicates](remove-duplicates.html)
- [Unable to Scan Aztec Code](unable-to-scan-aztec-code.html)
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: default-layout
title: Troubleshooting - Error: [xxx] No license found
title: Error [xxx] No license found
keywords: Dynamsoft Barcode Reader, FAQ, JavaScript, tech basic, barcode format, no license found
description: When moving from a trial license to a production license, you may encounter the error `[xxx] No license found` if your enabled barcode formats don't match the formats supported by your license?
needAutoGenerateSidebar: false
Expand Down
2 changes: 2 additions & 0 deletions license/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ Please use the links below to find answers to common questions and configuration
- [How to track license usage?](track-license.html)
- [New license required for per-device licensing?](new-license-required-per-device-licensing.html)
- [How to get a free trial?](dbr-free-trial.html)
- [Troubleshooting - Error: [xxx] No license found](enable-supported-barcode-format.html)
- [Troubleshooting - Error: -20151 Unauthorized Device Clone Detected](troubleshooting-unauthorized-device-clone-detected.html)
57 changes: 57 additions & 0 deletions license/troubleshooting-unauthorized-device-clone-detected.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
layout: default-layout
title: Error -20151 Unauthorized Device Clone Detected
keywords: Dynamsoft Barcode Reader, Error -20151, Unauthorized Device Clone, License Error, DBR FAQ, License Validation
description: Understand the cause of error -20151 Unauthorized Device Clone Detected in Dynamsoft Barcode Reader and how to resolve it.
needAutoGenerateSidebar: false
---

# Troubleshoot - Error -20151 — Unauthorized Device Clone Detected

## What does error **-20151** mean?

The error **-20151: Unauthorized device clone detected** indicates that the license system has identified abnormal behavior suggesting that the same license is being used on what appears to be a cloned or altered device environment.

This is a **security protection mechanism** designed to prevent license misuse.

---

## 🔍 Common Causes

### 1️⃣ System Time Was Modified
If the **system date or time was manually changed** (for example, rolling the clock backward or forward), the license validation logic may interpret this as a potential cloning or tampering attempt.

Typical scenarios include:
- Manual system time adjustment
- Time rollback after OS restore or snapshot
- VM snapshot restore with outdated system time

---

### 2️⃣ Switching SDK Versions Within a Short Period of Time
Rapidly **switching between different SDK versions** (for example, upgrading and downgrading, or running multiple major versions back-to-back) within a short timeframe can also trigger this error.

This may happen when:
- Testing multiple SDK versions on the same machine
- Running parallel applications using different SDK versions
- Rolling back to an older version shortly after upgrading

The license system may treat this as an abnormal environment change.

---

## ✅ Recommended Solutions

- Ensure the **system time is correct** and synchronized with an official time source.
- Avoid frequently switching between different SDK versions on the same device.
- If testing multiple versions is required, allow sufficient time between version changes.
- Restart the system after correcting time settings or completing upgrades.

---

## 📩 Still Experiencing the Issue?

If the issue persists after verifying the above:
- Please contact our support team.
- Provide your **license key**, **SDK version**, and a brief description of your environment and recent changes.