pi_audio/instances/adac.md
Me Here f0a07c269d Restructure into a reusable, genericized deploy kit
Reorganize the repo so it can rebuild the audio hub on any Pi, not just
the live `adac` box:

- README.md: now a project landing page (overview, repo map, deploy
  summary) instead of the adac-specific maintenance guide.
- MAINTENANCE.md: the "how it's wired / day-to-day upkeep" guide,
  genericized with <pi-host>/<pi-ip>/<lan-cidr>/<desktop-host> placeholders.
- config/: the actual PipeWire/WirePlumber drop-ins as deploy-ready
  templates (<VOLT_SOURCE>/<VOLT_SINK>/<LAN_CIDR> placeholders, with the
  commands to resolve them in each file's header comment).
- systemd/bt-agent.service, firmware/config.txt.snippet: the remaining
  deployable artifacts.
- instances/adac.md: the live deployment's real values (host, IP, Volt
  serial, paired phones, history) — the one place machine-specific data
  lives.
- RUNBOOK.md: replace the hardcoded LAN subnet with <lan-cidr>.
- root-README.md: genericized; .gitignore keeps local harness settings out.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 08:06:03 -05:00

55 lines
2.4 KiB
Markdown

# Instance: `adac`
The live deployment. Substitute these values for the `<placeholders>` in
`RUNBOOK.md`, `MAINTENANCE.md`, and the `config/` templates.
## Identity & network
| Placeholder | Value |
|---|---|
| `<pi-host>` | `adac` (reachable as `adac.local`) |
| `<pi-ip>` | `10.12.10.110` (wired `eth0`) |
| `<lan-cidr>` | `10.12.10.0/24` |
| `<desktop-host>` | `animal` (the desktop; shows up as `Tunnel for user@animal` streams) |
| login user | `user` (uid 1000) — the account PipeWire runs under |
## Audio interface
- **Universal Audio Volt 4** (model **476P**), serial **22432056005060**, USB, in
**Pro Audio** profile.
- PipeWire card: `alsa_card.usb-Universal_Audio_Volt_476P_22432056005060-00`
- `<VOLT_SOURCE>` (for `30-mixer-return.conf`):
`alsa_input.usb-Universal_Audio_Volt_476P_22432056005060-00.pro-input-0`
- `<VOLT_SINK>` (for `40-desktop-34.conf`):
`alsa_output.usb-Universal_Audio_Volt_476P_22432056005060-00.pro-output-0`
- Network advert name (auto-generated from the model): **"Volt 476P Pro"**.
## Physical patching
| Volt jack | Carries | Patched to |
|---|---|---|
| Outputs 1/2 | Phone (Bluetooth) + desktop default audio | Mixer channel A |
| Outputs 3/4 | Desktop "Desktop (Volt 3/4)" feed | Mixer channel B |
| Inputs 3/4 | Mixer main output (the return → OBS) | Mixer main out |
## Bluetooth phones (paired + trusted)
| Name | MAC | Trusted |
|---|---|---|
| `Pixel 8 Pro` | `B8:DB:38:79:90:CC` | yes (2026-06-15) |
| `atomic` | `A4:42:3B:9A:5F:82` | yes (2026-06-15) |
## Notes / history
- **Wi-Fi disabled** in firmware (`dtoverlay=disable-wifi`); the box is wired-only.
If the wired link dies it's unreachable until the cable/switch is fixed.
- A stock `filter-chain.service` runs but uses the default config and does **no**
custom processing — ignore it; there's no EQ/filter set up.
- **2026-06-14 "connected but silent" fault:** the desktop (`animal`) tunnel
streams arrived **muted** on the Pi while routing was fine. Fixed with
`pactl set-sink-input-mute <id> 0`. Confirmed it survives reboot. If it recurs,
the mute originates on `animal` — unmute that output device on the desktop.
- Gain staging is **unity** end-to-end (all PipeWire stages 0 dB, no Volt hardware
attenuation). The desktop volume slider digitally scales the stream feeding the
mixer's line input; the mixer fader is the real "hub volume". Leave the desktop
at 100% and ride the mixer fader.