Appearance
Commissioning
The order below is not a suggestion. Address the extender before you put any factory-fresh device on the far segment — the reason is in step 5, and getting it wrong makes the new device impossible to address until you unplug something.
Everything below is run on the boat's Brain.
1. Wire both segments, then power up
CAN 1 to one segment, CAN 2 to the other. Both are MUXEN buses at 500 kbit/s; which is which does not matter to the box.
Before powering anything, check the termination of each segment separately with the extender unplugged: 60 Ω across each one on its own. Four resistors on the boat, two per segment — see Wiring, termination and load.
Then power up. The system LED must blink once a second. Anything else: Common mistakes.
2. Find it on the bus
sh
muxen-uds -i can0 uid --scanA factory box has no instance number yet (InstanceNum = 255) and publishes nothing until it gets one. The scan finds it anyway, from either segment.
3. Give it its two identities
The extender is two MUXEN devices, and both need an instance number:
| Device | Function | What it is |
|---|---|---|
| Bus extender | 31 | the repeating function itself |
| Generic I/O | 17 | the relays and inputs of the box |
A box that has never been configured is addressed by its UID, taken from the scan above:
sh
# the extender, here instance 0
muxen-uds -i can0 uid --uid <the-box-uid> --instance 0 --preferred-function-code 31
# the box's own I/O, here instance 4
muxen-uds -i can0 uid --uid <the-box-uid> --instance 4 --preferred-function-code 17--preferred-function-code is not optional: this box answers on two functions, and without it the tool does not know which one you are numbering.
Instance numbers run 0…62 boat-wide and must be unique across both segments. Do one box at a time: two unconfigured boxes on the bus at once collide on the parking address.
4. Check it is repeating
With the extender running, a scan from either segment must list the devices of both:
sh
muxen-uds -i can0 scanIf the list only contains what is on the Brain's own segment, the far side is not getting through — go to Common mistakes — bus extender.
The box itself reports on MQTT as any device does, on its generic I/O:
sh
mosquitto_sub -h 127.0.0.1 -t 'device/17/<io-instance>/life' -v
mosquitto_sub -h 127.0.0.1 -t 'device/31/<extender-instance>/boot' -v5. Only now, commission the far segment
While the extender is still unaddressed, it sits on the parking address — the address every factory-fresh device answers on — and it answers configuration traffic sent there itself, on the segment it came from, without passing it across. A brand-new box on the far segment would never see the request.
Once the extender has its own instance numbers (step 3), the parking address is free again, and a factory-fresh device anywhere on either segment is scanned, addressed and updated from the Brain exactly as if it were on the Brain's own wire.
So: extender first, everything else after. Then work through the far segment one box at a time, as usual — still one box at a time, for the same parking-address reason.
6. Nothing else to configure
There is no pairing list, no bitrate and no device table. The repeating function has no setting that changes what crosses. The two CanBus1Area / CanBus2Area parameters are labels only — see Reference — bus extender.
Once the box is addressed and both segments are terminated, it is done, and it stays done across power cycles.
7. Keep a copy
sh
muxen-uds -i can0 -F 31 -I 0 readconfig --save-as-csv bus-extender.csvTwo instance numbers is all there is to lose, but write down which segment is on which connector and where the four terminations are. That is the part nobody remembers three years later.
