Sponsored

Can Bus Settings / Speeds / Commands

beaups

Well-Known Member
First Name
Sean
Joined
Dec 6, 2019
Threads
1
Messages
743
Reaction score
1,230
Location
Ohio
Vehicle(s)
2020 JL
Believe it or not, I'm actually going to push back on this point. Why? Hear me out. I'd like to take this to the next level.

Using Android Auto emulation on the Raspberry Pi, the Uconnect radio becomes a visual interface with touchscreen for my project. It could convey deep information while making user input intuitive and easy. Even that aside, there's just so much more potential when you think bigger.

Just spitballing here, one such thing might be long-term data collection (a personal black-box recorder), perhaps using a proven Enterprise tool such as Splunk or one of its open-source counterparts for sifting through the data. Trending faults (something as simple as cylinder misfires) and locating when there's a big shift in their trajectory can be used to indicate or even predict faults. (Even more so when the data is voluntarily shared in a cloud-based system with other drivers. That plus maintenance history would be incredibly revealing... and with privacy respected, I would hope it to be revealing in a very good way!)

When you massively increase storage and computing power, so many new possibilities are unlocked. I'd say that the Raspberry Pi is perfect in this respect, but while I share your next concern (which I'll paste below), I'd say that mine would be cybersecurity. It has to come first, and that's where a more capable platform normally becomes a problem.

I'd have to agree. As much as I hate it, I have a quote from a modern-day leader that I have to respect:

"You go to war with the army you have, not the army you might want or wish to have at a later time." --Donald Rumsfeld​

This might push the envelope a bit further. Hopefully in a good way, but I believe in that honest assessment.
All good. There are many ways to do these things. My point around simple is once you know the packets you need to send it can be done with a few lines of code on a simple RTOS device and not rely on a heavy/slow full OS/device to boot and work correctly. One other thing I'll add is if you are concerned about security, the implications of tying a full-blown linux computer with multiple tranceivers and thus a huge attack surface into your vehicle's CANbus is worth thinking about.

https://github.com/beaups/giulia_ESCape
Sponsored

 

jmccorm

Well-Known Member
First Name
Josh
Joined
Sep 15, 2021
Threads
54
Messages
1,151
Reaction score
1,275
Location
Tulsa, OK
Vehicle(s)
2021 JLUR
Build Thread
Link
Occupation
Systems Engineering
I've finally gotten the driver working. I was using the latest build of raspbian (5.10.63) so the CAN driver was already built into the kernel. By using Waveshare's driver install instructions, I prevented the native driver from working properly.

And... wow. The CAN driver takes advantage of kernel's built-in FIFO stack (and kernel memory buffer) just like it uses for TCP/IP networking. Event filtering is possible as well as multithreading. Dropped packets shouldn't be an issue, at least, not at the kernel level. NICE!

At this point, I'm moving my project's discussion over to it's own thread. Thanks for all the help, redracer. Hopefully we'll both still continue to have things to learn from one another!
 

jmccorm

Well-Known Member
First Name
Josh
Joined
Sep 15, 2021
Threads
54
Messages
1,151
Reaction score
1,275
Location
Tulsa, OK
Vehicle(s)
2021 JLUR
Build Thread
Link
Occupation
Systems Engineering
--vehicle settings from radio screens:
314#01.01 02 auto door locks off - on
314#02.01 02 auto unlock on exit off - on
314#07.01 02 flash lights with lock off - on
[ ... ]
314#21.01 02 Hill start assist off - on
I've uploaded all of your contributions to the CAN ID tracking spreadsheet along with the findings of others and myself. I have to say, I think it's coming along quite nicely! If you haven't taken a look recently, I hope to inspire you.

While I was plugging in all of your uConnect vehicle configuration settings, I saw that it used a completely different format for storing those than is used anywhere else I've come across so far. You start with a CAN address of 314, then the first byte (or the first byte followed by 03) is used to identify the setting being modified, followed by the changed value that you want to store. So writing $05.03 to CAN ID $314 selects the "Sound horn when locking" feature and adding a final $00 to the message is what tells it to disable that feature.

The problem I wondered is how you or I might go about determining what these and other variables have already been set to? Were you able to find a way?

I was thinking that it might not be possible at all (because the method of storing them is not reverseable), but then I remembered something. What the uConnect radio forgets it's settings, if you wait 24 hours, it finds a way to read them back in. And you there's an obscure procedure which can make that happen even faster.

Someone would have to simultaneously press the button that is in the center of the left volume knob, and press the button that is in the center of the right tuner knob, and hold those buttons down for a full 60 seconds. Then, when both the buttons are released, the uConnect radio radio reboots and recovers all of it's previous settings. I'm thinking that these settings (like the radio's configuration) are stored in another module, like the body control module, and they are retrieved from scratch whenever a reset method like that is used?

What are your thoughts?
 

huntb

Well-Known Member
First Name
Ben
Joined
Apr 19, 2020
Threads
6
Messages
76
Reaction score
21
Location
Michigan
Vehicle(s)
18 JLUS, 22 WL 4xe
I've uploaded all of your contributions to the CAN ID tracking spreadsheet along with the findings of others and myself. I have to say, I think it's coming along quite nicely! If you haven't taken a look recently, I hope to inspire you.

While I was plugging in all of your uConnect vehicle configuration settings, I saw that it used a completely different format for storing those than is used anywhere else I've come across so far. You start with a CAN address of 314, then the first byte (or the first byte followed by 03) is used to identify the setting being modified, followed by the changed value that you want to store. So writing $05.03 to CAN ID $314 selects the "Sound horn when locking" feature and adding a final $00 to the message is what tells it to disable that feature.

The problem I wondered is how you or I might go about determining what these and other variables have already been set to? Were you able to find a way?

I was thinking that it might not be possible at all (because the method of storing them is not reverseable), but then I remembered something. What the uConnect radio forgets it's settings, if you wait 24 hours, it finds a way to read them back in. And you there's an obscure procedure which can make that happen even faster.

Someone would have to simultaneously press the button that is in the center of the left volume knob, and press the button that is in the center of the right tuner knob, and hold those buttons down for a full 60 seconds. Then, when both the buttons are released, the uConnect radio radio reboots and recovers all of it's previous settings. I'm thinking that these settings (like the radio's configuration) are stored in another module, like the body control module, and they are retrieved from scratch whenever a reset method like that is used?

What are your thoughts?
I doubt the default settings are stored in the BCM. What is most likely occurring is that there is a copy of the default software stored in flash on the head unit itself and when the reset procedure is applied, it runs a bootloader application that reflashes the head unit with the default software
 

Nicor

Well-Known Member
First Name
Nico
Joined
Nov 11, 2017
Threads
8
Messages
92
Reaction score
124
Location
Colorado
Vehicle(s)
JLUR
I am about to join this project, the only question I have now is what are the best connectors to use?

Do you guys have both part numbers for the CAN-C and CAN-IHS if I want to get these from Mopar?

Thank you

Nico
Sponsored

 
 



Top