Updating ======== Instrument ---------- Firmware ^^^^^^^^ First, download the latest firmware for your instrument: |cluster|. The firmware can then be installed using the Qblox Configuration Manager tool ``qblox-cfg``, shipped with the ``qblox-instruments`` Python package. .. |pypi| raw:: html driver changelog on PyPi .. |cluster| raw:: html Cluster .. admonition:: Installing Qblox Configuration Manager :class: note, dropdown The configuration manager shipped with any ``qblox-instruments`` version should be able to communicate with all firmware versions. If you nonetheless run into problems with it (in particular when downgrading), please *update* ``qblox-instruments`` (make sure you have activated the correct environment using ``conda activate my-env-name``, see :ref:`getting_started/setup:Installation`): .. code-block:: console $ pip install --upgrade qblox-instruments In case of downgrading firmware of your instruments, afterwards, you may have to install an older version of ``qblox-instruments`` for it to be compatible with the firmware version you installed (see |pypi|): .. code-block:: console $ pip install qblox-instruments== Note that we used to ship the configuration manager with each firmware release, rather than with ``qblox-instruments``. This is, however, an older version of the tool, that will not be able to communicate with instruments running newer firmware versions. .. tip:: In general, the Qblox Configuration Manager tool can do much more than what's listed on this page. Run ``qblox-cfg --help`` for more information. Before and after the update, you can verify the firmware version of the instruments, using a terminal of your choice (for ``qblox-cfg`` to be available, remember to activate the correct environment using ``conda activate my-env-name``, see :ref:`getting_started_installation`): .. code-block:: console $ qblox-cfg 192.168.0.2 -v Then execute the firmware update, replacing ```` with the file you downloaded (Note: You should not unzip the firmware) : .. code-block:: console $ qblox-cfg 192.168.0.2 update After executing this command, follow the instructions given by the Qblox Configuration Manager. For tracking the progress of the update, in case of a Cluster, look at the status (S) LED of the CMM, it will (also see :ref:`cluster_leds`): * Turn ``red``/``purple`` during the update of the CMM, * ``yellow`` during the update of the other modules, * and finally ``white`` when done. .. admonition:: Tip: Updating all instruments on the network :class: tip, dropdown With this command you can list all instruments found on the network: .. code-block:: console $ qblox-pnp list The following command will update all instruments on the network, in case they are compatible with the update file specified: .. code-block:: console $ qblox-cfg -k all update The Qblox Configuration Manager will report that it failed if one of the instruments it found wasn't compatible, but (due to the ``-k`` flag, short for "keep going") it will try to apply the updates to all instruments, instead of stopping immediately after trying to update an incompatible instrument. .. admonition:: Tip: Verbose and Non-interactive modes :class: tip, dropdown By default, the Qblox Configuration Manager will ask you to confirm that you really want to update after printing a summary of the operations it will be performing. You can get more information by adding ``-v`` or ``-vv`` to the command line (or by inspecting the log file). Alternatively, if you want to automate ``qblox-cfg``, you may want to disable the prompt (a.k.a. non-interactive mode), which you can do with ``-y``. .. _ip address and name: IP address and name ^^^^^^^^^^^^^^^^^^^ .. admonition:: Default IP address :class: note The default IP address of the instrument is ``192.168.0.2``. Replace the IP address in any instruction listed on this page if the instrument's IP address was changed. To find the IP address of your instrument, see :ref:`ip_addr`. When connected to your instrument(s) directly or via network switches only (**NOT** via VPN or a router), you can instead use the instrument name or serial number to select an instrument. You can use the Qblox Configuration Manager to update the IP address of your instrument (for ``qblox-cfg`` to be available, remember to activate the correct environment using ``conda activate my-env-name``, see :ref:`getting_started/setup:Installation`): .. code-block:: console $ qblox-cfg 192.168.0.2 set-ip .. admonition:: Tip: DHCP and IPv6 :class: tip, dropdown Instruments can be configured to use DHCP instead of static addresses, or use IPv6 instead of (only) IPv4 addresses. Run ``qblox-cfg --help`` for more information. Or to change its name: .. code-block:: console $ qblox-cfg 192.168.0.2 set-name You can perform several operations at once, should you want to. For example, this will set the IP address and update the firmware of the instrument (originally) at ``192.168.0.2``: .. code-block:: console $ qblox-cfg 192.168.0.2 set-ip update After the update is completed, verify firmware version via: .. code-block:: console $ qblox-cfg -v Host PC ------- Qblox Instruments ^^^^^^^^^^^^^^^^^ To update your installation of the ``qblox-instruments`` driver package, run (make sure you have activated the correct environment using ``conda activate my-env-name``, see :ref:`getting_started/setup:Installation`): .. code-block:: console $ pip install --upgrade qblox-instruments Please make sure that the driver version you install is compatible with your Cluster firmware, verify via the |pypi|. Quantify ^^^^^^^^ If you have ``quantify-core`` or ``quantify-scheduler`` installed, a new version of Qblox Instruments may require you to update these as well: .. code-block:: console $ pip install --upgrade qblox-instruments quantify-core quantify-scheduler