yashsingh1/xdaforums huggingface dataset:
[MTCB Android Head Units Q&A] Tisho_p:
Hi again,

I found it.

Actually the following command is the right one

public static final int CH_CMD_VEHICLE_SETTING = 0x26;

with two bytes of data. The steering angle are codded as following:

0x0000 is center, from 0x0000 up to 0x01FF is a left turn.

From 0xFFFF to 0xFE00 - right turn.

The packet which are transmitted via UART to head unit looks like that:

0x2E, 0x26, 0x02, 0x01, 0xFF, CRC

0x2E is a starting byte, 0x26 is a command. 0x02 is a data length. 0x01 and 0xFF is a steering angle data 0x01FF means full right position of steering wheel.

My CAN box decoder looks like:
[MTCB Android Head Units Q&A] Tisho_p:
Today i prepare some tests with my FW, and found that:

1. Everything working fine. Will upload video soon.

2. Current consumption is too high. About 20ma. I try to use microcontroller's sleep mode to reduce current consumption and avoid draining battery.
[MTCB Android Head Units Q&A] Tisho_p:
Unfortunately your hardware is completely different.

I saw in your code UART speed - 9600.

My China head unit works on 38400.
[MTCB Android Head Units Q&A] typos1:
What MCU is your unit ?
[MTCB Android Head Units Q&A] Tisho_p:
STM32F072
[MTCB Android Head Units Q&A] Tisho_p:
Here is the result:
[MTCB Android Head Units Q&A] typos1:
So youre in totally the wrong forum then - this forum is for MTCB/C head units.
[MTCB Android Head Units Q&A] Tisho_p:
... 😂 This microcontroller is located in CAN decoder box.

And yes my head unit is different, but the can decoder is same. I found topic for CAN decoder and starting to write, because most of discussed things are equal. :)
[MTCB Android Head Units Q&A] typos1:
Oops, sorry, I m also following a few other threads about the CAN Bus apps on MTC units, got the threads confused. :)
[MTCB Android Head Units Q&A] Nusferatu:
Actually I think that you are not quite right here... The MC in my canbox is a cheap STM32 ripoff "GigaDevice GD32F103", and I guess I could've adapted your FW for my hardware, or maybe just used it as an example to write my own (i've always wanted to learn and write smth for STM platform, but never really had a good reason to)

PS: I still think that if you are not planing to sell your fw, the fw source will be wholeheartedly welcomed here :)
[MTCB Android Head Units Q&A] marchnz:
Great to see real development happening here. Please keep going and share your work here.
[MTCB Android Head Units Q&A] Tisho_p:
Today i found that the can decoder box consumption is too high. About 20ma. This is not good when the car engine is stopped and only battery is the energy source.

Now i try to reduce current consumption using deep sleep mode in microcontroller.
[MTCB Android Head Units Q&A] Nusferatu:
AFAIK, original canbox consumption (in my case at least) is around 6ma in "idle mode" (headunit is turned off)
[MTCB Android Head Units Q&A] Tisho_p:
I don't know what will be the behavior of can transceiver IC if it's power supply is off. i read the datasheet but i did not found anything about this. Monday i will ask NXP guy, who support us for another projects with NXP ICs.

I found another bug in my code - when canbox receive too many messages from CAN line, the can box translate it to head unit, and head unit start to work slowly. Now i will send messages to head unit only if there is any changes in parameters that can box decoder observes.
[MTCB Android Head Units Q&A] darkspr1te:
Hi,

could you provide some photo's of the board? we can work out which uart it's using to talk to the H/U. so far the only can decoders i've handled have been the stm8 ones and not for my vehicles so i've not reversed them. as for the actual protocol i'll try and expand on that.

as i dont have a unit myself this is ALL theory based on collected works.

the H/U CAN app listens to the UART that is connected to the CANBUS decoder device, the comms is two way,

here is a example packet of info between the two

0x2E,0x21,0x5,0x0,0x10,0x0,0x0,0x0,0xC9

if we break it down from the above above its like so

START_BYTE,

PKT_BODY,

sizeof(MIN_DATA_SIZE),

FILLER_BYTE,

SEAT_BELT,

