addons icon indicating copy to clipboard operation
addons copied to clipboard

openthread-border-router: Bump firmwares, flasher, and OTBR to latest versions

Open puddly opened this issue 1 year ago • 3 comments

@agners I've also bumped OTBR itself. It looks like dhcpcd is now installed and prefix delegation is in use, probably for Thread 1.4. Is this something we want to disable?

puddly avatar Oct 21 '24 15:10 puddly

I've set DHCPV6_PD_REF=0 in this PR for now to at least get it building. Untested.

puddly avatar Oct 21 '24 15:10 puddly

It looks like dhcpcd is now installed and prefix delegation is in use, probably for Thread 1.4. Is this something we want to disable?

What do yo mean by "dhcpcd is now installed"? With this change? We don't really use the regular installation script with the add-on, so I don't think that gets installed just like that no?

Afaik, dhcpcd was an option since a while.

Hm, Apple BRs use PD addresses already since a while, even with Thread 1.3. Not sure if this is directly related to 1.4.

agners avatar Oct 21 '24 15:10 agners

so I don't think that gets installed just like that no?

It's installed by bootstrap, which we run: https://github.com/openthread/ot-br-posix/blob/580cafc150946bc418aa6790a416bd2c951bae24/script/bootstrap#L110-L121

puddly avatar Oct 21 '24 17:10 puddly

It's installed by bootstrap, which we run: https://github.com/openthread/ot-br-posix/blob/580cafc150946bc418aa6790a416bd2c951bae24/script/bootstrap#L110-L121

Hm, I see that changed just recently with https://github.com/openthread/ot-br-posix/commit/3b145fa40ffec3eb49b535093d6388d5c7331d1b. We could opt-out of PD at this point, which might make sense.

I think there are two things we need to decide here: a) Do we want to update to Thread 1.4 (e.g. set OT_THREAD_VERSION=1.4) b) Do we want to enable IPv6 PD by default

I tend to say no to b). For a) I am a bit less certain. I'll check what setting Thread version to 1.4 exactly entails.

agners avatar Oct 24 '24 10:10 agners

I've reverted the advertised Thread version back to 1.3 and included the OTBR coprocessor version API patch.

puddly avatar Nov 14 '24 17:11 puddly

📝 Walkthrough
📝 Walkthrough

Walkthrough

The changes in this pull request include updates to the OpenThread Border Router (OTBR) components, with a new version entry for 2.12.0 added to the changelog, reflecting various enhancements and fixes. The Dockerfile introduces a new environment variable, while the build configuration files update specific version numbers for the OTBR and the Universal Silabs Flasher. Additionally, firmware version strings in scripts have been updated for specific devices, and new parameters have been added to a discovery script to enhance information sent to Home Assistant.

Changes

File Path Change Summary
openthread_border_router/CHANGELOG.md Added new version entry ## 2.12.0, detailing updates and fixes including firmware and log enhancements.
openthread_border_router/Dockerfile Added new environment variable: ENV DHCPV6_PD_REF 0.
openthread_border_router/build.yaml Updated OTBR_VERSION from ff7227ea9a2dc0e50f92ab93bd5c9a29e82fe793 to b041fa52daaa4dfbf6aa4665d8925c1be0350ca5 and UNIVERSAL_SILABS_FLASHER from 0.0.22 to 0.0.25.
openthread_border_router/config.yaml Updated version from 2.11.1 to 2.12.0.
openthread_border_router/rootfs/etc/s6-overlay/scripts/universal-silabs-flasher-up Updated firmware version strings for Home Assistant Yellow and Nabu Casa USB devices.
openthread_border_router/rootfs/etc/s6-overlay/scripts/otbr-agent-rest-discovery.sh Added new fields device and firmware to the JSON object for OTBR discovery.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant OTBR
    participant HomeAssistant

    User->>OTBR: Request device discovery
    OTBR->>OTBR: Retrieve configuration
    OTBR->>OTBR: Get firmware version
    OTBR->>HomeAssistant: Send discovery information (device, firmware)
    HomeAssistant-->>OTBR: Acknowledge discovery

📜 Recent review details

Configuration used: CodeRabbit UI Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between d4d12ca8f18ff556a6ff33a96418501311a8ae77 and bc15777527e0e398e482e4a0f28ded15dd9b2776.

📒 Files selected for processing (1)
  • openthread_border_router/CHANGELOG.md (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
openthread_border_router/CHANGELOG.md (6)

Pattern */**(html|markdown|md): - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.

  • Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
  • In step-by-step instructions, front the location phrase in the instructional sentence.
  • In step-by-step instructions, front the 'goal' in the instructional sentence.
  • In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
  • do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'

Pattern */**(html|markdown|md): - Use bold to mark UI strings.

  • If "" are used to mark UI strings, replace them by bold.

Pattern */**(html|markdown|md): - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"


Pattern */**(html|markdown|md): - Use sentence-style capitalization also in headings.


Pattern */**(html|markdown|md): do not comment on HTML used for icons


Pattern */**(html|markdown|md): Avoid flagging inline HTML for embedding videos in future reviews for this repository.

🔇 Additional comments (1)
openthread_border_router/CHANGELOG.md (1)

6-6: Verify the OTBR POSIX version commit hash and timestamp

Let's verify that the OTBR POSIX version commit hash and timestamp are accurate.

✅ Verification successful

OTBR POSIX version commit hash and timestamp are accurate

The commit hash b041fa52daa in the changelog corresponds to a real commit in the ot-br-posix repository with timestamp "2024-11-14T16:18:28Z", which matches the changelog entry's timestamp "2024-11-14 08:18:28 -0800" (both represent the same moment in different time zones).

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the OTBR POSIX version commit hash and timestamp

# Test: Search for the commit hash in the repository
gh api repos/openthread/ot-br-posix/commits/b041fa52daa --jq '.commit.committer.date' || echo "Commit not found"

Length of output: 106


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

coderabbitai[bot] avatar Nov 14 '24 18:11 coderabbitai[bot]