Gm bcm and cluster can bus messages through eml327 script

Disassembly, Reassembly, Tools and devleopment. Going deep with Hardware and Software.
04colyZQ8
Posts: 380
Joined: Thu Jan 16, 2014 12:41 pm
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: Gm bcm and cluster can bus messages through eml327 scrip

Post by 04colyZQ8 »

kur4o wrote:I can`t stand that elm torture, It looks like elm is really slow on can and can`t format longer messages, I did some testing with an obdlink device with it extended ST command set, but also got some error FC error. So i also gave up on it.

Here are some presets configuration for connecting j-device with universal patcher.
first is in raw can it will open connection and set filters for communication with all modules on bus, but filter idle data.

second is to connect to bcm in iso15765 protocol and send and recieve data.

Use the load button per the screenshot to load the configurations, select device and click connect.

this is what I get for the bcm

Loading J2534 settings from file: C:\Users\jake_\Downloads\New folder (11)\UniversalPatcher-master\Logger\J2534Profiles\bcm_ISO16765.xml
[OK]
[OK]
J2534 client initializing...
Initializing J2534 Device
J2534 client: Device initialization complete.
Connected to the device, ID: 1
Battery Voltage is: 11.9
Versions: Firmware: MongoosePro GM II FW:1.2.8.0 BL:1.1.8.0 SN: PPNIY0000015518D, Dll: MongoosePro GM II J2534 Library v1.2.8.0, Api: 04.04
Adding filters:
Type:FLOW_CONTROL_FILTER,Name:23-04-08-14-13-07
Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000641,RxStatus:NONE,TxFlags:NONE
FlowControl:00000241,RxStatus:NONE,TxFlags:NONE

Type:FLOW_CONTROL_FILTER,Name:23-04-08-14-13-47
Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000241,RxStatus:NONE,TxFlags:NONE
FlowControl:00000641,RxStatus:NONE,TxFlags:NONE


Failed to set filter, J2534 error: ERR_NOT_UNIQUE
Device initialization complete.
quit

Disconnected
J2534 client initializing...
Initializing J2534 Device
J2534 client: Device initialization complete.
Connected to the device, ID: 1
Battery Voltage is: 11.9
Versions: Firmware: MongoosePro GM II FW:1.2.8.0 BL:1.1.8.0 SN: PPNIY0000015518D, Dll: MongoosePro GM II J2534 Library v1.2.8.0, Api: 04.04
Adding filters:
Type:FLOW_CONTROL_FILTER,Name:23-04-08-14-13-07
Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000641,RxStatus:NONE,TxFlags:NONE
FlowControl:00000241,RxStatus:NONE,TxFlags:NONE

Type:FLOW_CONTROL_FILTER,Name:23-04-08-14-13-47
Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000241,RxStatus:NONE,TxFlags:NONE
FlowControl:00000641,RxStatus:NONE,TxFlags:NONE


Failed to set filter, J2534 error: ERR_NOT_UNIQUE
Device initialization complete.
quit

Disconnected
J2534 client initializing...
Initializing J2534 Device
J2534 client: Device initialization complete.
Connected to the device, ID: 1
Battery Voltage is: 11.9
Versions: Firmware: MongoosePro GM II FW:1.2.8.0 BL:1.1.8.0 SN: PPNIY0000015518D, Dll: MongoosePro GM II J2534 Library v1.2.8.0, Api: 04.04
Adding filters:
Type:FLOW_CONTROL_FILTER,Name:23-04-08-14-13-07
Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000641,RxStatus:NONE,TxFlags:NONE
FlowControl:00000241,RxStatus:NONE,TxFlags:NONE

Type:FLOW_CONTROL_FILTER,Name:23-04-08-14-13-47
Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000241,RxStatus:NONE,TxFlags:NONE
FlowControl:00000641,RxStatus:NONE,TxFlags:NONE

Type:PASS_FILTER,Name:23-04-10-10-55-54
Mask:,RxStatus:NONE,TxFlags:NONE
Pattern:,RxStatus:NONE,TxFlags:NONE


