I have spent several months analysing the K-CAN BUS of my BMW X1 (E84). This interface is a 100KHz differential CAN BUS that links most of the user controls within the BMW. It also contains come data that is available on the PT-CAN.
I have now got to a stage where I have written it up in the hope that it may be useful for others.
The link below contains all of the information that I have found so far. This is by no means a definitive list and it only contains about a 1/3rd of the PID's used on the K-CAN bus.
http://www.loopybunny.co.uk/CarPC/k_can.html
The information I have found has been gained from passively snooping the 100KHz Differential K-CAN bus and listening to
the standard communications of the BMW K-CAN network. This differs from many ODB-II tools that actively request engine debug / diagnostic data.

