Some huge news: I've done a bunch of reverse engineering on the Vtrux's CANBusses and now we have a bunch of CANbus specs for helping diagnose these trucks!
Quick summary: the Vtrux has 3 CANbuses, I've been calling them them the Powertrain, OBD, and Vehicle buses. Most of the Via high voltage components live on the Powertrain bus: battery, DCDC, generator inverter, charger, power electronics water pump, high voltage AC compressor. The drivetrain inverter and the original GM ECM live on the OBD bus, and the EBCM (brake/traction controls, etc) live on the Vehicle bus. Via's controller spoofs certain messages between the GM ECM and the EBCM to keep both happy (EBCM gets fake always-on engine data, for example).
All 3 of the buses are broken out at the white DLC connector below the dash - the Vehicle bus at the standard OBD canbus pins (CAN-H 6/CAN-L 14), then Powertrain at CAN-H pin 1/CAN-L pin 9, and OBD at CAN-H pin 10/CAN-L pin 2. Both of my trucks came with a breakout harness breaking these out to secondary connectors with each bus on the primary 6/14 pins, such that a standard OBDII connector to CAN adapter can interface with the buses that way, and I bet most other Vtruxes out there have these. P2 is the powertrain bus on mine and P1 is the OBD bus.
On one of my trucks, this harness was used to break out the OBD and Powertrain buses to wireless Bluetooth dongles, which were then connected to an iPhone tucked under the dash with a logging app. I was able to jailbreak the iPhone and pull the logger app off of it, then with the help of LLM tools using Ghidra, decompile the app and extract the CANbus specs from it.
I have not been able to figure out any way to read diagnostic codes from the Via controller - everything I've been able to figure is just directly analyzing log data directly. Which aligns with how Via used to support these trucks, with the mail in logger. But now we actually have meaningful fault diagnostic data - for example, the other day, I was trying to reinstall a pack in one of my trucks after replacing the contactors and cleaning up some corrosion, but the truck wouldn't turn back on when reconnected. I was able to pull a log and diagnose the issue as a high voltage interlock fault, and sure enough, when I got back home and opened the pack back up, turns out I had forgotten to reconnect the interlock connector on the charger HV DC connector which I had done some corrosion cleanup on.
Here are some links to the repo where I documented all the findings, including CANBus DBC definition files:
https://github.com/nickyivyca/canbus-reveng-vtrux-coda
https://github.com/nickyivyca/canbus-reveng-vtrux-coda/tree/main/projects/vtrux
If you are trying to diagnose issues with the trucks, probably the best option is to take a CAN log while the issue is happening of the Powertrain bus. Then either you can use the tools in the repo yourself to check the log, or you can send the log to me and I can try taking a look. If you do not already have a means of taking a CAN log then these will work if you have access to a Linux based computer that can use socketcan:
USB to CAN/DB9 adapter: https://www.amazon.com/gp/product/B09K3LL93Q
DB9 CAN to OBD adapter https://www.amazon.com/gp/product/B081N7G2BR
Important note: my previous assumption about my coolant pump was wrong. The truck does NOT suddenly turn off when either drivetrain or generator motor overheat. I did separate tests for both motors, unplugging the coolant pump and then driving around until the motors overheated. Both motors gently reduced their torque output when they overheated. It is still unclear to me exactly what was causing my truck to randomly shut off, since I only have one log of when it randomly shut off on me, which does not indicate an interlock or isolation fault, but swapping the battery pack with another running truck completely fixed the issue, so the issue was somewhere in the battery pack. I ended up replacing all 5 contactors, which looked like they had gotten hot over time, so once I can get it back in my other truck I can see if that indeed fixed the issue.