Failed to set filter, J2534 error: ERR_NOT_UNIQUE
Device initialization complete.
quit

Disconnected
J2534 client initializing...
Initializing J2534 Device
J2534 client: Device initialization complete.
Connected to the device, ID: 1
Battery Voltage is: 11.9
Versions: Firmware: MongoosePro GM II FW:1.2.8.0 BL:1.1.8.0 SN: PPNIY0000015518D, Dll: MongoosePro GM II J2534 Library v1.2.8.0, Api: 04.04
Adding filters:
Type:FLOW_CONTROL_FILTER,Name:23-04-08-14-13-07
Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000641,RxStatus:NONE,TxFlags:NONE
FlowControl:00000241,RxStatus:NONE,TxFlags:NONE

Type:FLOW_CONTROL_FILTER,Name:23-04-08-14-13-47
Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000241,RxStatus:NONE,TxFlags:NONE
FlowControl:00000641,RxStatus:NONE,TxFlags:NONE

Type:PASS_FILTER,Name:23-04-10-10-55-54
Mask:,RxStatus:NONE,TxFlags:NONE
Pattern:,RxStatus:NONE,TxFlags:NONE


Failed to set filter, J2534 error: ERR_NOT_UNIQUE
Device initialization complete.



a bunch of errors ?
kur4o
Posts: 955
Joined: Sun Apr 10, 2016 9:20 pm

Re: Gm bcm and cluster can bus messages through eml327 scrip

Post by kur4o »

