> ## Documentation Index
> Fetch the complete documentation index at: https://docs.almond.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# can.enable

> Manually re-run the CAN interface bring-up.

Re-runs the CAN startup script to configure and bring up the interfaces. Normally you don't need it: [`can.setup`](/cli/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`](/cli/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 the [powered cart](/guides/vr-interface#powered-cart)'s pinned wheel bus (`can_alm_axol_b`) and the chest bus carrying the lift controller (`can_alm_axol_c`) when they were configured, and skips any interface — arm hub, cart, or chest — that isn't attached, so every hardware combination (cart-only, arm-only, all of them) comes up cleanly. You rarely need to run this for the cart or lift anyway: [`axol teleop`](/cli/teleop) brings their interfaces up itself when it starts.

```bash theme={null}
axol can.enable                      # Axol Hub (startup script)
axol can.enable --channels can0      # one non-hub adapter
axol can.enable --channels can0 can1 # two adapters / channels
```