crc_mod(PKT_BODY,

sizeof(MIN_DATA_SIZE),

FILLER_BYTE,SEAT_BELT
[MTCB Android Head Units Q&A] Nusferatu:
Hey, darkspr1te

Here is the photo of PA-SS-05 with SW 2.28.001BYPS on board
[MTCB Android Head Units Q&A] darkspr1te:
Interesting it uses a GDm32f103 which is a clone of the stm32f103 , you might even be able to dump the firmware via the 5 pins at the top(in fact they do connect to the swd pins of the micro) , am going to assume they are swd/clk/reset/ground/3v + but not in that order.

darkspr1te
[MTCB Android Head Units Q&A] Nusferatu:
I've came to the same conclusions.

But i guess it will be better to order one of these canboxes, dump the firmware and investigate it "on the desk" instead of trying to pull it out of a running car :)
[MTCB Android Head Units Q&A] jazzor:
Can you upload the apk you used to decompile to the values?
[MTCB Android Head Units Q&A] darkspr1te:
Hi,

the mcu-head unit comms is a series of hex commands (see this post raw data )

this structure of a packet is listed here McuUart for canbox , you will find the rest of the example code for CANBOX there.

For a example see line #377 for a example getuartpkt and follow that through to see the making of a packet for requesting battery voltage,

darkspr1te
[MTCB Android Head Units Q&A] zokamc666:
Hello! The car mechanic replaced the factory head unit with an android isudar px6 vw radio. What I have is a 2009 vw sharan 2.0 pdtdi. Isn't it that the top of the mfa doesn't go where the radio shows your transmitter + volume, but that I noticed today that there are other warning pictograms there as well. There was not enough gasoline and the pictogram did not appear there, but there is the oil + water temperature brake pad, etc. That would be very important, I think. Sy might have a car like this with an android headunit. Or maybe an idea of sg. Bad canbus? Thanks for the reply in advance! In My country nobady can helped!
[MTCB Android Head Units Q&A] kostysha:
Could somebody share dump with live communication with various commands in it?

That greatly helps to test HW against HU.
[MTCB Android Head Units Q&A] darkspr1te:
theres a sample here h/u CAN box chat
[MTCB Android Head Units Q&A] Dannydownload:
Very interesting thread.

I have a Mazda 3 5005 (BK gen1) an changed the headunit and display with a android head unit and a 2007 lcd display (canbus enabled).

I'm searching to make the DIS (trip fuel consumtion) and clock working over can becaus the buttons are normaly on the original radio.

Is there somebody who could help me with adding features to my canbus adapter so more things are working

like doors and outside temp..

found also a very interesting video: Sniffing any CAN-bus on the cheap(5$) with Arduino, Tested on an VW Polo 9N3

He later made his own canbus module replacement Playing with CAN bus and Arduino Part 2, custom pcbs arrived!
[MTCB Android Head Units Q&A] darkspr1te:
While looking at another thread I found a arduino source to emulate the CANBOX adapter (unit between head unit and canbus)

CANBOX emulator
[MTCB Android Head Units Q&A] darkspr1te:
So i recently attached my VW raise based canbos to my headunit, set the type in factory settings and recorded the data. The first thing i noticed was a new screen show up with vehicle info, changing the vehicle type also add a second screen if the vehicle/box supports , the second screen allow options like lock control, ac control and more. The model i selected to see that screen was RAV4 raise/simple.

on powering up the canbox unit the vehicle will display a radar image and the a/c , speed, fuel etc when vehicle info screen is loaded. The H/u will then send out a stream of hex commands, the canbox however only sends data when something vehicle side (on the canbus) changes.

attached at the two streams.

the data is in hex format for ease.

more info to follow.

darkspr1te
[MTCB Android Head Units Q&A] darkspr1te:
For clarity I have formatted the two streams, 0x2e is start byte.

0x2E 0x01 0x02 0x01 0x01 0xDB

