Update of nrfutil for Linux!? (to 7.7.1)

Hello Nordics

any chance to get nrfutil updated to 7.7.1 like the Windows version?  This new version solves some problems concerning proxy/certificate handling an I need this for the Linux installation.

Regards

Hardy

Parents
  • Hi Hardy,

    nrfutil 7.7.1 is the latest version available also for Linux. You can update to it using "nrfutil self-upgrade".

  • Hello Einar,

    if self-upgrade would work, I would not have asked ;-)  Unfortunately it doesn't because I'm behind a proxy.  BUT: download via browser works (from the page above shown).  And this download is still at 7.7.0 for Linux.

    Please upgrade there as well.

  • No caching proxy, nothing...

    Even your zip file show the following "behavior":

    ardy@debian-hardy:~/Downloads$ unzip -v nrfutil_linux_x64_7.7.1.zip
    Archive:  nrfutil_linux_x64_7.7.1.zip
    Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
    --------  ------  ------- ---- ---------- ----- --------  ----
    14729864  Defl:N  4853251  67% 2024-03-22 09:25 40c20930  nrfutil
    --------          -------  ---                            -------
    14729864          4853251  67%                            1 file
    hardy@debian-hardy:~/Downloads$ unzip nrfutil_linux_x64_7.7.1.zip
    Archive:  nrfutil_linux_x64_7.7.1.zip
    replace nrfutil? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
     inflating: nrfutil                  
    hardy@debian-hardy:~/Downloads$ chmod +x nrfutil
    hardy@debian-hardy:~/Downloads$ ./nrfutil -V
    nrfutil 7.7.0 (c86dfaf 2024-01-23)
    commit-hash: c86dfaf44c47891c4d3ca9a90e8e9b1a7743aace
    commit-date: 2024-01-23
    host: x86_64-unknown-linux-gnu
    build-timestamp: 2024-01-24T08:57:41.30760052Z
    classification: nrf-external

    hardy@debian-hardy:~/Downloads$ md5sum nrfutil
    7c4e69bd209eed8aa3487116e73f90ae  nrfutil
    hardy@debian-hardy:~/Downloads$ md5sum nrfutil_linux_x64_7.7.1.zip
    59a492112d8e2bb271379e0e57605269  nrfutil_linux_x64_7.7.1.zip

    So even in your zip file is version 7.7.0.

    I'm a little bit clueless here.

    H.

  • Hi,

    It turns out that this is a bit more complicated. The nrfutil executable on the download page is a thin launcher that runs the nrfutil-core installed to ~/.nrfutil/bin/nrfutil. If ~/.nrfutil/bin/nrfutil is present, it runs ~/.nrfutil/bin/nrfutil. If it's not present, it bootstraps the latest version of nrfutil using https://github.com/NordicSemiconductor/nrfutil-package-index/blob/master/bootstrap.json. This was updated Wednesday last week.

    If you still have problems, an option can be to download developer.nordicsemi.com/.../nrfutil-x86_64-unknown-linux-gnu-7.7.1.tar.gz and do:

    nrfutil self-upgrade --from-tarball <path-to-tarball>

    The developers noted that ther has not been any chance in nrfutil with respect to prody recently thouh, but there has been changes in how proxies are handled in nrfutil-toolchain-manager. Is that the "command" you are looking for? If so, and ist till doesn't work, it would be interesting to know more about the proxy isuses and configuration to understand if ther is anythign we can do on our end to improve things (nrfutil is supposed to respect setting the HTTP_PROXY environment).

  • Hello Einar

    ok...  I must say, the mechanism with the install "stub" (14MB) and the actual executable (21MB) at ~/.nrfutil/bin is a little bit intransparent.

    Nevertheless I'm now at 7.7.1

    Unfortunately nrfutil 7.7.1 still does not seem to handle proxies correctly:

    hardy@debian-hardy:~/Downloads$ nrfutil --detect-proxy --log-level=trace --log-output=stdout --json search 
    {"type":"log","data":{"level":"INFO","message":"nrfutil (version = 7.7.1, platform = x86_64-unknown-linux-gnu) invoked with --detect-proxy --log-level=trace --log-output=stdout --json search ","timestamp":"2024-04-02T14:55:31.759Z"}}
    {"type":"log","data":{"level":"INFO","message":"Trying to detect proxy configuration automatically...","timestamp":"2024-04-02T14:55:31.759Z"}}
    {"type":"log","data":{"level":"INFO","message":"Using proxy helper program from '/usr/bin/proxy'","timestamp":"2024-04-02T14:55:31.759Z"}}
    {"type":"log","data":{"level":"INFO","message":"Running '/usr/bin/proxy https://developer.nordicsemi.com' to detect proxy configuration","timestamp":"2024-04-02T14:55:31.759Z"}}
    {"type":"log","data":{"level":"INFO","message":"Proxy configuration detected","timestamp":"2024-04-02T14:55:31.770Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"Registry is fetched with native git: false","timestamp":"2024-04-02T14:55:31.770Z"}}
    {"type":"log","data":{"level":"INFO","message":"Updating registry from https://github.com/nordicsemiconductor/nrfutil-package-index to /home/hardy/.nrfutil/registry","timestamp":"2024-04-02T14:55:31.770Z"}}
    {"type":"log","data":{"level":"TRACE","message":"get cv ConfigKey { env: \"NRFUTIL_REGISTRY_INDEX\", parts: [(\"registry\", 7), (\"index\", 16)] }","timestamp":"2024-04-02T14:55:31.770Z"}}
    {"type":"log","data":{"level":"TRACE","message":"get cv ConfigKey { env: \"NRFUTIL_SOURCE\", parts: [(\"source\", 7)] }","timestamp":"2024-04-02T14:55:31.770Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"loading: registry `https://github.com/nordicsemiconductor/nrfutil-package-index`","timestamp":"2024-04-02T14:55:31.770Z"}}
    {"type":"log","data":{"level":"TRACE","message":"loading SourceId; registry `https://github.com/nordicsemiconductor/nrfutil-package-index`","timestamp":"2024-04-02T14:55:31.770Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"updating the index","timestamp":"2024-04-02T14:55:31.770Z"}}
    {"type":"log","data":{"level":"TRACE","message":"get cv ConfigKey { env: \"NRFUTIL_HTTP\", parts: [(\"http\", 7)] }","timestamp":"2024-04-02T14:55:31.771Z"}}
    {"type":"log","data":{"level":"TRACE","message":"opened a repo without a lock","timestamp":"2024-04-02T14:55:31.789Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"attempting GitHub fast path for https://api.github.com/repos/nordicsemiconductor/nrfutil-package-index/commits/HEAD","timestamp":"2024-04-02T14:55:31.789Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"skipping gc as there's only 3 pack files","timestamp":"2024-04-02T14:55:31.977Z"}}
    {"type":"log","data":{"level":"TRACE","message":"get cv ConfigKey { env: \"NRFUTIL_NET\", parts: [(\"net\", 7)] }","timestamp":"2024-04-02T14:55:31.977Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"doing a fetch for https://github.com/nordicsemiconductor/nrfutil-package-index","timestamp":"2024-04-02T14:55:31.977Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"initiating fetch of [\"+HEAD:refs/remotes/origin/HEAD\"] from https://github.com/nordicsemiconductor/nrfutil-package-index","timestamp":"2024-04-02T14:55:31.977Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"fetch failed: failed to connect to github.com: Connection timed out; class=Os (2)","timestamp":"2024-04-02T14:57:46.553Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"initiating fetch of [\"+HEAD:refs/remotes/origin/HEAD\"] from https://github.com/nordicsemiconductor/nrfutil-package-index","timestamp":"2024-04-02T14:57:46.553Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"fetch failed: failed to connect to github.com: Connection timed out; class=Os (2)","timestamp":"2024-04-02T15:00:01.721Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"initiating fetch of [\"+HEAD:refs/remotes/origin/HEAD\"] from https://github.com/nordicsemiconductor/nrfutil-package-index","timestamp":"2024-04-02T15:00:01.721Z"}}
    {"type":"log","data":{"level":"DEBUG","message":"fetch failed: failed to connect to github.com: Connection timed out; class=Os (2)","timestamp":"2024-04-02T15:02:16.889Z"}}
    Error: Could not update package registry
    
    Caused by:
        0: failed to fetch `https://github.com/nordicsemiconductor/nrfutil-package-index`
        1: failed to connect to github.com: Connection timed out; class=Os (2)
    

    wget can fetch the problematic URL without problems.  Any chance to get this fixed?

  • Hi,

    Thanks for the information. We are looking into this, and have a couple of additional questions:

    1. Is it correct that this works fine for you on Windows?
    2. If so, is the Windows computer on the same network as the Linux computer?
    3. Can you check if using git directly works by doing "git clone github.com/.../nrfutil-package-index"?
    4. If so, can you try to set the environment variable "NRFUTIL_NET_GIT_FETCH_WITH_CLI=true" and see if that helps with nrfutil?
  • Hello Einar

    1. yes
    2. not exactly, but almost the same
    3. git clone works
    4. that makes it work :-)

    Now I can do "NRFUTIL_NET_GIT_FETCH_WITH_CLI=true nrfutil search", upgrade works also.  Installing a toolchain via "NRFUTIL_NET_GIT_FETCH_WITH_CLI=true nrfutil toolchain-manager install --ncs-version v2.6.0" works (not sure if the env variable is needed)

    In vscode "Manage toolchains/Install" does not work (perhaps more or less same cause), but SDK installation works fine.

Reply
  • Hello Einar

    1. yes
    2. not exactly, but almost the same
    3. git clone works
    4. that makes it work :-)

    Now I can do "NRFUTIL_NET_GIT_FETCH_WITH_CLI=true nrfutil search", upgrade works also.  Installing a toolchain via "NRFUTIL_NET_GIT_FETCH_WITH_CLI=true nrfutil toolchain-manager install --ncs-version v2.6.0" works (not sure if the env variable is needed)

    In vscode "Manage toolchains/Install" does not work (perhaps more or less same cause), but SDK installation works fine.

Children
Related