Looks like mongoose is POS and don`t support what mdi does, Anyway you can try removing one of the filters

Go to filters: and click edit button, Than select the box with this filter

Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000241,RxStatus:NONE,TxFlags:NONE
FlowControl:00000641,RxStatus:NONE,TxFlags:NONE

click Clear button , than OK.
Than when pop window closes click Apply next to EDIT button
save config and try again.

If still errors delete the other flow control filter, leaving the other.
kur4o
Posts: 955
Joined: Sun Apr 10, 2016 9:20 pm

Re: Gm bcm and cluster can bus messages through eml327 scrip

Post by kur4o »

Here is the test config if you want to test it.

Some screensshot.

In case you want to log PRogram->j.dll communication and how filters are set

Use the second program from screenshot, than open the log file and and can find how a j2534 program sets the filters

for example

On 03/26/2022 at 14:50:46.723, PassThruStartMsgFilter O:3048 took 7150 us
ChannelID: 28 ($1c)
FilterType: FLOW_CONTROL_FILTER
pMaskMsg [MASK]: 2D6FE454
*pMaskMsg [MASK]:
PASSTHRU_MSG
ProtocolID: ISO15765
RxStatus: RX_BREAK|TX_INDICATION|ISO15765_PADDING_ERROR
RxStatus: 28 ($1c)
TxFlags: ISO15765_FRAME_PAD
TxFlags: 64 ($40)
Timestamp: $2D6FF4B8 (762311864)
DataSize: 4
ExtraDataIndex: 0
Data [MASK]: FF FF FF FF

pPatternMsg [PATTERN]: 2D6FD41C
*pPatternMsg [PATTERN]:
PASSTHRU_MSG
ProtocolID: ISO15765
RxStatus: Reserved05|Reserved09|Reserved10|Reserved12|Reserved13|Reserved15|SW_CAN_HV_RX|FT_ERROR/SW_CAN_HS_RX|SW_CAN_NS_RX|FD_CAN_ESI|Reserved23|CAN_FD_BRS|CANFD_ESI|ISO15765_FRAME_PADDED|ToolSpec28|ToolSpec29
RxStatus: 1034401312 ($3da7b620)
TxFlags: ISO15765_FRAME_PAD
TxFlags: 64 ($40)
Timestamp: $00000000 (0)
DataSize: 4
ExtraDataIndex: 2
Data [PATTERN]: 00 00 07 ED

pFlowControlMsg [FLOWCONTROL]: 2D6FC3E4
*pFlowControlMsg [FLOWCONTROL]:
PASSTHRU_MSG
ProtocolID: ISO15765
RxStatus: Reserved06|Reserved09
RxStatus: 576 ($240)
TxFlags: ISO15765_FRAME_PAD
TxFlags: 64 ($40)
Timestamp: $00000024 (36)
DataSize: 4
ExtraDataIndex: 0
Data [FLOWCONTROL]: 00 00 07 E5

pFilterID: 2D6FF490
*pFilterID: 11 ($b)
Return Value: STATUS_NOERROR Function call successful


Than you can set the same filter in universal patcher with that arguments.
Attachments
bcm_ISO16765_FIX1.rar
(488 Bytes) Downloaded 56 times
logmdi.jpg
j-logger_filters.jpg
04colyZQ8
Posts: 380
Joined: Thu Jan 16, 2014 12:41 pm
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: Gm bcm and cluster can bus messages through eml327 scrip

Post by 04colyZQ8 »

sent this email to eml 327.. log shot in the dark..

Hello I am trying to write the Vin to a body control module using eml37 commands. I was not able to read multi-line responses without custom flow control settings.


>AT Z
>AT SP6
>AT SH 00 02 41
>AT CRA 00 00 06 41
>AT SH 241
>AT FC SH 241
>AT FC SD 30 00 00
>AT FC SM 1

Than I type

>1a90
013
0: 5A 90 31 47 43 50
1: 54 45 45 31 32 4A 31
2: 32 32 33 36 30 38 31

And
>ath1

>1a90
641 10 13 5A 90 31 47 43 50
641 21 54 45 45 31 32 4A 31
641 22 32 32 33 36 30 38 31

To write the vin I need to send 3B 90, but I am unsure as to how write multiline

I need to send this
241 10 13 3B 90 31 47 43 50
241 21 54 45 45 31 32 4A 31
241 22 32 32 33 36 30 38 31

I tried..

>AT CAF0
>AT CFC0
>10 13 3B 90 31 47 43 50
641 30 00 14 33 36 30 38 31

>21 54 45 45 31 32 4A 31
NO DATA

And here is the issue I think it is not allowing me to send “21 54 45 45 31 32 4A 31” because it expects the length byte
First like this should be 10 21 54 45 45 31 32 4A 31, but that is to long so I cut off the last byte and send 10 21 54 45 45 31 32 4A,
Which does go through but I don’t like it like that! Because instead of sending it in 3 lines like it should be done . I have to send it in 4 lines.. like this.. than pad the end with zeros!

>10 13 3B 90 31 47 43 50
641 30 00 14 31 36 30 38 31

>10 21 54 45 45 31 32 4A
641 30 00 14 31 36 30 38 31

>10 22 31 32 32 33 36 30
641 30 00 14 31 36 30 38 31

>10 23 38 31 00 00 00 00
641 30 00 14 31 36 30 38 31
Is there anyway I can send direct messages without using header “AT SH 241” so I can send exactly this?

>241 10 13 3B 90 31 47 43 50
>241 21 54 45 45 31 32 4A 31
>241 22 32 32 33 36 30 38 31

Or


>00 0241 10 13 3B 90 31 47 43 50
>00 0241 21 54 45 45 31 32 4A 31
>00 0241 22 32 32 33 36 30 38 31


I have looked everywhere on how to send direct messages but have come up with no answers.
Thanks,
Jamie
04colyZQ8
Posts: 380
Joined: Thu Jan 16, 2014 12:41 pm
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: Gm bcm and cluster can bus messages through eml327 scrip

Post by 04colyZQ8 »

kur4o wrote:Looks like mongoose is POS and don`t support what mdi does, Anyway you can try removing one of the filters

Go to filters: and click edit button, Than select the box with this filter

Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000241,RxStatus:NONE,TxFlags:NONE
FlowControl:00000641,RxStatus:NONE,TxFlags:NONE