│ │ │ └───┼───┘ └────── checksum (0xFF - sum of the previous bytes excluding the header

│ │ │ └───────────── data bytes

│ │ └───────────────────── length of the payload

│ └────────────────────────── function id

└─────────────────────────────── header/start byte

0x2e Header/start byte

0x01 Function ID

0x02 Length of payload

0x01

0x01

0x01 Data bytes

0xDB CRC (0xff minus sum of func-id+length+databyte) - note crc can overflow

e.g 0x2E,0x90,0x01,0x1E,0x50

start byte , HC_CMD_REQ_CONTROL_INFO, payload size, data, crc ( 0xff - (0x90+0x01+0x1e) = 0x50 )

all data is type uint8_t

for breakdown of the Function ID's

see function ID's

this page is also relevant

VW Functions

I have added matched functions ID to the respective look up to assist in understanding, all data is one byte ,

e.g 0x00 or 0xff

Spoiler content hidden.

and then

Spoiler content hidden.

I will provide a sync'ed timestamped log soon as i write the code to do so on a arduino or something.

darkspr1te
[MTCB Android Head Units Q&A] firstbob:
I found this great video about CAN bus, mostly about decoding car messages. In the vid the author also makes DYI CAN bus box running Arduino and talks about power sleep modes for the MCP2515 driver (1uA standby).
[MTCB Android Head Units Q&A] marchnz:
Promoting this thread.
[MTCB Android Head Units Q&A] marchnz:
. Up
[MTCB Android Head Units Q&A] smartgauges:
Hi, I made an alternative firmware for two Chinese canboxes (OD-VOLVO-02 and VW-NC-003)

Schemes and sources are available on github: https://github.com/smartgauges/canbox

Maybe these sources will be useful to someone.
[MTCB Android Head Units Q&A] darkspr1te:
Nice work, i'am just going through and you've made it really easy to port.

I've not done any further work since last update and this show's me up :)

darkspr1te
[MTCB Android Head Units Q&A] Neogx:
Damn this is interesting. I been looking around for information on canbus box decoders. Since a Russian company started selling a canbus with an updated firmware that added more features to a canbus box for Mitsubishi lancer cars but the thing is no other company has what they are selling and they only sell in Russia
[MTCB Android Head Units Q&A] nhadrian:
Hi guys. Is this topic still active?

I am having issues with my head unit (sorry, MTCD not B) and my oem jbl amplifier in my peugeot rcz. The problem in short therms, I have sound for 1-2 only when adjusting volume. As soon as I stop adjusting volume, amp mute (or turn off)

After reading a lot of topics, I think the problem is related to CAN communication since this oem jbl amp is controlled through can, not by a 12v power signal.

I feel so close to solution since any other function works but cant solve it. Any idea? Can adapter is a simplesoft psa one.
[MTCB Android Head Units Q&A] typos1:
Post in the MTCD forum if you have an MTCD/E unit.
[MTCB Android Head Units Q&A] farazuaf:
great sir, would you like to share the details of programming VW-NC-003 or any other method. thanks
[MTCB Android Head Units Q&A] stoatwblr:
Based on my one (setup for a PSA - PA-SS-05) and Joying 20 pin connector, the "empty" pins are programmable but likely to follow this same pattern (output lines for headunits wanting these inputs)

3 - ILL

4 - BRAKE

12 - REVERSE

on mine 6+14 go to a separate speaker and 7-"key1", 16-"key2" - which is odd as there's a separate CAN in/out and IR connectors on this unit

Clearly there's a wide element of variability on these things
[MTCB Android Head Units Q&A] darkspr1te:
There are a few common designs for both the radio and the canboxes. I recently got one box that has as inputs on all the empty lines listed in my original post. this is sent as serial TX to the headunit.
[MTCB Android Head Units Q&A] sparkybg:
Does enyone know if there is a CAN box model to which the headunit sends information about the volume/balance/fader? My unit (XTrons MA70WRJLS, and yes, I kow it is not MTCB, but the CAN adapter is the same on all head units.) constantly sends same data to CAN BOX, but there is nothing in it that changes.

I want to implement my own CAN adapter that uses my Jeep Grand cherokee Boston audio amplifier volume/fader/balance settings instead of just turning it on on max volume and using head unit's volume and balance.
[MTCB Android Head Units Q&A] sparkybg:
Anyone?
[MTCB Android Head Units Q&A] sparkybg:
So I found one - it is type 45, which is Peugeot 3008 wth display. The volume, balance, fade, bass, treble and loudness is sent to the can box.

The volume command is 99 (2A 99 01 xx);

The balance/face... is 98 (2A 98 08 bal fade bass treble loudnes ?? ?? ??);

Now I am trying to find the IDs for steering wheel buttons, door status etc. but no luck so far.

I don't have this box for the moment, nor this protocol is listed in mctcoreservices source ot github. If someone has an idea when to look for, it would be great.

Also, I am trying to seg the headunit as fixed output level. If someone has an idea for this too, let me know.

And, does "ext amp" setting in your balance/fader/equaliser application actually do something? It does nothing on my XTrons copy of Junsun V1 Pro.
[MTCB Android Head Units Q&A] darkspr1te:
I recently found some updated sources

GitHub - cxsichen/helllo-world: cxs

cxs. Contribute to cxsichen/helllo-world development by creating an account on GitHub.

