Verktyg för CAN

bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Verktyg för CAN

Inlägg av bearing »

Eftersom att alla enheter hör allt som sägs på CAN-bussen så ser man ju direkt vilken frame som skickas om och om igen i CAN-loggen. Dom brukar vara programmerade så att dom stänger av sig efter 128 misslyckade försök. Men ifall någon har skrivit en kod i aktuell ECU att återställa CAN-transceivern varje gång den får detta fel "babbling idiot" så kommer den ju bara fortsätta att babbla. Sen kan det ju också vara att den fastnar i en loop i koden där den bara skickar samma meddelande om och om igen.
bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Verktyg för CAN

Inlägg av bearing »

Dingrot skrev:köper en differential-prob
Går det inte att ställa in ditt oscilloskop så att det använder två vanliga kanaler för att få fram diff-signalen?
Dingrot
Inlägg: 46
Blev medlem: 30 maj 2019, 11:37:48

Re: Verktyg för CAN

Inlägg av Dingrot »

" Går det inte att ställa in ditt oscilloskop så att det använder två vanliga kanaler för att få fram diff-signalen? "

Jag tänkte på det också. Nån adderingsfunktion A+B men det handlar om att inbyggda mjukvaran som avkodar kanske har sina krav. Måste läsa manualen lite mer.

Annars är nog det enklaste att göra som föreslaget: Att fixa en enkel "sniffer" och gratis-programmet som föreslagits.
Jag vill se om någon enhet sänder om så att det blir överbelastning, många error. Oscilloskopet får jag använda som vanligt oscilloskop och titta på hur skräpig signalen är m a p transienter. Likströmssystem i fordon har ju många transienter, särskilt tyngre fordon, även om det har blivit bättre. Oscilloskopet kan förresten avkoda andra datalänkar också
Dingrot
Inlägg: 46
Blev medlem: 30 maj 2019, 11:37:48

Re: Verktyg för CAN

Inlägg av Dingrot »

bearing skrev:Eftersom att alla enheter hör allt som sägs på CAN-bussen så ser man ju direkt vilken frame som skickas om och om igen i CAN-loggen. Dom brukar vara programmerade så att dom stänger av sig efter 128 misslyckade försök. Men ifall någon har skrivit en kod i aktuell ECU att återställa CAN-transceivern varje gång den får detta fel "babbling idiot" så kommer den ju bara fortsätta att babbla. Sen kan det ju också vara att den fastnar i en loop i koden där den bara skickar samma meddelande om och om igen.
Ja det är nog som du skriver. Volvo bussar tycks således babbla mycket när bromssystemet fallerar :)
Användarvisningsbild
Glenn
Inlägg: 33750
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Verktyg för CAN

Inlägg av Glenn »

Själv tänkte jag ju bygga en sådan här..

https://kkuchera.github.io/canalyze/

Vet ej om den uppfuller dina krav, men en ganska billig lösning.

Jag beställde delar och började cadda om PCB't men sen kom annat emellan.. får väl se om jag slutför.
Maalobs
Inlägg: 1299
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: Verktyg för CAN

Inlägg av Maalobs »

Ja, CANalyze ser bekant ut, undrar om jag inte har en sån där i någon gömma.
Eller är det en CANtastic jag har, det var några år sedan. :humm:

I alla fall; ämnet kom upp i senaste avsnittet av Mr Robot också, för alla wannabe hackers därute. :)
1. Plugga i OBDn:
1.jpg
2.
Kolla att du får liv i CAN-adaptern:
2.jpg
3.
Starta sniffern i linux (givetvis Kali eftersom de är 1337 h4x0rs i serien):
3.jpg
4.
Beskåda hexdump i terminalfönstret:
4.jpg
CAN-adaptern som används är den här:
https://www.8devices.com/products/usb2can

Den är nerlagd och är ersatt av en ny modell:
https://www.8devices.com/products/usb2can_korlan

Det är en Litauisk tillverkare, det var lite kul.

För 69 USD verkar det faktiskt vara ganska bra värde, de har både drivrutiner till Windows och ett plugin till Wireshark:
https://www.8devices.com/wiki/korlan:ca ... -wireshark

En skärmbild i Wireshark från wikin:
Bild
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Verktyg för CAN

