oxidecomputer / oxidecomputer/dendrite

Want dynamic tx-eq tuning

Open
#353 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
20
Forks
3
Avg merge
3d 11h
Merged PRs (30d)
4

Description

We have a static set of default values that we ship with Dendrite for determining what the transmit equalization settings should be for a given transceiver. However, experience has shown that these do not always work.

For transceivers that do not have explicit tx-eq settings override from the operator, we should use these values as initial conditions rather than a static specification. When a link does not come up due to tx loss of lock or tx loss of signal, we should have an algorithm to tune the link dynamically. Ideally this could be a feedback-based control if we can get said feedback from the transceiver module. We had an issue recently where I manually did this based on intuition on how the tx-eq circuit works and the fact that we were seeing loss of lock. But to the extent possible this should be automatic based FIR circuit models and feedback based observations.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with dpd/misc/xcvr_defaults.csv and trace how Dendrite uses these transceiver transmit-equalization defaults. Determine whether the transceiver exposes feedback for tx loss of lock or signal, then define and validate a dynamic tuning approach that preserves explicit operator overrides and replaces static values with initial conditions.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.