github.com

look under canreader for sources that deal with radio to canbox comms and what they do and which vehicles have which features, these are api v22 source and i've not got them to compile personally but i am refering to them to expand on the smartguages code posed on prior page which should give a good foundation for custom commands.

and this arduino app for some PSA vehicles,

GitHub - morcibacsi/JunsunPSARemote: An Arduino library to remote control Junsun Android 8227l head unit

An Arduino library to remote control Junsun Android 8227l head unit - morcibacsi/JunsunPSARemote

github.com

darkspr1te
[MTCB Android Head Units Q&A] thunder1384:
Cheers ! do you have firmware dump ?
[MTCB Android Head Units Q&A] anotherandrew:
This is interesting; I have a 2015 Passat TDI (B7 body) with the factory upgraded Dynaudio/Fender amplifier. Sadly this amp is controlled exclusively from CAN, and the HU does not know how to do this, nor does the vendor seem interested in adding it although I found the specific CAN commands to do so on this forum (here), github code repo for a standalone Arduino board to power on/off here.

I've been stalking all of your posts where you talk about these canbox units (and the various github repos as well) with the intention of seeing if the canbox units have a way of controlling the amp via CAN when given the right serial command from the HU.

I can see there is a headunit-to-canbox cmd 0xa0 (HC_CMD_AMPLIFIER) and similar response 0x27 (CH_CMD_AMPLIFIER_STATUS_INFO), but digging through a little more it appears that the amplifier commands do not include a power option, or perhaps it hasn't been discovered yet. I only see things like volume, min/max volume, EQ and sync speed properties.

Have you seen anything regarding the Dynaudio amplifier control that I might have missed? It's CAN ID is 0x6c7, but there's nothing in opendbc (or really anywhere but that github repo linked above).

Edit: one thing I forgot to mention is that I think one of the pins on these canbox units is for an amp input; I am going to try connecting the amp power signal from the HU there and see what happens. Probably nothing (useful). :-)
[MTCB Android Head Units Q&A] anotherandrew:
Using the HU "CAN Log" function (not really a CAN log, just a log of the serial port traffic) I see the following messages coming in every few seconds, and sometimes a few times a second, then with several seconds of no traffic). Command 0x7d isn't listed anywhere sadly:

Rx: 2e 7d 03 0b 70 30 d4
Rx: 2e 7d 03 0b 3e 30 06

These two seem to always come in pairs, the second usually fairly quickly after the first. If I play with the steering wheel controls I see the expected messages, but I also see unrecognized responses from the HU back to the canbox:

Rx: 2e 20 02 06 01 d6
Tx: 2e c4 01 8a b0

In this case, I pressed the microphone button on the SWC (which before I removed the factory voice/bt module would invoke the ****ty VW voice assistant), but the canbox saw that as the mute button. The response from the HU was to toggle mute, but the response it sent (0xc4) isn't listed anywhere that I can find.
[MTCB Android Head Units Q&A] darkspr1te:
I am still working on this but not made much progress of late. I have found that between the android side and the MCU side we have a ton of incompatible setups, e.g RIASE box uses 9600 baud and SK uses 38400 , RAISE supports VW canbus body controls but the SK does not. then the software on the android is a issue, older firmwares (including those that users have patched to support our h/units) retains the old canbus interface code demoed way back in 2012 which does not support body controls.

Now i suck at java so i am not even going there, what i've decided to do is find the android option that provides the most switching/control options and then emulate that canbox and have the car side independent.
[MTCB Android Head Units Q&A] anotherandrew:
heh I too suck at anything but C, VHDL, assembly on a half dozen or so architectures and a smattering of Python. I did manage to grab more CAN messaging from the original RNS510 HU to the amplifier and given that the Android software seems buggier than a Louisiana swamp I was thinking of doing something similar to what you described: a smarter CAN box which I can use to block certain messages and reroute them (such as SWC volume being redirected to the amp rather than the HU) and then hope for the Android software to get better over time.
[MTCB Android Head Units Q&A] marchnz:
Real modding and member contributions here!
[MTCB Android Head Units Q&A] fazerxlo:
Hi all. I'm working on modifying internal firmware of my CANBUS. Now I decoding CAN messages between car and original Radios. I plan to build android app by myself to mimic original car system. I have 2 android headunits 3 Peugeot radios, 4 Canbus boxes and BSI on my desk.

My findings after playing with this from over 3 months:

The GitHub repo with android app is very old. On one my HU the software have much more functions than I expected. For example UI panel for car radio.

