Common Problems and Fixes

Resolve issues encountered during installation or while using the I/O mode features of the support package.

Host Not Communicating with ADALM-PLUTO Radio

Problem

ADALM-PLUTO radio is not responding to commands or reboots randomly.

Possible Solutions

  • See Host USB Port to ADALM-PLUTO Radio Communication Unreliable

  • Unplug ADALM-PLUTO radio, reboot host computer, plugin ADALM-PLUTO radio, open MATLAB® and at the command line execute:

    cd(fullfile(matlab.internal.get3pInstallLocation('libiio.instrset'),'win64','MS64'))
    system('iio_info -s')
    • If the host can communicate with the ADALM-PLUTO radio, the radio is ready to use. In this case, you will see an output that lists the radio serial number and USB port information similar to the following:

      ...
      Available contexts: 
      	0: 0456:b673 (Analog Devices Inc. PlutoSDR (ADALM-PLUTO)), ...
            serial=104473222a870010050020009db5d52277 [usb:2.11.5] 
      

    • If the host cannot communicate with the ADALM-PLUTO radio, replace the radio. In this case, you will see an output similar to the following:

      ...
      No contexts found.
      If the ADALM-PLUTO radio is malfunctioning, go to https://ez.analog.com/university-program/ at Analog Devices® for support.

Host USB Port to ADALM-PLUTO Radio Communication Unreliable

Problem

ADALM-PLUTO radio is unresponsive or commands fail especially when the radio is connected to an unpowered USB hub.

Possible Solutions

  • Plug in both USB ports on the PlutoSDR. In addition to connecting the USB communication connector port, also connect a dedicated power source to the USB power connector port on the PlutoSDR.

  • If PlutoSDR is connected to an unpowered USB hub, switch to a powered USB hub.

  • Try switching to another USB port on your computer.

Input Must Be Complex

Problem

The PlutoSDR transmitter input must be complex. This is enforced due to potential for corruption of input signal by the radio hardware IQ imbalance correction when the input transmission signal is real-valued.

Specifically, the problem with receiving a real signal exists if:

  1. PlutoSDR is used in a loopback configurations (LOs for Tx and Rx are locked) and a real signal is transmitted.

  2. Two separate radios are used and the LO frequency offset is less than ~100Hz.

For more information, see Quadrature Tracking.

Possible Solutions

  • Specify a complex signal for the transmission.

Overruns or Underruns

Problem

The model is not running in real-time.

Possible Solutions

Firmware Version Warning

Problem

When using PlutoSDR with Communications Toolbox™ Support Package for Analog Devices ADALM-Pluto Radio, you see this message:

Warning: ADALM-PLUTO radio with serial number '<serial num>' has 
firmware version "0.23". The recommended firmware version is "0.26". 
Click here to start the Hardware Setup App to update radio firmware 
to the recommended version. To suppress this warning click here.

The support package issues this warning to alert you when the firmware version installed on your PlutoSDR is not recommended for use with the support package release you are running. If the firmware version on the PlutoSDR is older than the recommended version, you must upgrade your firmware. If the firmware version on the PlutoSDR is newer than the recommended version, you can continue using your PlutoSDR without installing the recommended firmware.

Note

MathWorks® has not tested the stability or performance of PlutoSDR devices with firmware versions newer than the recommended firmware version.

Possible Solutions

  • Update to the recommended firmware version:

    • In MATLAB on the HOME tab, select Manage Add-Ons from Add-Ons in the Environment section.

    • At the right end of the entry for Communications Toolbox Support Package for Analog Devices ADALM-Pluto Radio, click the setup gear button . Clicking the setup gear button opens the Hardware Setup app to update the firmware. Complete the firmware update by following instructions in the app.

  • Continue using a firmware version that is newer than the recommended version.

    • When using a newer than recommended firmware version, a warning message is occasionally printed in the command window noting the mismatch between support package and firmware version. The warning can be suppressed by entering the following code at the command line or by adding it to the startup.m file where you Specify Startup Options (MATLAB).

      warning('off','plutoradio:sysobj:FirmwareIncompatible');

Hardware Setup on Windows 7 — Test ADALM-PLUTO Radio Connection Failure

Problem

If all these conditions are true:

  1. You have Windows® 7 OS.

  2. Both transmitter and receiver tests fail during the hardware setup process.

  3. You see these errors when you call a Pluto radio object.

    rx = sdrrx('Pluto');
    rx()
    Undefined function or variable 'internal_design_filter'.
    Error in comm.libiio.AD9361.Filter.info.designDefaultFilter
    Error in comm.libiio.AD9361.base/setupFIR
    Error in comm.libiio.AD9361.base/initDevice
    Error in comm.libiio.AD9361.Rx/setupImpl

Possible Solution

Run the installer as administrator. Exit the installer and MATLAB. Start MATLAB as administrator and start the installer again. To run as administrator, right-mouse click the MATLAB icon and select Run as administrator.

Hardware Setup on Linux — Configure ADALM-PLUTO Radio Failure

Problem

Failure during configuration of ADALM-PLUTO radio on Linux® caused by inability to change the frequency band via the serial port. On certain Linux distributions, such as Ubuntu®, you are not able to communicate with the radio via the serial port to configure the frequency band.

