Skip to content
This repository has been archived by the owner on Jan 15, 2024. It is now read-only.

Troubleshooting Guide

Diane Olsen edited this page Dec 20, 2019 · 4 revisions

Having trouble with the Alexa Smart Screen SDK? Here's a list of resolutions for common issues reported by AVS developers.

Let us know what we can do to help you by creating a new issue when you run into a problem.

All Platforms

Issue: Audio configuration problems

Symptoms

Microphone fails to pick up sound. Speaker or headset fails to play sound.

Resolution

See the AVS Device SDK Troubleshooting Guide.

Issue: AlexaClientSDKConfig.json file is empty or points to the wrong directories

Symptoms

The sample app fails.

Resolution

Make sure that the AlexaClientSDKConfig.json file exists and that the path to the database files is valid (even if the db folder is empty). Here is a sample AlexaClientSDKConfig.json file (note: <pathto> is a placeholder for the path to the ~/sdk_folder/db directory):

{
    "cblAuthDelegate":{
        "databaseFilePath":"<pathto>/cblAuthDelegateMMSDK.db"
    },
    "deviceInfo":{
        "deviceSerialNumber":"<serialNumber>",
        "clientId":"<clientId>",
        "productId":"<productId>"
    },
    "deviceSettings":{
        "databaseFilePath":"<pathto>/deviceSettings.db",
        "locales":["en-US","en-GB","de-DE","en-IN","en-CA","ja-JP","en-AU","fr-FR","it-IT","es-ES","es-MX","fr-CA",
            "es-US", "hi-IN", "pt-BR"],
        "defaultLocale":"en-US",
        "localeCombinations":[
            ["en-CA", "fr-CA"],
            ["fr-CA", "en-CA"]
        ],
        "defaultTimezone":"America/Vancouver"
    },
    "miscDatabase":{
        "databaseFilePath":"<pathto>/miscDatabase.db"
    },
    "alertsCapabilityAgent":{
        "databaseFilePath":"<pathto>/alerts.db"
    },
    "settings":{
        "databaseFilePath":"<pathto>/settings.db",
        "defaultAVSClientSettings":{
            "locale":"en-US"
        }
    },
    "certifiedSender":{
        "databaseFilePath":"<pathto>/certifiedSender.db"
    },
    "notifications":{
        "databaseFilePath":"<pathto>/notifications.db"
    },
    "capabilitiesDelegate":{
    }
 }

Issue: Authentication error when changing products

Symptoms

You see the following error when you try to run the Alexa Smart Screen SDK sample app on a new device (that you have registered as a product in the Alexa console):

RequiresShutdown:~RequiresShutdownFailed:reason=notShutdown,name=FocusBridge
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CapabilitiesDelegate:getCapabilityConfigsStringFromJsonFailed::Interface configurations not available
CBLAuthDelegate:receiveTokenResponseFailed:result=UNAUTHORIZED_CLIENT

Resolution

Go to the ~/sdk_folder/db folder and delete its contents.

Copy the credentials (clientID and productID) from the new product's config.json file into the AlexaClientSDKConfig.json file.

Run the sample again enter the code provided on the screen in the web page at amazon.com/us/code to authorize the new product. For more information, see Get a Refresh Token in the AVS Device SDK documentation.

MacOS

Issue: MacOS dynamic link library (dyld) not loaded in npm install

Symptoms

You see this output:

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib
  Referenced from: /usr/local/bin/node
  Reason: image not found
/bin/sh: line 1: 91419 Abort trap: 6           npm install
make[2]: *** [modules/GUI/CMakeFiles/GUIClient] Error 134
make[1]: *** [modules/GUI/CMakeFiles/GUIClient.dir/all] Error 2
make: *** [all] Error 2

Resolution

brew reinstall node

If brew reinstall node doesn’t fix the error, uninstall and reinstall the node manually from the node.js website:

brew uninstall —ignore-dependencies node

In your web browser, go to https://nodejs.org/en/download/. Download the LTS version for Mac, and follow the prompts to install node.js. Re-run your cmake and make commands.

Issue: MacOS dynamic link library (dyld) not loaded error from sample app

Symptoms

You see this output when trying to run the Alexa Smart Screen SDK Sample App:

dyld: Library not loaded: @rpath/libAVSCommon.dylib
  Referenced from: ~/sdk_folder/ss-build/./modules/Alexa/SampleApp/src/SampleApp
  Reason: image not found