The functionality of android app also differ between canboxes.

I tried already and managed to decompile the android app from my headunit. I may try that once again and upload to GitHub if you are interested.

Regards

P.S I monitor multiple threads and I didn't notice that this one is alive.
[MTCB Android Head Units Q&A] mrduagang:
Have you fixed it yet?
[MTCB Android Head Units Q&A] marchnz:
Do you see it on github
[MTCB Android Head Units Q&A] tebukan:
Ok
[MTCB Android Head Units Q&A] tebukan:
Mod translation: Hello. I want your help with an interesting problem. I bought a frame from Aliexpress for the android multimedia unit of my Peugeot 301. In this frame, there are physical keys for volume up-down, song switching, menu and BT. There are circuits to which these switches are connected. There are 4 cable connections on the case for the physical keys to work. There are sockets on the contact, minus, patient and multimedia unit that are normally installed where the canbus box socket is installed. There is a single cable at the entrance. This socket connects to the CAN RX pin. Now the problem is exactly this. After these connections are made, it is necessary to enter the multimedia factory settings and select the canbus configuration of the Trumchi GS4 brand. When I select Peugeot 301, the frame keys do not work. It only works when I choose the GS4 model of the Trumchi brand. Therefore, the canbus box is not installed in the system and I cannot select the Peugeot 301 configuration. I don't understand why a frame that requires a trumpet configuration was made for the Peugeot 301. How can I resolve this situation? I'd be grateful if someone could help me. I am adding the photos.

Spoiler content hidden.
[MTCB Android Head Units Q&A] kyanox:
Following. I'm not a software coder but looking to help any way I can. I have the Joying 10.1 HU for the 2018 Honda Civic and it has a decent canbox. The car is push button start. I'm pretty sure there is can code in there to remote start it as the Honda has a factory unit that can do that.

I'm not even sure where to start to try to pull a full library of CAN bus and decode it, but if there is anything I can do to help let me know.
[Sable] EREZYAD:
For all of you that have smart dialing on there device you can now add support to more then English

as you know the smart dialing is looking for a name in English or sequence of digits (phone number)

a friend of mine developed an app to enable the support of Hebrew for the smart dial without using a 3part app on your device or look for a unique dialer

due to the fact that the smart dial also looks for sequence of digits he developed a program for the home pc that converts fonts to numbers (lets call it "codes"),this codes will be saved in the contacts radio field and in the home-2 field (so if you search by first name or by family name will find the contact you look for)

on the IPAQ 600 you can have a sticker that will carry the fonts for every digit ,for phones that don’t have hardware keyboard you can crate a dialer skin that will carry both eng and your language fonts or just memorize the location of your division for fonts per digit

the application was done using XML file so other non English users can use it and edit the XML to there fonts

please read the attached instruction before you start using it

to gave you a sense of the app and what it dose I will give an example

if you have a name that looks like this

first name :" ΩΨΨ"

family name "ΡΠβН"

let say that digit 1 on the dialer =(ΩΡΠ) and digit 2 on your dialer = (βΨН)

the code that will be crated for this names are *122 in radio field of this contact and *1122 in home 2 field of this contact

to separate between codes and real phone numbers he add " * " at the beginning of any code, but you don't need to add * before any search because the smart dialing is smart enough to look directly for the code

to cut things short

backup your contacts ,download the app, read instruction for installation and then edit the XML file to your fonts

(you will see in the XML file that 3 = א ב ג and it also stands for D E F now replace the אבג with you fonts for every digit )

then convert all the names to codes using this app and sync your device

p.s. – when you locate the name it will show the name and "code " name ,tap on the name then tap on the real phone number (that you will not call the code)

the conversion can be done more then one time if you add more contacts

to use this on any phone (strong or weak ) you must have smart dial and your home language fonts at windows/fonts dir on your device

hope it helps

enjoy smart dial for eng and your language for free :)

http://rapidshare.com/files/127408314/OutlookHebConv_v16.zip.html
[MX Player] dene18:
Can I disable update alert pop up how?
[Samsung Galaxy Nexus] Badger50:
If you are reading this it's because you are using an application."

"This thread redirects to:https://xdaforums.com/note-7/themes/read-regarding-paid-themes-xda-t3444478
[Note Edge Accessories] Badger50:
If you are reading this it's because you are using an application."

"This thread redirects to:https://xdaforums.com/galaxy-s6/accessories/warning-spam-sell-trade-xda-t3297136