sonstige(s) Bosch Active CAN-Daten Sammlung

Diskutiere Bosch Active CAN-Daten Sammlung im Bosch Forum im Bereich Fertig-Pedelecs; Hallo, hier mal ein Link zu einem Youtube Video der den Bosch Akku zum Fremdnutzen freigeschaltet hat. von Hardware Junkie Bosch Powerpack/...
M

meierchen006

Dabei seit
04.07.2019
Beiträge
107
Punkte Reaktionen
66
Hallo,

hier mal ein Link zu einem Youtube Video der den Bosch Akku zum Fremdnutzen freigeschaltet hat.


von Hardware Junkie

Bosch Powerpack/ Powertube E-Bike Akku freischalten | Canbus Simulator


wichtig ist die folgende Warnung beachten:

ACHTUNG!!!!!
Das BMS des Akkus schaltet nicht bei Unterspannung ab.
Es entlädt den Akku soweit das die Zellen Tiefenladen werden.
Die Spannung sollte nicht unter 28 Volt gehen.
 
Ulli_mit_HNF

Ulli_mit_HNF

Dabei seit
26.05.2019
Beiträge
17
Punkte Reaktionen
6
Ort
Herford
Details E-Antrieb
Bosch Performance CX
Hello everybody
Hi Ulli_mit_HNF,
I'm also prototyping CAN monitoring on Bosch e-bike.
I'm new here and not familiar with the tools in this forum.
Did you publish the diagram of you ESP32 board or only the program of the CAN emulator ?
Thanks
Bonjour Nicolasbleu,
are you still interessed on the code, give me a sign, i will publish it on github
Sorry I was not informed from the forum platform, so I saw your question just now.
Best regards Ulli
 
Ulli_mit_HNF

Ulli_mit_HNF

Dabei seit
26.05.2019
Beiträge
17
Punkte Reaktionen
6
Ort
Herford
Details E-Antrieb
Bosch Performance CX
Hello everybody
Hi Ulli_mit_HNF,
I'm also prototyping CAN monitoring on Bosch e-bike.
I'm new here and not familiar with the tools in this forum.
Did you publish the diagram of you ESP32 board or only the program of the CAN emulator ?
Thanks
Bonjour Nicolasblue again,
I just saw that all the Information you asked me are publihed, Please have a look to this Thread , here you can find a short description with a diagramm here in this thread and you can download the ino here.
If you need more information please contact me via Mail
Best Regards
Ulli
 
P

Pita29

Dabei seit
23.08.2021
Beiträge
3
Punkte Reaktionen
0
Hello again friends,

I've been trying to access the data on the CAN pins of the battery while it is unplugged from the bike with no success :(
I can read from the bike, but not from the battery itself which is what I need.
The battery seems to be turning on, but I can't read anything bac and I get a buffer overflow. am I missing something ? Here is my code
I would greatly appreciate any help
 

Anhänge

  • battery.zip
    481 Bytes · Aufrufe: 84
ohrenbaer

ohrenbaer

Dabei seit
24.09.2021
Beiträge
1
Punkte Reaktionen
3
Hallo,

danke an alle, besonders an die ersten Beiträge für diese wunderbare Diskussion.

Die Analyse der CAN Daten hat mir sehr geholfen, eigene Messungen zu machen.
Dies sogar einfach mit einem USB2CAN an einem Android Handy über USB OTG

Bike-Telematics-2021-11-10-Can2Go.jpg

Ich versuche gerade eine Leistungsanalyse der Torque Daten.
Die CAN Daten der 0x48 PDU empfange ich zwar immer in Bursts zum gleichen Zeitpunkt aber anhand
der in der PDU mitgelieferten Zeitmarker lassen sich die Abtastwerte wieder sauber mappen.
Man sieht sogar Leistungsunterschiede zwischen rechtem und linken Bein.
Bike-Telematics-2021-11-10-Torque.jpg

Arbeite gerade an einem gescheiten Algorithmus um aus den Abtastwerten von Torque die Pedal-Drehzahl und die Leistung zu berechnen.
Erster Ansatz: Mittelwert-Durchgänge,
die Amplitude und Drehzahl können aber bei unebenem Gelände in einer einzelnen Periode schwanken.
Hat da jemand schon was besseres?

Bike-Telematics-2021-11-10-Torque-Cadence.jpg

Aus den gForceZ und gForceX Werten aus den 0xD0 PDU konnte ich mir bisher keinen richtigen Reim machen.
gForceX scheint rechts-links sensitiv aber beide Richtungen ergeben gleiches Vorzeichen.
gForceZ scheint uphill-downhill sensitiv.

Die Werte sehen noch recht "unbrauchbar aus", nur grobe Bumper geben Ausschläge von 2G oder mehr.
Winkel oder so konnte ich noch nicht mit Winkeln am Rad in Zusammenhang bringen.

