

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    

    
    <title>Mynewt FAQ - Newt Manager &mdash; Apache Mynewt latest documentation</title>
    

    
    
      <link rel="shortcut icon" href="../_static/mynewt-logo-only-newt32x32.png"/>
    

    

    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />

    
      <link rel="stylesheet" href="../_static/css/sphinx_theme.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/v2.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/custom.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/restructuredtext.css" type="text/css" />
    

    

    <link rel="stylesheet" href="../_static/css/overrides.css" type="text/css" />
          <link rel="index" title="Index"
                href="../genindex.html"/>
          <link rel="search" title="Search" href="../search.html"/>
      <link rel="top" title="Apache Mynewt latest documentation" href="../index.html"/>
          <link rel="up" title="Mynewt FAQ" href="index.html"/>
          <link rel="next" title="Mynewt FAQ - Porting Mynewt" href="port_faq.html"/>
          <link rel="prev" title="Mynewt FAQ - Newt" href="newt_faq.html"/> 

    
    <script src="../_static/js/modernizr.min.js"></script>

    
    <script>
    (function(i, s, o, g, r, a, m) {
	i["GoogleAnalyticsObject"] = r;
	(i[r] =
		i[r] ||
		function() {
			(i[r].q = i[r].q || []).push(arguments);
		}),
		(i[r].l = 1 * new Date());
	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
	a.async = 1;
	a.src = g;
	m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
    

  </head>

  <body class="not-front page-documentation" role="document" >
    <div id="wrapper">
      <div class="container">
    <div id="banner" class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="../_static/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released April 4, 2024)
            </div>
        </div>
    </div>
</div>
      
<header>
    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
        <div class="container">
            <!-- Collapsed navigation -->
            <div class="navbar-header">
                <!-- Expander button -->
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

            </div>

            <!-- Expanded navigation -->
            <div class="navbar-collapse collapse">
                <!-- Main navigation -->
                <ul class="nav navbar-nav navbar-right">
                    <li>
                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                    </li>
                    <li class="important">
                        <a href="/quick-start/">Quick Start</a>
                    </li>
                    <li>
                        <a href="/about/">About</a>
                    </li>
                    <li>
                        <a href="/talks/">Talks</a>
                    </li>
                    <li class="active">
                        <a href="/documentation/">Documentation</a>
                    </li>
                    <li>
                        <a href="/download/">Download</a>
                    </li>
                    <li>
                        <a href="/community/">Community</a>
                    </li>
                    <li>
                        <a href="/events/">Events</a>
                    </li>
                </ul>

                <!-- Search, Navigation and Repo links -->
                <ul class="nav navbar-nav navbar-right">
                    
                </ul>
            </div>
        </div>
    </nav>
</header>
      <!-- STARTS MAIN CONTENT -->
      <div id="main-content">
        





<div id="breadcrumb">
  <div class="container">
    <a href="/documentation/">Docs</a> /
    
      <a href="index.html">Mynewt FAQ</a> /
    
    Mynewt FAQ - Newt Manager
    
  <div class="sourcelink">
    <a href="https://github.com/apache/mynewt-documentation/edit/master/docs/mynewt_faq/newtmgr_faq.rst" class="icon icon-github"
           rel="nofollow"> Edit on GitHub</a>
</div>
  </div>
</div>
        <!-- STARTS CONTAINER -->
        <div class="container">
          <!-- STARTS .content -->
          <div id="content" class="row">
            
            <!-- STARTS .container-sidebar -->
<div class="container-sidebar col-xs-12 col-sm-3">
  <div id="docSidebar" class="sticky-container">
    <div role="search" class="sphinx-search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
    <!-- Note: only works when deployed -->
<select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest" selected>
    Version: latest
  </option>
  <option value="/v1_12_0" >
    Version: 1.12.0
  </option>
  <option value="/v1_11_0" >
    Version: 1.11.0
  </option>
  <option value="/v1_10_0" >
    Version: 1.10.0
  </option>
  <option value="/v1_9_0" >
    Version: 1.9.0
  </option>
  <option value="/v1_8_0" >
    Version: 1.8.0
  </option>
  <option value="/v1_7_0" >
    Version: 1.7.0
  </option>
  <option value="/v1_6_0" >
    Version: 1.6.0
  </option>
  <option value="/v1_5_0" selected="selected" >
    Version: 1.5.0
  </option>
  <option value="/v1_4_0" >
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction" >
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" >
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction" >
    Version: 0.9.0
  </option>
</select>
    <div class="region region-sidebar">
      <div class="docs-menu">
      
        
        
            <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../get_started/index.html">Setup &amp; Get Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/tutorials.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../external_links.html">Third-party Resources</a></li>
<li class="toctree-l1"><a class="reference internal" href="../os/os_user_guide.html">OS User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../network/index.html">BLE User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../newt/index.html">Newt Tool Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../newtmgr/index.html">Newt Manager Guide</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Mynewt FAQ</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="admin_faq.html">Administrative</a></li>
<li class="toctree-l2"><a class="reference internal" href="bluetooth_faq.html">Bluetooth</a></li>
<li class="toctree-l2"><a class="reference internal" href="boot_faq.html">Bootloader and Firmware Upgrade</a></li>
<li class="toctree-l2"><a class="reference internal" href="modules_faq.html">Drivers and Modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="fs_faq.html">File System</a></li>
<li class="toctree-l2"><a class="reference internal" href="hardware_faq.html">Hardware-Specific</a></li>
<li class="toctree-l2"><a class="reference internal" href="syntax_faq.html">Mynewt Syntax and Semantics</a></li>
<li class="toctree-l2"><a class="reference internal" href="nfc_faq.html">NFC</a></li>
<li class="toctree-l2"><a class="reference internal" href="newt_faq.html">Newt</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Newt Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="port_faq.html">Porting Mynewt</a></li>
<li class="toctree-l2"><a class="reference internal" href="troubleshoot_faq.html">Troubleshooting</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../misc/index.html">Appendix</a></li>
</ul>

        
      
      </div>
    </div>
  </div>
  <!-- ENDS STICKY CONTAINER -->
</div>
<!-- ENDS .container-sidebar -->

            <div class="col-xs-12 col-sm-9">
              
                <div class="alert alert-warning">
                  <p>
                    Version 1.5.0 is not the most recent version of the
                    Apache Mynewt documentation. Click <a href="/latest">here</a> to
                    read the latest version.
                  </p>
                </div>
              

              
              <div class="">
                <div class="rst-content">
                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
                   <div itemprop="articleBody">
                    
  <div class="section" id="mynewt-faq-newt-manager">
<h1>Mynewt FAQ - Newt Manager<a class="headerlink" href="#mynewt-faq-newt-manager" title="Permalink to this headline">¶</a></h1>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><p><a class="reference internal" href="#connection-profile-with-newtmgr" id="id1">Connection Profile with <code class="docutils literal notranslate"><span class="pre">newtmgr</span></code></a></p></li>
<li><p><a class="reference internal" href="#nmp" id="id2">NMP</a></p></li>
<li><p><a class="reference internal" href="#communicate-with-a-device-based-on-peer-id" id="id3">Communicate with a Device based on <code class="docutils literal notranslate"><span class="pre">peer_id</span></code></a></p></li>
<li><p><a class="reference internal" href="#newt-manager-with-the-adafruit-nrf52dk" id="id4">Newt Manager with the Adafruit nRF52DK</a></p></li>
</ul>
</div>
<div class="section" id="connection-profile-with-newtmgr">
<h2><a class="toc-backref" href="#id1">Connection Profile with <code class="docutils literal notranslate"><span class="pre">newtmgr</span></code></a><a class="headerlink" href="#connection-profile-with-newtmgr" title="Permalink to this headline">¶</a></h2>
<p><strong>Q</strong>: I’m trying to connect to an Adafruit nRF52 Feather Pro running Mynewt via the newtmgr tool on MacOS.
I have the device powered via micro USB to my Mac.  How do I find the “connection profile” of the device so
I can connect to it? I want to communicate over BLE and not serial.</p>
<p><strong>A</strong>: A connection profile tells newtmgr how to communicate with your device. You can create one using the
<code class="docutils literal notranslate"><span class="pre">newtmgr</span> <span class="pre">conn</span> <span class="pre">add</span></code> command. Try talking to your device without a connection profile first. If that works,
you can create a profile to make it easier to communicate with the device going forward.</p>
<p>For BLE, you can send an echo command to your device with something like this:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newtmgr --conntype ble --connstring peer_name=nimble-bleprph echo Hello</span>
</pre></div>
</div>
<p>That <code class="docutils literal notranslate"><span class="pre">peer_name</span> <span class="pre">string</span></code> is correct if your device is running the <code class="docutils literal notranslate"><span class="pre">bleprph</span></code> app.  You’ll need to adjust
it if your device has a different BLE name. The <code class="docutils literal notranslate"><span class="pre">--conntype</span> <span class="pre">ble</span> <span class="pre">--connstring</span> <span class="pre">peer_name=nimble-bleprph</span></code> part
is what would go in a connection profile. If you create one, then you can just specify the profile’s name rather
than typing that long string each time you send a command.</p>
</div>
<div class="section" id="nmp">
<h2><a class="toc-backref" href="#id2">NMP</a><a class="headerlink" href="#nmp" title="Permalink to this headline">¶</a></h2>
<p><strong>Q</strong>: What does NMP stand for?</p>
<p><strong>A</strong>: Newtmgr Management Protocol</p>
</div>
<div class="section" id="communicate-with-a-device-based-on-peer-id">
<h2><a class="toc-backref" href="#id3">Communicate with a Device based on <code class="docutils literal notranslate"><span class="pre">peer_id</span></code></a><a class="headerlink" href="#communicate-with-a-device-based-on-peer-id" title="Permalink to this headline">¶</a></h2>
<p><strong>Q</strong>: How do I communicate with a device using the newtmgr tool based on <code class="docutils literal notranslate"><span class="pre">peer_id</span></code>?</p>
<p><strong>A</strong>: The command to use is:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newtmgr -c myprofile --connstring peer_id=aa:bb:cc:dd:ee:ff image list</span>
</pre></div>
</div>
<p>Where device address has to be lowercase You can also create connection profile so you do not need to specify address each time:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newtmgr conn add mypeerprofile type=ble connstring=&quot;peer_id=aa:bb:cc:dd:ee:ff:&quot;</span>
</pre></div>
</div>
<p>Afterwards, you can then use:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newtmgr -c mypeerprofile image list</span>
</pre></div>
</div>
<p>Just be aware that <code class="docutils literal notranslate"><span class="pre">peer_id</span></code> has an OS-specific meaning.  In Linux, it is the peer’s Bluetooth address.  In macOS, it is the <code class="docutils literal notranslate"><span class="pre">UUID</span></code> that the OS chooses to assign to the peer.</p>
<p>If you prefer to forgo connection profiles and see everything on the command line here is an alternative method:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">newtmgr --conntype ble --connstring peer_id=aa:bb:cc:dd:ee:ff image list</span>
</pre></div>
</div>
</div>
<div class="section" id="newt-manager-with-the-adafruit-nrf52dk">
<h2><a class="toc-backref" href="#id4">Newt Manager with the Adafruit nRF52DK</a><a class="headerlink" href="#newt-manager-with-the-adafruit-nrf52dk" title="Permalink to this headline">¶</a></h2>
<p><strong>Q</strong>: I’m having issues using Newt Manager with the Adafruit nRF52DK. What do I do?</p>
<p>You can specify the reduced MTU by adding <code class="docutils literal notranslate"><span class="pre">mtu=128</span></code> to your connection string. The reason for this change is that
MTU is the serial boot loader used to have a smaller receive buffer (128 bytes). The newtmgr tool sends larger image
chunks by default, so specifying the MTU will reduce the image size.</p>
<p><strong>A</strong>: There are two things you will need to do to fix any issues you encounter when working with the Adafruit nRF52DK and Newt Manager:</p>
<p><strong>1. Specify a reduced MTU</strong>:
You can specify the reduced MTU by adding <code class="docutils literal notranslate"><span class="pre">mtu=128</span></code> to your connection string. The reason for this change is that
MTU is the serial boot loader used to have a smaller receive buffer (128 bytes). The newtmgr tool sends larger image
chunks by default, so specifying the MTU will reduce the image size.</p>
<p><strong>2. Indicate that the existing image should not be erased</strong>:
This is accomplished with the <code class="docutils literal notranslate"><span class="pre">-e</span></code> command line option. Your command line should look similar to the following:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>newtmgr<span class="w"> </span>--conntype<span class="w"> </span>serial<span class="w"> </span>--connextra<span class="w"> </span><span class="s1">&#39;dev=/dev/ttyUSB0,mtu=128&#39;</span><span class="w"> </span>image<span class="w"> </span>upload<span class="w"> </span>-e<span class="w"> </span>&lt;image-path&gt;
</pre></div>
</div>
<p>This change is needed because the serial boot loader doesn’t support the standalone “erase image” command - as a result,
it drops the request. The newtmgr image upload command starts by sending an erase command, then times out when it doesn’t
receive a response. The older version of newtmgr would use smaller chunk size for images, and it did not send the standalone
erase command. When newtmgr was changed in versions 1.2 and 1.3, the serial boot loader changed along with it. The latest
newtmgr is not compatible with an older version of the boot loader (which your board will probably ship with) without the
above workarounds.</p>
</div>
</div>


                   </div>
                  </div>
                  
    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
      
        <a href="port_faq.html" class="btn btn-neutral float-right" title="Mynewt FAQ - Porting Mynewt" accesskey="n">Next: Mynewt FAQ - Porting Mynewt <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="newt_faq.html" class="btn btn-neutral" title="Mynewt FAQ - Newt" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Mynewt FAQ - Newt</a>
      
    </div>

                </div>
              </div>
            </div>
            <!-- ENDS CONTENT SECTION -->
          </div>
          <!-- ENDS .content -->
        </div>
      </div>
      <footer>
  <div class="container">
    <div class="row">
      <div class="col-xs-12">
          
              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
          
      </div>
      <div class="col-xs-12">
          <div class="logos">
              <img src="../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
              <small class="footnote">
                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
              </small>
              <a href="">
                <img src="../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
              </a>
          </div>
      </div>
    </div>
  </div>
</footer>
    </div>
    <!-- ENDS #wrapper -->

  

    <script type="text/javascript">
        var DOCUMENTATION_OPTIONS = {
            URL_ROOT:'../',
            VERSION:'latest',
            COLLAPSE_INDEX:false,
            FILE_SUFFIX:'.html',
            HAS_SOURCE:  true,
            SOURCELINK_SUFFIX: '.txt',
            LINK_SUFFIX: '.html'
        };
    </script>
      <script type="text/javascript" src="../_static/jquery.js"></script>
      <script type="text/javascript" src="../_static/underscore.js"></script>
      <script type="text/javascript" src="../_static/doctools.js"></script>
      <script type="text/javascript" src="../_static/js/bootstrap-3.0.3.min.js"></script>
      <script type="text/javascript" src="../_static/js/affix.js"></script>
      <script type="text/javascript" src="../_static/js/main.js"></script>

   

  </body>
</html>