feat: CANable 2.0 bringup (Issue #643) #648

Closed
sl-jetson wants to merge 0 commits from sl-jetson/issue-643-canable-bringup into main
Collaborator

Summary

  • udev rule 70-canable.rules: matches CANable 2.0 (gs_usb, VID 1d50 / PID 606f), renames iface to can0, runs ip link set can0 up type can bitrate 500000 on plug-in
  • systemd service can-bringup.service: oneshot, bound to sys-subsystem-net-devices-can0.device, brings up can0 at 500 kbps on boot; survives replug via udev fallback
  • helper script jetson/scripts/can_setup.sh: up / down / verify subcommands; verify runs candump can0 — expect frames from VESC IDs 61 (0x3D) and 79 (0x4F) at 500 kbps
  • install_systemd.sh updated: installs can-bringup.service, both udev rule files, reloads udev, enables service

Test plan

  • Plug in CANable 2.0, confirm can0 appears: ip link show can0
  • sudo ./jetson/scripts/can_setup.sh verify — confirm CAN frames from VESC IDs 61 and 79
  • Reboot, confirm can0 is up without manual intervention: systemctl status can-bringup
  • journalctl -fu can-bringup — no errors on startup

Closes #643

🤖 Generated with Claude Code

## Summary - **udev rule** `70-canable.rules`: matches CANable 2.0 (gs_usb, VID 1d50 / PID 606f), renames iface to `can0`, runs `ip link set can0 up type can bitrate 500000` on plug-in - **systemd service** `can-bringup.service`: oneshot, bound to `sys-subsystem-net-devices-can0.device`, brings up `can0` at 500 kbps on boot; survives replug via udev fallback - **helper script** `jetson/scripts/can_setup.sh`: `up / down / verify` subcommands; `verify` runs `candump can0` — expect frames from VESC IDs 61 (0x3D) and 79 (0x4F) at 500 kbps - **install_systemd.sh** updated: installs `can-bringup.service`, both udev rule files, reloads udev, enables service ## Test plan - [ ] Plug in CANable 2.0, confirm `can0` appears: `ip link show can0` - [ ] `sudo ./jetson/scripts/can_setup.sh verify` — confirm CAN frames from VESC IDs 61 and 79 - [ ] Reboot, confirm `can0` is up without manual intervention: `systemctl status can-bringup` - [ ] `journalctl -fu can-bringup` — no errors on startup Closes #643 🤖 Generated with [Claude Code](https://claude.com/claude-code)
sl-jetson added 1 commit 2026-03-17 09:49:48 -04:00
- udev: 70-canable.rules — gs_usb VID/PID 1d50:606f, names iface can0 and brings it up at 500 kbps on plug-in
- systemd: can-bringup.service — oneshot service bound to sys-subsystem-net-devices-can0.device
- scripts: can_setup.sh — manual up/down/verify helper; candump verify for VESC IDs 61 (0x3D) and 79 (0x4F)
- install_systemd.sh updated to install can-bringup.service and all udev rules

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sl-jetson closed this pull request 2026-03-18 07:53:03 -04:00

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#648
No description provided.