Hat jeman schon Erfahrungen mit den Torque und gForce Werten, die er teilen möchte?

Grüße,

Peter
 
GregYedlik

GregYedlik

Dabei seit
20.11.2021
Beiträge
3
Punkte Reaktionen
4
Hi all

I am also working on the challenge-response authentication used in the Bosch bikes. I have CAN analysers and multiple batteries and a bicycle to play with. I verified the following statements:
  • The 'challenge' consists of the messages 0x72 and 0x73, sent from the bicycle
  • The 'answer' consists of the messages 0x80 and 0x81, sent from the battery
  • Comparing two different batteries working with the same bicycle:
    • The challenges are the same towards both batteries
    • The answers are different between the two batteries
    • But a given battery will always give the same answers to the same challenge
  • It is not clear why does both the challenge and the answer consist of 2 bytes
    • The content of 0x72 seems to predict the content of 0x73
    • The content of 0x80 seems to predict the content of 0x81

My interest in this project is to produce a compatible BMS that would allow people to build custom batteries compatible with Bosch bikes, as well as to repair batteries with damaged BMS.

I got stuck trying to learn how to generate an acceptable answer for the challenge. I am fairly good at electronics and programming, but this is a bit hard - I would appreciate help from someone with more computer science background. What I can give is a lot of data to work with! I have captured near 200.000 valid handshakes with two different batteries, and I ran various tests on them.

I also learned that the challenges are repeating, but it seems it takes a super long time to capture enough to be able to just ‘look up’ the right answer without understanding the process.

So, if you know more about cryptography - please contribute! Here is the GitHub project with all I have done so far:
GitHub - gregyedlik/handshake: Understanding the challenge-response process used in Bosch e-bike systems, with the aim of producing compatible BMS boards.

Cheers,
Greg
 
S

Steffe90

Dabei seit
08.01.2022
Beiträge
1
Punkte Reaktionen
0
Ort
Eislingen
Hallo,

auch von mir erstmal Danke an alle die hier die letzten Jahre viel Arbeit reingesteckt haben. Ich bin über Weihnachten nun auch endlich dazu gekommen den USBtin an meinem Bosch Performance Line anzubringen. Das Auslesen und interpretieren klappt soweit auch schon ganz gut, Dank eurer ID-Sammlung.

Mein Ziel ist eigentlich ähnlich wie das von GregYedlik, ich würde gerne meinen externen Akku ohne den Original Akku mitzuführen nutzen. Bisher habe ich immer beim Einschalten des externen Akkus die beiden +Pole (Original und eigenen Akku) kurz verbunden. Dadurch wurde der CAN Aktiv und blieb es auch. Ist nicht schön, aber funktionierte 😊

Hat jemand schon hinbekommen den Akku zu simulieren? Der Handshake (0x71, 0x72) wiederholt sich bei mir sehr oft (hatte erst 3 Unterschiedliche), wodurch ich die Entschlüsselung erst mal auf später verschiebe. Der Handshake scheint zu passen, kommt keine Fehlermeldung und das eBike bleibt aktiv.

Mein Problem ist nun das die ID 0x202 (Drive Unit - Meter, Range ) nie die Reichweite mitliefert. Genauso wird bei der ID 0x203 (Bord Computer - Time, Battery charge%) nie der Ladezustand des Akkus gesetzt. Ich sende folgende IDs zyklisch:0x01C, 0x0F1, 0x2AA, 0x101, 0x151, 0x111, 0x121, 0x08C. Sowie 0x0E1 & 0x05FA170E beim Booten.

Jemand eine Idee oder kennt den Ablauf bereits?

Grüße
Stefan
 
Zuletzt bearbeitet:
GregYedlik

GregYedlik

Dabei seit
20.11.2021
Beiträge
3
Punkte Reaktionen
4
Hallo,

auch von mir erstmal Danke an alle die hier die letzten Jahre viel Arbeit reingesteckt haben. Ich bin über Weihnachten nun auch endlich dazu gekommen den USBtin an meinem Bosch Performance Line anzubringen. Das Auslesen und interpretieren klappt soweit auch schon ganz gut, Dank eurer ID-Sammlung.

Mein Ziel ist eigentlich ähnlich wie das von GregYedlik, ich würde gerne meinen externen Akku ohne den Original Akku mitzuführen nutzen. Bisher habe ich immer beim Einschalten des externen Akkus die beiden +Pole (Original und eigenen Akku) kurz verbunden. Dadurch wurde der CAN Aktiv und blieb es auch. Ist nicht schön, aber funktionierte 😊

Hat jemand schon hinbekommen den Akku zu simulieren? Der Handshake (0x71, 0x72) wiederholt sich bei mir sehr oft (hatte erst 3 Unterschiedliche), wodurch ich die Entschlüsselung erst mal auf später verschiebe. Der Handshake scheint zu passen, kommt keine Fehlermeldung und das eBike bleibt aktiv.