Abort trap: 6

Resolution

Run:

export DYLD_LIBRARY_PATH=$HOME/sdk_folder/sdk-install/lib:$DYLD_LIBRARY_PATH

Issue: Compatibility issue with websocketpp 0.8.1 and asio

Symptoms

Some users have reported that Alexa Smart Screen SDK build fails due to compatibility issue reported in https://github.com/zaphoyd/websocketpp/issues/794.

Resolution

  1. In step 7.1.ii, git clone the websocketpp project from https://github.com/zaphoyd/websocketpp/ into your Smart Screen SDK third-party directory.
  2. Check out the develop branch.
  3. In step 7.5, use the following cmake command:
cmake -DCMAKE_PREFIX_PATH=$HOME/sdk_folder/sdk-install \
-DWEBSOCKETPP_INCLUDE_DIR=$HOME/sdk_folder/third-party/websocketpp \
-DDISABLE_WEBSOCKET_SSL=ON \
-DGSTREAMER_MEDIA_PLAYER=ON \
-DCMAKE_BUILD_TYPE=DEBUG \
-DPORTAUDIO=ON -DPORTAUDIO_LIB_PATH=$HOME/sdk_folder/third-party/portaudio/lib/.libs/libportaudio.a \
-DPORTAUDIO_INCLUDE_DIR=$HOME/sdk_folder/third-party/portaudio/include/ \
-DAPL_CORE=ON \
-DAPLCORE_INCLUDE_DIR=$HOME/sdk_folder/apl-core-library/aplcore/include \
-DAPLCORE_LIB_DIR=$HOME/sdk_folder/apl-core-library/build/aplcore \
-DYOGA_INCLUDE_DIR=$HOME/sdk_folder/apl-core-library/build/yoga-prefix/src/yoga \
-DYOGA_LIB_DIR=$HOME/sdk_folder/apl-core-library/build/lib \
../alexa-smart-screen-sdk

Raspberry Pi

Issue: Alexa Smart Screen SDK build fails on Raspbian Buster

Symptoms

Alexa Smart Screen SDK build fails.

Resolution

None. The Alexa Smart Screen SDK is currently supported only on Raspbian Stretch, not Raspbian Buster.

To see what version of Raspbian you’re running, use this command:

cat /etc/debian_version

or this one:

cat /etc/os-release

If the output is 9.XX, you’re running Stretch. If it’s 10.XX, it’s Buster.

Issue: Missing libcrypto (or other library) error from AVS Device SDK build

Symptoms

AVS Device SDK cmake build command fails with "can't find libcrypto" error - or an error reporting another library as missing. Note that if you have the wrong version of a given library, the library will be reported as missing.

Resolution

Install the required version of the missing library. For example, the AVS Device SDK requires libcrypto version 1.1. To install it, use this command:

sudo apt install libcurl4-openssl-dev libssl-dev

Issue: Audio settings appear to be correct, but no audio from sample app

Symptoms

When you click the Alexa logo in your web browser and speak into the microphone on my Pi, you see "Listening..." and "Thinking...", but then nothing happens.

Resolution 1

Your microphone may be turned off. If so, you'll need to turn it on as follows:

  1. In the upper right corner of the Raspberry Pi screen, right-click the speaker icon and choose USB Device Settings.
  2. In the dialog box, set the Sound card to USB PnP Sound Device (Alsa mixer).
  3. Under the Microphone level setting, you'll see a dot that's either black or red. If it's black, that means the microphone is turned off. Click the dot, and it should turn red to indicate that the microphone is turned on.

Resolution 2

If you are using a USB microphone and earbuds, try this:

  1. Replace the contents of your ~/.asoundrc with the following:
    pcm.!default {
        type hw
        card 0
    }
    ctl.!default {
        type hw
        card 0
        }
    }
  1. In the upper right corner of the Raspberry Pi screen, right-click the speaker icon and choose Analog.
  2. Right-click the speaker icon again and choose USB Device Settings.
  3. In the dialog box, set the Sound card to USB PnP Sound Device (Alsa mixer).
  4. Under the Microphone level setting, you'll see a dot that's either black or red. If it's black, that means the microphone is turned off. Click the dot, and it should turn red to indicate that the microphone is turned on.