Possible Solution

Use ssh to configure the frequency band, as follows:

  1. Determine the IP address assign for the radio. The factory default IP address is 192.168.2.1. Confirm the radio IP address by viewing the info.html file found in the PlutoSDR folder. The radio appears as a USB drive named PlutoSDR when the radio is connected to the host computer.

  2. At the Linux command prompt, enter the following commands (update the IP address to match the one determined in the prior step):

    ssh root@192.168.2.1
    
    The authenticity of host '192.168.2.1 (192.168.2.1)' can't be established.
    ECDSA key fingerprint is SHA256:MrvRV5EM7cdUe2bP0Vt2r4OQ5LKBc3PG08BGYMklblA.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.2.1' (ECDSA) to the list of known hosts.
    root@192.168.2.1's password: [ Enter "analog" as password ]
    
    analog
    Welcome to:
    ______ _       _        _________________
    | ___ \ |     | |      /  ___|  _  \ ___ \
    | |_/ / |_   _| |_ ___ \ `--.| | | | |_/ /
    |  __/| | | | | __/ _ \ `--. \ | | |    /
    | |   | | |_| | || (_) /\__/ / |/ /| |\ \
    \_|   |_|\__,_|\__\___/\____/|___/ \_| \_|
    
    http://wiki.analog.com/university/tools/pluto
    
    fw_setenv attr_name compatible
    fw_setenv attr_val "ad9364"
    pluto_reboot reset
    
    The radio reboots and you can close ssh.

Unable to Assign IP Address Radio Identity

Problem

MATLAB returns an error when you attempt to assign an IP address RadioID:

tx = sdrdev('Pluto', 'RadioID', 'ip:192.168.2.4');

Possible Solution

If you cannot successfully assign an IP address RadioID, and you are using Linux, these additional steps are required to configure and identify the ADALM-PLUTO radio via IP address:

  • To determine the IP and MAC addresses assigned the host computer and the IP address assigned to the ADALM-PLUTO radio, look in info.html. For example, use the command:

    grep -A 1 'IP Address (\|MAC Address (HOST)' /media/PlutoSDR*/info.html

  • Determine the Ethernet port assigned to the HW address. For example, use the command:

    ifconfig -a | grep eth[0-9]

  • Map the IP address to the associated Ethernet port based on the HW address associated with host computer. For example, if the Ethernet port is eth9 and the IP address is 192.168.2.10 use the command:

    sudo ifconfig eth9 192.168.2.10

  • Attempt communicating with the ADALM-PLUTO radio, For example, if the ADALM-PLUTO radio IP address is 192.168.2.1 use the command:

    ping -c 3 192.168.2.1

ADALM-PLUTO Radio Is Busy

Problem

MATLAB returns this warning message from a call to the info method:

info(dev)
## Establishing connection to hardware. This process can take 
## several seconds.

Warning: Cannot create a driver for the specified address. The address 
'ip: 192.168.2.1' is already owned by a block, block dialog, or System 
object. Stop the simulation, close the open dialog, or call the release 
method of the System object to allow a new owner to be assigned. 

This message means that the radio hardware is in use by another MATLAB or Simulink® session. ADALM-PLUTO radios can become busy when any of the following conditions occur:

  • A Simulink simulation is in progress.

  • A receiver or transmitter block is open.

  • A locked receiver or transmitter System object™ is in memory.

Possible Solution

Release the radio hardware by stopping the simulation, closing the block, or calling the release method of the System object.

No Data from Hardware

Problem

You are not receiving data from the radio hardware after streaming starts.

Possible Solutions

Reestablish Connection.  If you do not have a connection, it is possible that a radio identity conflict, a bad cable, or a loss of power is causing the problem. To reestablish connectivity:

  • Check the cables and power.

  • To make sure that you have a basic connection, refer to Manual Host-Radio Hardware Setup.

  • If you cannot establish communication with the host, check your radio hardware for faulty connections or defects.

Synchronize Software and Radio Hardware

  • For a radio object: Use the info method.

  • For a receiver block: Open the block mask and click Info.

  • For a receiver System object: Use the info method.

Unicode Conversion Error

Problem

This error can occur when you call any support package function that communicates with the radio hardware:

??? The conversion from a local code page string to unicode changes 
the number of characters. This is not supported.

This error occurs due to a mismatch between the localization settings of your computer and the radio hardware.

Possible Solution

Follow the Linux or Windows steps.

Linux

  1. At a command shell, enter one of the following commands to reset the locale to be compatible with the radio hardware:

    setenv LANG C

    or

    setenv LANG en_US.ISO8859-1
  2. If you are using Ubuntu 9.10 or 10.10, enter the following:

    export LANG=C

    This syntax may also work for other versions of Ubuntu.

Windows

  1. From the Windows start menu, click Control Panel > Clock, Language, and Region > Region and Language.

  2. On the Administrative tab, click Change system locale.

  3. Set Current system locale to English (United States).

  4. Click OK on each open window.

  5. Update the radio object by using the info method. If the method returns the expected IP address, the issue is resolved. If the info method does not return the expected IP address, refer to Manual Host-Radio Hardware Setup.