Tools You WILL Need
Gray LED Flag Challenges (e.g. VIN, Reset, others)
These require knowledge of ISO 14229 UDS Diagnostics. Check out this Wikipedia page, or this PDF for more information. Also, check out examples (below). In Gray LED Challenges, you must find the Command ID and Reponse ID of your virtual cluster in order to complete the challenge. Each Controller has a Command ID (you will send this in the Arbitration ID of the CAN Frame) and a Response ID (the controller will return this ID in the Arbitration ID of the CAN Frame).
Gauge Override Challenges
These require you to override the simulated vehicle's intention of having guage values at zero. For each gauge, you need to figure out how to send a CAN Frame to override and control the gauge from a non-zero value. For every second you are successful, you will earn a point, up to 100.
- Each challenge is worth 100 points.
- The goal is to send CAN Frames to the Virtual Instrument Cluster to Activate flags. These Flags are listed in the Cluster.
- Gray LEDs will turn green when you have successfully completed a challenge.
- Scores below the gauges will increment when you have successfully overridden their commands.
- When playing, each team will be assigned a unique ID. This ID listed on top of the panel for your Virtual Cluster. Be careful, you can score on opponents Virtual Cluster.
- Don't cheat or borrow from other players' work, that's no fun.
- Don't DoS everyone on the bus. When you send messages on the bus, don't make it so that no one else can send CAN Frames.
- Please be respectful of others.
- Please follow the Code of Conduct of the conference.
Sending a CAN Frame in Linux using socketCAN and CanUtils:
- "cansend ics0can0 111#1122334455667788" //This will send the 0x111 Frame on CAN0 one time
- "cansniff ics0can0" //This will allow you to see data on CAN
ISO 14229 Messages (Arb ID//Data): (000//023E010000000000) ... (7FF//023E010000000000) <-- Increment through all IDs to PIN the Controllers.
Each Controller has a Command ID (you will send this in the Arbitration ID of the CAN Frame).
Each Controller has a Response ID (the controller will return this ID in the Arbitration ID of the CAN Frame).
With the Command and Response IDs you can command the controllers using ISO14229 services.
ISO 14229 Uses ISO 15765-2 Transport Protocol. For more information on this protocol please read this.
You will receive a lot of Negative Repsonses (03 7F XX YY) where XX is the Service that failed and YY is Negative Reponse Code. Please view the NRC List here.