click Clear button , than OK.
Than when pop window closes click Apply next to EDIT button
save config and try again.

If still errors delete the other flow control filter, leaving the other.
I cleared both filters and now it says this ..

Loading J2534 settings from file: C:\Users\jake_\Downloads\New folder (11)\UniversalPatcher-master\Logger\J2534Profiles\ecm_ISO16765.xml
[OK]
Loading J2534 settings from file: C:\Users\jake_\Downloads\New folder (11)\UniversalPatcher-master\Logger\J2534Profiles\bcm_ISO16765.xml
[OK]
[OK]
J2534 client initializing...
Initializing J2534 Device
J2534 client: Device initialization fail.
Connected to the device, ID: 1
Error, j2534Client line 534: Object reference not set to an instance of an object.
J2534 client initializing...
Protocol2 have connection from client
Initializing J2534 Device
J2534 client: Device initialization fail.
Connected to the device, ID: 1
04colyZQ8
Posts: 380
Joined: Thu Jan 16, 2014 12:41 pm
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: Gm bcm and cluster can bus messages through eml327 scrip

Post by 04colyZQ8 »

loaded CAN_gm_query.xml that worked but I see nothing in my log window







Loading J2534 settings from file: C:\Users\jake_\Downloads\New folder (11)\UniversalPatcher-master\Logger\J2534Profiles\CAN_gm_query.xml
[OK]
[OK]
J2534 client initializing...
Initializing J2534 Device
J2534 client: Device initialization complete.
Connected to the device, ID: 1
Battery Voltage is: 11.9
Versions: Firmware: MongoosePro GM II FW:1.2.8.0 BL:1.1.8.0 SN: PPNIY0000015518D, Dll: MongoosePro GM II J2534 Library v1.2.8.0, Api: 04.04
Setting: CAN_MIXED_FORMAT = 1
Error setting config: ERR_NOT_SUPPORTED
Adding filters:
Type:PASS_FILTER,Name:23-04-04-03-32-04
Mask:0000FFE0,RxStatus:NONE,TxFlags:NONE
Pattern:00000640,RxStatus:NONE,TxFlags:NONE

Type:PASS_FILTER,Name:23-04-04-03-33-19
Mask:0000FFF8,RxStatus:NONE,TxFlags:NONE
Pattern:000007E8,RxStatus:NONE,TxFlags:NONE


Device initialization complete.
04colyZQ8
Posts: 380
Joined: Thu Jan 16, 2014 12:41 pm
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: Gm bcm and cluster can bus messages through eml327 scrip

Post by 04colyZQ8 »

CAN_raw_logALL_6&14_500k.xml loaded this and see so many can messages flying by the log window at such a fast pace!!






Device initialization complete.
Loading J2534 settings from file: C:\Users\jake_\Downloads\New folder (11)\UniversalPatcher-master\Logger\J2534Profiles\CAN_raw_logALL_6&14_500k.xml
[OK]
[OK]
quit

Disconnected
J2534 client initializing...
Initializing J2534 Device
J2534 client: Device initialization complete.
Connected to the device, ID: 1
Battery Voltage is: 11.9
Versions: Firmware: MongoosePro GM II FW:1.2.8.0 BL:1.1.8.0 SN: PPNIY0000015518D, Dll: MongoosePro GM II J2534 Library v1.2.8.0, Api: 04.04
Adding filters:
Type:PASS_FILTER,Name:23-03-21-10-41-54
Mask:00,RxStatus:NONE,TxFlags:NONE
Pattern:00,RxStatus:NONE,TxFlags:NONE


Device initialization complete.
quit

Disconnected
kur4o
Posts: 955
Joined: Sun Apr 10, 2016 9:20 pm

Re: Gm bcm and cluster can bus messages through eml327 scrip

Post by kur4o »