Mein Problem ist nun das die ID 0x202 (Drive Unit - Meter, Range ) nie die Reichweite mitliefert. Genauso wird bei der ID 0x203 (Bord Computer - Time, Battery charge%) nie der Ladezustand des Akkus gesetzt. Ich sende folgende IDs zyklisch:0x01C, 0x0F1, 0x2AA, 0x101, 0x151, 0x111, 0x121, 0x08C. Sowie 0x0E1 & 0x05FA170E beim Booten.

Jemand eine Idee oder kennt den Ablauf bereits?

Grüße
Stefan
You would need to reuse an original Bosch BMS for your custom battery. It will work fine! :)
 
L

Lyann

Dabei seit
31.01.2022
Beiträge
2
Punkte Reaktionen
0
bonsoir, j'évalue la possibilité d'utiliser un powertube pour alimenter autre chose qu'un vélo.
Je vais devoir allumer, lire la température pendant la charge et la décharge, ainsi que Soc (ou énergie restante en %).
Quelqu'un saurait-il quels identifiants CAN doivent être utilisés exactement ?
any thanks
 
L

Lyann

Dabei seit
31.01.2022
Beiträge
2
Punkte Reaktionen
0
Oui, si nous envoyons plusieurs fois les mêmes questions sur 71 et 72, nous obtenons toujours la même réponse sur 80 et 81

------------
Oui si l'on envoie plusieurs fois les même questions sur 71 et 72 on obtient toujours la même réponse sur 80 et 81
Good Evening, is there an excel sheet with all the can IDs?
 
GregYedlik

GregYedlik

Dabei seit
20.11.2021
Beiträge
3
Punkte Reaktionen
4
bonsoir, j'évalue la possibilité d'utiliser un powertube pour alimenter autre chose qu'un vélo.
Je vais devoir allumer, lire la température pendant la charge et la décharge, ainsi que Soc (ou énergie restante en %).
Quelqu'un saurait-il quels identifiants CAN doivent être utilisés exactement ?
any thanks
Hi Lyann

It is possible, post #221 is a good example. My company Yedlik AS also made a similar device.
 
P

peterla

Dabei seit
02.02.2022
Beiträge
1
Punkte Reaktionen
0
Hi all

I am also working on the challenge-response authentication used in the Bosch bikes. I have CAN analysers and multiple batteries and a bicycle to play with. I verified the following statements:
  • The 'challenge' consists of the messages 0x72 and 0x73, sent from the bicycle
  • The 'answer' consists of the messages 0x80 and 0x81, sent from the battery
  • Comparing two different batteries working with the same bicycle:
    • The challenges are the same towards both batteries
    • The answers are different between the two batteries
    • But a given battery will always give the same answers to the same challenge
  • It is not clear why does both the challenge and the answer consist of 2 bytes
    • The content of 0x72 seems to predict the content of 0x73
    • The content of 0x80 seems to predict the content of 0x81

My interest in this project is to produce a compatible BMS that would allow people to build custom batteries compatible with Bosch bikes, as well as to repair batteries with damaged BMS.

I got stuck trying to learn how to generate an acceptable answer for the challenge. I am fairly good at electronics and programming, but this is a bit hard - I would appreciate help from someone with more computer science background. What I can give is a lot of data to work with! I have captured near 200.000 valid handshakes with two different batteries, and I ran various tests on them.

I also learned that the challenges are repeating, but it seems it takes a super long time to capture enough to be able to just ‘look up’ the right answer without understanding the process.

So, if you know more about cryptography - please contribute! Here is the GitHub project with all I have done so far:
GitHub - gregyedlik/handshake: Understanding the challenge-response process used in Bosch e-bike systems, with the aim of producing compatible BMS boards.

Cheers,
Greg
I would recommend running a sidechannel hardware attack instead of trying to reverse engineer the algorithm from the recorded data. It is more promising to use a voltage or clock glitch on the BMS chip to put the chip into debug mode and then read the firmware. The used challenge & response algorithm can then be reverse engineered from the firmware.
 
G

gmz

Dabei seit
11.03.2022
Beiträge
1
Punkte Reaktionen
0
Hi guys,

First of all, thanks for keeping this topic alive, and thanks for the work you shared until now.

I could get the different information such as battery level, total mileage etc. using the IDs and commands in the sheet, on a bike equipped with a Bosch Active Line plus DU.

I have tried to use the 0x61 to turn on / off the bike, but without success. Am I missing something? Did some of you guys succeed in it?
 
T

tauon

Dabei seit
30.12.2020
Beiträge
5
Punkte Reaktionen
2
Moin,

