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,

    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

  • Hi again,

    Sorry, I didn't really use my brain earlier. Are you following this guide? https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.5.0/nrf/protocols/thread/tools.html#thread-border-router

    Because the only reason to have nrfutil is to flash the 52 dongle/DK to use as a coprocessor. You could do this on any machine really, through our Programmer app or nrfutil, or nrfjprog.exe.

    So it's not really a dependency for setting up OTBR. If you're having trouble, I would recommend you just use your other development PC to create the coprocessor.

    Good luck!

    Best regards,

    Raoul

  • Oh yes my friend Raoul.

    I do not need the Raspberry to program the dongle/DK

    I didn't use my brain also but following the instantiation instructions you noted to program it in the OTBR.

    So do not bother any more. I will do it with nrfutil binary into my UBUNTU LTS running on my laptop.

    OTBR solved on Raspberry 4. That is loading UBUNTU 20 LTS and Then Install OTBR.

    One last Thing I will do is to program another SD using UBUNTU LTS 22 64 Bit on Raspberry 4.

    It is better if it will. Then I will put results here for other people to know.

    Regards

    Vasilis

  • Fantastic, glad to hear!

    Best regards,

    Raoul

  • OK

    OTBR is running on Raspberry 4 (4GB RAM)  + UBUNTU LTS 22 64 Bit . OK

    OpenThread Radio Co-processor on nRF52840 Dongle is configured  using PC with UBUNTU 20 LTS. OK

    Concern this thread as answered

    Now I have bigger problems on setting up the Matter and Thread network. The documentation is confusing.

    But that will be another thread.

    Thank you Raoul

    Vasilis

Reply Children
Related