04colyZQ8 wrote:
kur4o wrote:Looks like mongoose is POS and don`t support what mdi does, Anyway you can try removing one of the filters

Go to filters: and click edit button, Than select the box with this filter

Mask:FFFFFFFF,RxStatus:NONE,TxFlags:NONE
Pattern:00000241,RxStatus:NONE,TxFlags:NONE
FlowControl:00000641,RxStatus:NONE,TxFlags:NONE

click Clear button , than OK.
Than when pop window closes click Apply next to EDIT button
save config and try again.

If still errors delete the other flow control filter, leaving the other.
I cleared both filters and now it says this ..

Loading J2534 settings from file: C:\Users\jake_\Downloads\New folder (11)\UniversalPatcher-master\Logger\J2534Profiles\ecm_ISO16765.xml
[OK]
Loading J2534 settings from file: C:\Users\jake_\Downloads\New folder (11)\UniversalPatcher-master\Logger\J2534Profiles\bcm_ISO16765.xml
[OK]
[OK]
J2534 client initializing...
Initializing J2534 Device
J2534 client: Device initialization fail.
Connected to the device, ID: 1
Error, j2534Client line 534: Object reference not set to an instance of an object.
J2534 client initializing...
Protocol2 have connection from client
Initializing J2534 Device
J2534 client: Device initialization fail.
Connected to the device, ID: 1
With iso15675 protocol you need to set at least 1 flow control filter. No filters= device initialization failed.

Test the file I attached earlier.

With CAN_gm_query.xml config you can send and recieve data from all modules connected on bus using raw CAN formatting.
ironduke
Posts: 583
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: Gm bcm and cluster can bus messages through eml327 scrip

Post by ironduke »

For writing the vin.
Are you unlocking the module first?
Have you cleared DTC's?? Some modules refuse a vin write without it for some reason
After you send the first vin write line and get back the 30 response how quickly are you sending the 2nd and 3rd line? Needs to be very quick.. in the millisecond range..
After all this, the BCM may be locked and may not let you write/change the vin.. To check this I try to write back the vin that is already in the module.. If I get back a successful write response then I know my code is ok.. IF it refuses to write a different vin than you gotta dig deeper as to why it's not allowing it.. First get a successful write vin with the same vin in the ecu first..
gotta walk before you can fly..
04colyZQ8
Posts: 380
Joined: Thu Jan 16, 2014 12:41 pm
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: Gm bcm and cluster can bus messages through eml327 scrip

Post by 04colyZQ8 »

ironduke wrote:For writing the vin.
Are you unlocking the module first?
Have you cleared DTC's?? Some modules refuse a vin write without it for some reason
After you send the first vin write line and get back the 30 response how quickly are you sending the 2nd and 3rd line? Needs to be very quick.. in the millisecond range..
After all this, the BCM may be locked and may not let you write/change the vin.. To check this I try to write back the vin that is already in the module.. If I get back a successful write response then I know my code is ok.. IF it refuses to write a different vin than you gotta dig deeper as to why it's not allowing it.. First get a successful write vin with the same vin in the ecu first..
gotta walk before you can fly..

Yes but the biggest issue is how to actually send the vin split up using the elm
Because it should be
10 13 3B 90 xx xx xx xx
21 xx xx xx xx xx xx xx
22 xx xx xx xx xx xx xx


But instead I have to send

10 13 3B 90 xx xx xx xx
10 21 xx xx xx xx xx xx
10 22 xx xx xx xx xx xx
10 23 xx xx 00 00 00 00

Is it ok to send this way?


Either I don’t know what setting to use or the elm just flat out won’t let you send

10 13 3B 90 xx xx xx xx
21 xx xx xx xx xx xx xx
22 xx xx xx xx xx xx xx

Or ideally I would send this ..

241 10 13 3B 90 xx xx xx xx
241 21 xx xx xx xx xx xx xx
241 22 xx xx xx xx xx xx xx

I can program it in C# so it responds faster!

What is a positive response for the same vin accepted?
Post Reply