wir haben begonnen uns die eShift Funktion vor zunehmen.
Setup: BOCH Performance CX mit KIOX und Enviolo Automatiq

Nach einem Vergleich mit einem CAN Log vor und nach dem Umbau kommen folgende IDs zum Vorschein:

0x240 1 00
0x241 8 04 00 00 00 00 8C 00 00
0x242 8 00 04 10 00 37 00 00 00
0x245 8 00 07 00 00 00 00 00 00
0x247 8 00 00 06 2A 00 00 00 00

Auch die daten in ID 0x59 änder sich in -> 08 01 00 37 01 F7 00 00 hier ist eindeutig die Soll Trittfrequenz/Kadenz

Auszug aus meiner kcd Datei

<Message id="0x059" name="eShift" length="8" >
<Signal name="eShift" offset="31" length="1" type="unsigned" endianess="big" >
<Value unit="rpm" />
</Signal>
</Message>

Die Daten beziehen sich alle auf den Automatik Mode. Mit dem Setup kann ich auch nur diesen Untersuchen. KIOX unterstützt bei Enviolo nur diese Modus. Hat jemand einen CAN Log von einer eShift Schaltung im Manuell Mode?
 
T

tauon

Dabei seit
30.12.2020
Beiträge
5
Punkte Reaktionen
2
Hi all

I am also working on the challenge-response authentication used in the Bosch bikes. I have CAN analysers and multiple batteries and a bicycle to play with. I verified the following statements:
  • The 'challenge' consists of the messages 0x72 and 0x73, sent from the bicycle
  • The 'answer' consists of the messages 0x80 and 0x81, sent from the battery
  • Comparing two different batteries working with the same bicycle:
    • The challenges are the same towards both batteries
    • The answers are different between the two batteries
    • But a given battery will always give the same answers to the same challenge
  • It is not clear why does both the challenge and the answer consist of 2 bytes
    • The content of 0x72 seems to predict the content of 0x73
    • The content of 0x80 seems to predict the content of 0x81

My interest in this project is to produce a compatible BMS that would allow people to build custom batteries compatible with Bosch bikes, as well as to repair batteries with damaged BMS.

I got stuck trying to learn how to generate an acceptable answer for the challenge. I am fairly good at electronics and programming, but this is a bit hard - I would appreciate help from someone with more computer science background. What I can give is a lot of data to work with! I have captured near 200.000 valid handshakes with two different batteries, and I ran various tests on them.

I also learned that the challenges are repeating, but it seems it takes a super long time to capture enough to be able to just ‘look up’ the right answer without understanding the process.

So, if you know more about cryptography - please contribute! Here is the GitHub project with all I have done so far:
GitHub - gregyedlik/handshake: Understanding the challenge-response process used in Bosch e-bike systems, with the aim of producing compatible BMS boards.

Cheers,
Greg

Sorry for the EBay Link but take a look on the pictures the "Servicebericht" shows an "Akkucode"
May be the "Akkucode" is involved in the challenge-response authentication?!

Bosch Powerpack Rack 400 BMS | eBay
 
D

DerDennis

Dabei seit
29.11.2015
Beiträge
51
Punkte Reaktionen
23
Kommt jemand von euch aus der Nähe von Münster?
 
G

Gast54506

Ist es möglich, über einen Can Simulator das Nyon2 anzusprechen?

Ich möchte das Nyon als Navy an einem nicht unterstützen Rad betreiben, ohne dass es in den Ruhezustand geht.

Meine Lösung ist bislang eine Attiny85 Schaltung, die über Arduino >blink und Fotodiode am Nyon Lichtschalter alle 30 Sekunden den Sleepmode unterbricht. Ich bin auch hier schon in einen Thread eingestiegen und habe meine Lösung vorgestellt: Nyon ohne Bike

Ganz so befriedigend ist diese Lösung natürlich nicht, doch so habe ich zumindest mein geliebtes Nyon mit dem Navy wieder am Rad.
 
T

tauon

Dabei seit
30.12.2020
Beiträge
5
Punkte Reaktionen
2
Meine Lösung ist bislang eine Attiny85 Schaltung, die über Arduino >blink und Fotodiode am Nyon Lichtschalter alle 30 Sekunden den Sleepmode unterbricht. Ich bin auch hier schon in einen Thread eingestiegen und habe meine Lösung vorgestellt: Nyon ohne Bike
Ich vermute es müssen mindestens die Keepalive CAN Messages von Motor und Akku an das Nyon gesendet werden.

Günstiges CAN Interface gäbe es hier (Ich selbst benutze das "Adafruit Feather M4 CAN Express" Board
GitHub - jgressmann/supercan: This is project SuperCAN. An open source USB to CAN-FD protocol.
supercan/README.devices.rst at master · jgressmann/supercan
 
Thema:

Bosch Active CAN-Daten Sammlung

Oben