OTBR on Raspberry

Hi people,

I am trying to build the OTBR on Raspberry 4. A lot of discussions done here  to see if it is running on Raspberry 4 or not. I do not have a Raspberry 3.

I am confused after reading for 2 days trying to solve this out. Some posts are  old and I do not know if there is latest info on this

Here what I have done and found a brick wall so far

1 - I tried with  Raspberry 64 bit OS Bookworm.  No way installation frozen

3 - I tried 32 bit OS Bullseye .  OTBR installed with no errors but when trying to build the  RCP firmware onto an nRF52840 Dongle I ended up with errors:

<Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: arm-none-eabi-gcc
Build flags:
Id flags:  

The output was:
No such file or directory>

Is anyone did it on Raspberry 4 and how?

Can I do it other way and forget Raspberry Pi at all?

Load Ubuntu on Raspberry ? What version?

Forget Raspberry and run it on a known Ubuntu version in a PC?

And final question.

Do I need at all the OTBR (I know its role) to start developing Matter applications?

I have to move fast on a custom project that uses matter on the nRF5340 chip.
I have also nRF7002 DK, Thingy:91, nRF52840 dongle and Thingy:53 is on the road

Anybody can help to unstuck me?

Thank you

Vasilis

Parents
  • I did some more tests . I moved on. Nearly in the end but not finished

    A - With  Raspberry 32 bit OS Bookworm. (Raspberry CM4)

    OTBR software installed OK

    Problem in number 6 when trying to install nRF Util executing:

    $ python3 -m pip install -U nrfutil

    Then error:

    error: externally-managed-environment
    This environment is externally managed
    To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    For more information visit http://rptl.io/venv

    note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
    hint: See PEP 668 for the detailed specification.

    B - With Ubuntu 22 LTS

    It came nearly to the end but when executing # 7 Generate the RCP firmware package:

    $ nrfutil pkg generate --hw-version 52 --sd-req=0x00 \
        --application build/bin/ot-rcp.hex \
        --application-version 1 build/bin/ot-rcp.zip

    output reports something bad is happening

    vorrias@HP-EliteBook-8570p:~/ot-nrf528xx$ nrfutil pkg generate --hw-version 52 --sd-req=0x00 \
        --application build/bin/ot-rcp.hex \
        --application-version 1 build/bin/ot-rcp.zip

    FileNotFoundError: [Errno 2] No such file or directory: 'build/bin/ot-rcp.hex'

    Edited:

    Finlay in Ubuntu 22 LTS I uninstall nrfutil and reinstall the new version witch is binary and is not python dependent using this URL:

    https://www.nordicsemi.com/Products/Development-tools/nrf-util

    Then following final steps I managed to download Open Thread Radio Co-processor on nRF52840 Dongle

    Nordic documentation is huge and I think the new lifting is on the right direction.

    Sometimes a small info is missing and  drives you in the dark.

    Anyway I have an OTBR install on Ubuntu 22 LTS. Tomorrow I will see how (and if) this setup is working.

    Problem remains on building OTBR on Raspberry 4 (if that is possible at all)

    May be a script that install everything on the Raspberry 4  will be grate

    If anyone made any progress on that please make a note here.

    Then I will try to make some step by step notes on that

    Vasilis

  • Hi Vasilis,

    Thanks a lot for keeping us updated with your progress, and for sharing your feedback. I'm glad you got unstuck. I don't see any mention of Docker in your description - if you haven't used that already then I think it might make things easier next time.

    Regarding the script for a RPi4, I could pass that on as feedback. But I didn't get what the issue you experienced on the RPi 4 was exactly. Could you repeat or clarify what you experienced? If not, I'll try to reproduce it once I get my hands on a Raspberry Pi 4 myself.

    Best regards,

    Raoul

  • Hi Raoul,

    Thanks for your answer.

    The last 2 days I was doing a lot:

    For the OTBR I decided NOT to install it on Raspberry 4. Waste of time.

    I had only Raspberry Pi V4 with 4GB RAM and CM4 with 1GB RAM was available.

    Any Raspbian OS or Ubuntu Desktop (64 bits) 22 LTS was leading to problems. I couldn't  find UBUNTU Desktop 20 LTS 64 bits so I installed it on an UBUNTU 64Bit Desktop 20.04.6 LTS on a laptop.

    On the same computer (UBUNTU 20 LTS 64bits) running all the SDK tools + VS code because on an Ubuntu 22 LTS I have problems inside VS code with the Kconfig.

    I don't mind since I am able now to program  the nRF7002DK / nRF9160DK  modules with nRF Connect SDK + VS code + Ubuntu 20 LTS

    Following your suggestion I will try the Docker approach. This approach is suggested (with examples) by a participant in the MAKE IT MATER contest

    Finally I think that is my correct decision:

    1 - UBUNTU 20 LTS 64 bits for the programming tools.(works file now)

    2 - Docker for the OTBR (install it tomorrow)

    3 - I must forget the Raspberry Pi solution (and that is my advice to anyone else) until someone makes it work out of the box some time in the future (In Raspberry 4 or Raspberry 5).

    It bring only problems now.

    Hopefully in the weekend I will move on writing some Mater code because I am running of time.

    Consider this ticket answered (with the wish to see OTBR running on Raspberry 4 later) and both move on

    Thank you very much

    Regards

    Vasilis

  • As last chance to install OTBR on Raspberry 4.

    1 - Install Ubuntu LTS 20 server (64 bits) + Ubuntu Desktop

    2 - OTBR installed OK and running!.

    3 - Install all the tools and ot-rcp.hex file created successful

    4 - Now the problem arises when trying to install nrfutil (two methods)

    A - Install nRF Util: $ python3 -m pip install -U nrfutil

    python3 -m pip install -U nrfutil

    Collecting nrfutil

    Downloading nrfutil-6.1.7.tar.gz (845 kB)

    |████████████████████████████████| 845 kB 2.8 MB/s

    Requirement already satisfied, skipping upgrade: click in /usr/lib/python3/dist-packages (from nrfutil) (7.0)

    Collecting crcmod

    Downloading crcmod-1.7.tar.gz (89 kB)

    |████████████████████████████████| 89 kB 1.9 MB/s

    Collecting ecdsa

    Downloading ecdsa-0.18.0-py2.py3-none-any.whl (142 kB)

    |████████████████████████████████| 142 kB 6.4 MB/s

    Collecting intelhex

    Downloading intelhex-2.3.0-py2.py3-none-any.whl (50 kB)

    |████████████████████████████████| 50 kB 1.7 MB/s

    Collecting libusb1==1.9.3

    Downloading libusb1-1.9.3-py3-none-any.whl (60 kB)

    |████████████████████████████████| 60 kB 1.8 MB/s

    ERROR: Could not find a version that satisfies the requirement pc_ble_driver_py>=0.16.4 (from nrfutil) (from versions: 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.6.1, 0.6.2, 0.8.0, 0.8.1, 0.9.0, 0.9.1, 0.10.0, 0.11.0, 0.11.1, 0.11.2, 0.11.3, 0.11.4)

    ERROR: No matching distribution found for pc_ble_driver_py>=0.16.4 (from nrfutil)

    nrfutil is not installed. How can I fix that?

    B - Install nRFUtil v7 binary: https://www.nordicsemi.com/Products/Development-tools/nrf-util

    Put is on /usr/local/bin and make it executable

    Then run the nrfutil and got Error

    bash: /usr/local/bin/nrfutil: cannot execute binary file: Exec format error+-

    My question : Is nrfutil binary compiled for ARM?

    Having said that is any way to make nrfutil run on Raspberry 4 running Ubuntu 20 LTS?

    If yes problem solved on Raspberry 4. If not I have to abandon the idea and move on

    Thanks a lot

    Best regards

    Vasilis

  • Hi Vasilis.

    Thank you again for sharing your findings here for the others, I appreciate it!

    vorrias said:

    Then run the nrfutil and got Error

    bash: /usr/local/bin/nrfutil: cannot execute binary file: Exec format error+-

    My question : Is nrfutil binary compiled for ARM?

    nrfutil has undergone major changes with version 7:  One tool to rule them all: nRF Util becomes a unified command line utility

    Sadly, the new nrfutil does not support ARM architectures yet, and is only distributed in binary form.

    However based on the details you described I think you only need nrfutil version 6, which you can still find here: https://github.com/NordicSemiconductor/pc-nrfutil

    I don't have a Raspberry Pi available here, but hopefully you are able to compile this.

    Best regards,

    Raoul

  • Hi Raoul,

    I understand binary for ARM is out of the question now.
    That brings me in the first scenario. That is to use nrfutil 6.

    So I did:

    $ Install nRF Util: $ python3 -m pip install -U nrfutil

    That is producing the errors:

    ERROR: Could not find a version that satisfies the requirement pc_ble_driver_py>=0.16.4 (from nrfutil) (from versions: 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.6.1, 0.6.2, 0.8.0, 0.8.1, 0.9.0, 0.9.1, 0.10.0, 0.11.0, 0.11.1, 0.11.2, 0.11.3, 0.11.4)

    ERROR: No matching distribution found for pc_ble_driver_py>=0.16.4 (from nrfutil)

    Is the correct way I am installing it or is it wrong?

    If that can be corrected somehow that will solve the problem or I will forget it l

    Regards

    Vasilis

Reply
  • Hi Raoul,

    I understand binary for ARM is out of the question now.
    That brings me in the first scenario. That is to use nrfutil 6.

    So I did:

    $ Install nRF Util: $ python3 -m pip install -U nrfutil

    That is producing the errors:

    ERROR: Could not find a version that satisfies the requirement pc_ble_driver_py>=0.16.4 (from nrfutil) (from versions: 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.6.1, 0.6.2, 0.8.0, 0.8.1, 0.9.0, 0.9.1, 0.10.0, 0.11.0, 0.11.1, 0.11.2, 0.11.3, 0.11.4)

    ERROR: No matching distribution found for pc_ble_driver_py>=0.16.4 (from nrfutil)

    Is the correct way I am installing it or is it wrong?

    If that can be corrected somehow that will solve the problem or I will forget it l

    Regards

    Vasilis

Children
Related