Inlägg av bearing »

Glenn, vad kostar komponenterna till den där?
Var ju inte så dyr att köpa annars:
https://www.tindie.com/products/Muted/canalyze/

Borde ju gå att använda tillsammans med SavvyCAN.

PCAN-dosan skapar också en socketcan-enhet i Linux, så man kan använda dom där terminalprogrammen i din länk. Jag gör det på en gammal laptop här. Men det beror mest på att jag inte får igång SavvyCAN på den (ej 64-bit CPU på laptopen). Jag måste tydligen installera genom att kompilera källkoden. Och för att lyckas med det måste jag installera en speciell version av QT. Också från källkod. Och det här sista får något fel i kompileringen, filer saknas. Så jag får nöja mig med att spara loggar med candump på laptopen, och sen öppna loggarna med SavvyCAN på min vanliga laptop. Ingenting är enkelt i linux tycker jag. Alltid massa problem.

Det där Wireshark verkar ju lovande, har sett det nämnas förut. Om jag slipper installera det från källkod kanske jag gör ett försök. Dock tycker jag att ett CAN-verktyg måste kunna läsa DBC-filer och rita grafer live för att det ska vara användbart.
Användarvisningsbild
Glenn
Inlägg: 33750
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Verktyg för CAN

Inlägg av Glenn »

bearing: minns inte riktigt, men det var väl ST-MCU'n som var dyrast och den jagade jag rätt på på ebay.. gissar att man kommer ner i typ halva priset eller så.
Maalobs
Inlägg: 1299
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: Verktyg för CAN

Inlägg av Maalobs »

bearing skrev:Det där Wireshark verkar ju lovande, har sett det nämnas förut. Om jag slipper installera det från källkod kanske jag gör ett försök.
Wireshark är ett moget programpaket med installationsprogram för både 32- och 64-bittars Windows. :)
Det ingår även en drivrutin för att sniffa USB, man kan välja till den under installationsprocessen.
bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Verktyg för CAN

Inlägg av bearing »

Fast jag behöver det inte för Windows, utan Linux (Lubuntu), det är nämligen vad som finns på min gamla EEE, som jag loggar CAN med. På Windows kan jag köra Busmaster eller SavvyCAN, som jag gissar är mycket bättre än Wireshark för just CAN-trafik.
Maalobs
Inlägg: 1299
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: Verktyg för CAN

Inlägg av Maalobs »

Jag ville bara besvara din undran om Wireshark måste byggas från källkod. :)
Det är för övrigt ett färdigt paket på Linux också; apt-get install wireshark, men det låter ju som att du redan har kännedom om ett par bättre alternativ.

"Busmaster" antar jag är den här:
https://rbei-etas.github.io/busmaster/
Download-länken ger bara en Windows-version, trots att det finns en dependency till MinGW GCC. :humm:
Under hardware support nämns inte CANalyze, och USB2CAN nämns uttryckligen som "not supported yet".

SavvyCAN har downloads för både Windows, Linux och OSX:
https://www.savvycan.com/
Den enda kommentaren om hårdvarustöd är den här:
It was originally written to utilize EVTV hardware such as the EVTVDue and CANDue hardware. It has since expanded to be able to use any socketCAN compatible device as well as the Macchina M2 and Teensy 3.x boards.

Innebär det att det funkar på billiga prylar som CANalyze och USB2CAN?
Det nämns som stöd när man googlar, men jag vet inte vad det innebär i verkligheten:
https://www.google.se/search?q=canalyze+socketcan
https://www.google.se/search?q=usb2can+socketcan
Dingrot
Inlägg: 46
Blev medlem: 30 maj 2019, 11:37:48

Re: Verktyg för CAN

Inlägg av Dingrot »

Nu blev det avancerat här märker jag. Tror inte jag kan realisera det här själv. Men intressant.
bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Verktyg för CAN

Inlägg av bearing »

Dingrot, ja, nu hamnade vi på ett mer avancerat spår. Men som sagt, med en PCAN och Busmaster kommer du igång direkt.

