Skip to main content
Re-runs the CAN startup script to configure and bring up the interfaces. Normally you don’t need it: can.setup registers a @reboot cron hook and a hotplug service that re-runs the bring-up whenever the Axol Hub (re-)enumerates, so both reboots and mid-session replugs recover on their own. It remains useful as a manual fallback (e.g. after stopping the interfaces yourself, or on a machine set up with an older can.setup that lacked the hotplug service). Requires can.setup to have been run first. For setups without the Axol Hub CAN adapter, pass --channels to bring up other SocketCAN interfaces directly — one for a single arm, two for both. This skips the hub startup script (no can.setup needed): each named interface is configured (1 Mbit/s bitrate, txqueuelen) and brought up; interfaces already up are left untouched. The startup script also brings up Jelly’s pinned wheel bus (can_alm_axol_b) and, when the lift controller has its own adapter, the chest bus (can_alm_axol_c); a lift sharing the wheel bus rides can_alm_axol_b and needs no extra interface. It skips any interface — arm hub, Jelly, or chest — that isn’t attached, so every hardware combination (Jelly-only, arm-only, all of them) comes up cleanly. You rarely need to run this for Jelly or its lift anyway: axol teleop brings their interfaces up itself when it starts.
No hardware-profile flag is needed: the command runs every startup profile created by can.setup, skipping adapters that are currently unplugged.