bbrootbeer
New member
I have been messing with teensy4.1 and canbus for close to 3 months now, with flexcan_t4 library and a slcan script from MotorsportUJI, which is linked below
Getting the frames was pretty straightforward on most of the can devices i have tested, but what to do with them, as well as live interaction with the device, not so much... chatgpt kept on telling me to use savvycan, and told me to try to port gvret firmware... which i tried (it was not the teensyret firmware tho), and it turned from a couple of errors to hundreds of errors within a few hours. and then i gave up. I also tried using esp32 for a little bit, which also didn't just werk, and after doing that, im not even sure that i need gvret for this part of my project... i dont understand how it works really...
I then found this slcan script https://github.com/MotorsportUJI/teensy4.1-slcan that works with savvycan for logging, but it seems that there is problems communicating with the device? im not sure that it is receiving inputs from savvycan... MAYBE i should just look into this slcan script more, and proceed with using it...
BUT i keep seeing this https://github.com/collin80/TeensyRET repository, and i wonder if porting it to teensy4.1 using the Flexcan_T4 library is possible, but after the last failure im not sure that i should attempt... obviously it would be cool if all the savvycan features were working, but it might take a long time, and i barely know c++, a little more than i did a few months ago... but yeah never used it before this.
i have recently seen a video about the fuzzing capabilities of savvycan... and that seems to be a pretty important thing to be able to do?
the end goal, or why i am messing with this, is that my radiator fan doesn't seem to turn on when the engine gets hot... it only turns on when the airconditioner is on, so i wanted to somehow, tell the fan to turn on... which maybe if i capture frames from somewhere else on the vehicle other than the obd port, i would be able to identify what frame is turning on the fan, and then fuzz that specific id, and see if i can get high and low working, as it only tuns on high, with the air conditioning on... I cannot see these "fan on" frames reading from the obd port... there are only 8ids that can be captured from the obd port... and none of them appear when the fan is turning on, i think they all appear, right as you turn the key... I have considered that maybe the coolant temperature sensor wasn't working, but when i use other car scanning apps on android, i can see it rising, and it appears to be accurate, i can see the frames emitted by the android scanner (which i think are some isotp requests or something like that) in addition to the original 8 frames... so yeah im wanting to mess with sending isotp frames, or whatever types of frames these other diagnotic tools are sending, i think... as for why my fan can't react to the rising temp, and turn on, im not sure... it might not even be a computer issue, but... i think it is... so i just want to eventually make the teensy read the temperature, and turn the fan on when it hits a certain threshold... and maybe more than that... but thats the plan as of now.
getting to that point, from a raw can frame dump... is taking a longer than i had anticipated, and i think i have spent a lot of time learning things, that while interesting, were completely unrelated to finishing the original goal... and im not sure what i would use to figure this out other than savvycan or, reading the frames from another device that can actually engage the fan on with different speeds... it seems like there is some other python options, for investigating what is going on, as well as fuzzing... that i could consider instead of savvycan? im not really sure
im open to attempting this port, or any other suggestions
thank you, bbrootbeer
Getting the frames was pretty straightforward on most of the can devices i have tested, but what to do with them, as well as live interaction with the device, not so much... chatgpt kept on telling me to use savvycan, and told me to try to port gvret firmware... which i tried (it was not the teensyret firmware tho), and it turned from a couple of errors to hundreds of errors within a few hours. and then i gave up. I also tried using esp32 for a little bit, which also didn't just werk, and after doing that, im not even sure that i need gvret for this part of my project... i dont understand how it works really...
I then found this slcan script https://github.com/MotorsportUJI/teensy4.1-slcan that works with savvycan for logging, but it seems that there is problems communicating with the device? im not sure that it is receiving inputs from savvycan... MAYBE i should just look into this slcan script more, and proceed with using it...
BUT i keep seeing this https://github.com/collin80/TeensyRET repository, and i wonder if porting it to teensy4.1 using the Flexcan_T4 library is possible, but after the last failure im not sure that i should attempt... obviously it would be cool if all the savvycan features were working, but it might take a long time, and i barely know c++, a little more than i did a few months ago... but yeah never used it before this.
i have recently seen a video about the fuzzing capabilities of savvycan... and that seems to be a pretty important thing to be able to do?
the end goal, or why i am messing with this, is that my radiator fan doesn't seem to turn on when the engine gets hot... it only turns on when the airconditioner is on, so i wanted to somehow, tell the fan to turn on... which maybe if i capture frames from somewhere else on the vehicle other than the obd port, i would be able to identify what frame is turning on the fan, and then fuzz that specific id, and see if i can get high and low working, as it only tuns on high, with the air conditioning on... I cannot see these "fan on" frames reading from the obd port... there are only 8ids that can be captured from the obd port... and none of them appear when the fan is turning on, i think they all appear, right as you turn the key... I have considered that maybe the coolant temperature sensor wasn't working, but when i use other car scanning apps on android, i can see it rising, and it appears to be accurate, i can see the frames emitted by the android scanner (which i think are some isotp requests or something like that) in addition to the original 8 frames... so yeah im wanting to mess with sending isotp frames, or whatever types of frames these other diagnotic tools are sending, i think... as for why my fan can't react to the rising temp, and turn on, im not sure... it might not even be a computer issue, but... i think it is... so i just want to eventually make the teensy read the temperature, and turn the fan on when it hits a certain threshold... and maybe more than that... but thats the plan as of now.
getting to that point, from a raw can frame dump... is taking a longer than i had anticipated, and i think i have spent a lot of time learning things, that while interesting, were completely unrelated to finishing the original goal... and im not sure what i would use to figure this out other than savvycan or, reading the frames from another device that can actually engage the fan on with different speeds... it seems like there is some other python options, for investigating what is going on, as well as fuzzing... that i could consider instead of savvycan? im not really sure
im open to attempting this port, or any other suggestions
thank you, bbrootbeer