Maalobs, jag laddade hem SavvyCAN för Linux häromdan, men funkade inte att installer, och visade sig bero på att det var byggt för 64-bit, och det gick tydligen inte för mig. Om det beror på att mitt Lubuntu är 32-bit, eller min processor inte är 64-bit, har jag inte kollat upp. Men jag försökte iaf följa denna guide:
https://github.com/collin80/SavvyCAN/wi ... -(Stretch)
Och då visade det sig att QT också bara fanns färdigt för 64-bit... Så jag behövde verkligen göra allt från grunden. Och sen gav jag upp när jag tyckte att jag hade gjort allt rätt, men ändå fick kompileringsfel.

Kan inte bekräfta att SavvyCAN funkar med alla SocketCAN-prylar, men jag förmodar det. I windowsversionen finns i alla fall en inställning att använda en SocketCAN-enhet. Men det funkar nog inte i Windows, för jag tror inte Windows stöder SocketCAN. (?)

Om man är en Linux-guru kanske man kan få igång Busmaster på Linux också, för det har ju öppen källkod. Men jag har inte försökt.

Jag testade apt-get install wireshark och det funkade. Men när jag startade fanns inte can0 med i listan över enheter, så jag antar att man behöver göra något speciellt för att det ska funka?

Ifall det går att lägga in en DBC i Wireshark är ju det programmet också intressant. En DBC är alltså en fil som översätter CAN-signaler och meddelanden från de råa HEX-siffrorna till beskrivande namn och konverterat till fysiska enheter (V, A, km/h, °C, kPa, o.s.v.). Om man har 5 meddelanden i flödet går det väl att hålla koll på hexen, men inte med 500st.
Maalobs
Inlägg: 1299
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: Verktyg för CAN

Inlägg av Maalobs »

Att använda Wireshark för CAN på Windows kräver ett plugin; det som 8Devices hade skrivit till Windows-versionen av Wireshark för sin egen USB2CAN produkt.

Som jag har förstått det är SocketCAN en Linux kernel modul:
https://en.wikipedia.org/wiki/SocketCAN

Medan CANAL.DLL API är en separat lösning för Windows.

Om 64-bit Linux är förkrav för SavvyCAN, då måste du använda 64-bit Linux.
Det fungerade åtminstone felfritt för mig att installera i en VM med 64-bit Ubuntu enligt installations-instruktionen du länkade till, jag tog senaste Qt som just nu är 5.13.1.

Jag hittade förresten min egen CAN-adapter som visade sig heta CANtact:
http://cantact.io/

Han som ligger bakom verkar inte ha så hög aktivitet nu, men han har varit duktig och har dumpat allt på github:
https://github.com/linklayer/

I den här artikeln nämner han att i Linux integrerar man SocketCAN med Wireshark via slcand som ingår i can-utils:
https://hackaday.io/project/579-cantact

Han har faktiskt skrivit en tutorial för att få igång SocketCAN generellt, vilket också täcker integreringen till Wireshark på Linux:
https://wiki.linklayer.com/index.php/SocketCAN
Men du sa ju själv att det finns särskild protokolltolkning som man vill ha i CAN, som Wiresharks expert engine kanske inte täcker upp.

Dingrot; Ledsen för svamlet, använder du Windows eller Linux på datorn som du skulle köra mjukvaran från?
bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Verktyg för CAN

Inlägg av bearing »

Aha, jag hade missat att 64 var ett förkrav för SavvyCAN. Stod det så?

Jag fick i alla fall igång socketcan i wireshark på min gamla EEE med Ubuntu nu. Var tydligen tvungen att starta med sudo wireshark :roll: :D. Utan sudo fanns inte många interface tillgängliga. Hur som helst strömmade datan in från min PCAN. Sen hittade jag en plugin för att kunna ladda DBC-filer:
https://canlogger.csselectronics.com/do ... =wireshark


Men jag kunde inte testa detta, för Wireshark hade vid det laget skapat en tempfil som hade fyllt hela hårddisken, så jag kunde inte ladda hem pluginet!
Finns bara några bytes kvar på hela disken. Och trots att jag lyckades hitta temp-filen i /tmp/ och ta bort denna fil, så säger fortfarande df att hårddisken är full. Hm.... hamnar filer man tar bort med rm-kommandot i någon papperskorg eller liknande?
Skriv svar