I’m glad you liked the small can of worms

But this got me thinking a bit and the discussion is quite interesting anyway. I looked at a handful of candump logs, old and new, of various tools when they do a flash. Yes, they send the mute command $28, but only to the target and NOT to everything else? So how does that help? What’s the point of muting the target if it’s going to be quiet anyway as soon as you descend into the bootloader? And all those other nodes will keep chattering away on the bus.
So this is a bigger can of worms

Or will they? And then I remembered my OSEK Network Management. You have your physical ECU’s strung out on the bus, but logically there is a Network Management Ring Topology with a token being passed around the circle. The token contains various entries like previous station ID, next station ID, bus status (e.g. starting up, shutting down) and there are various operations like join the bus, leave the bus, elect a new master. A lot of these CAN nodes have permanent power (terminal 30 & 30a) and rely upon this OSEK network management to know when to switch on and when go dormant again.
So I’m speculating now that by muting only the engine ECU, that in turn has a knock-on effect via OSEK Network Management on the other ECU’s and they may become dormant? This is purely speculation, I don’t have logs to be more conclusive. But it could explain why there are not multiple simultaneous diagnostic sessions open to each module all at the same time and all broadcasting a repetitive mute…
Here is some more details on the Network Management albeit VAG specific. I took it off the internet many years ago, but sadly I can’t find the original page again now to give the author full credit. Whoever you are, thank you.
The cluster will remain awake and it will keep the heater, the radio/navigation, bluetooth modules awake if one of the devices in the ring do not send the command to the bus indicating it is ready to sleep.
The sleep command is:
4xx 6 yy zz 00 00 00 00
xx being the module ready for sleep.
2B is the cluster
34 is the heater
39 is the radio
3A is bluetooth
yy contains the ID minus 420 of the module next in the ring.
So if the bluetooth module was going to sleep you would see 0B because the next device is the cluster.
19 if the heater sent the message
0B if the bluetooth sent the message
zz contains the status messages
11 for sleep
01 for normal
02 if the ring is being rebuilt
If you log then take the key out you will see activity for a few seconds then you will see the sleep messages then the bus will go silent.
If you sit in the car while logging with the key out the bus will be silent.
If you turn the key on you will see the devices start to logon.
The devices will announce an intent to login and its own ID minus 420
You will see the cluster say:
42B 6 0B 02 xx xx xx xx
0B its own ID
02 to rebuild the ring
Then you will see the radio say:
439 6 19 02 80 xx xx xx
19 its own ID
02 rebuild the ring
80 request to login
At this point the ring will only have 2 devices so you will see these messages repeating:
42B 6 19 01 xx xx xx xx (19 indicating the next device in the ring, 01 for normal)
439 6 0B 01 xx xx xx xx (0B indicating the next device, in this case the cluster, 01 for normal)
Now the heater logs in:
434 6 14 02 80 xx xx xx
14 own ID
02 rebuild
80 login.
Now we see:
42B 6 14 01 xx xx xx xx (14 indicating the next device in the ring, 01 for normal)
434 6 19 01 xx xx xx xx (19 indicating the next device in the ring, 01 for normal)
439 6 0B 01 xx xx xx xx (0B indicating the next device, 01 for normal)
Notice how the first byte changes after another device logs in.