CAN analyzer Cando

Petr Labaj labaj na volny.cz
Pondělí Září 12 23:13:15 CEST 2022


Ještě poznámka.
Takhle vypadá start toho socketového rozhraní s nějakým Slcan adaptérem 
na Linuxu:

modprobe can
modprobe can-raw
modprobe slcan
slcand -s4 -S2000000 /dev/ttyUSB0 can0
ifconfig can0 up

Rychlost sběrnice CANbus se zadává tím parametrem s4 (s4=125 kbit/s).
Takhle si to zjednodušila kdysi firma Lavicel, a dneska to všechny klony 
bezhlavě opisují stejně.
To velké 'S' nastavuje rychlost po sériové lince.
Démon slcand zde vytvoří rozhraní "can0" a ifconfig ho spustí.

PL

********************

Dne 12.9.2022 v 22:55 Petr Labaj napsal(a):
> Situace kolem CANbusu je trochu složitější a ne tak přímočará jako jinde.
>
> Na Linuxu je skutečně podpora pro socketové rozhraní k CANbus 
> adaptéru/síti.
> Ale to neznamená, že ho všechna zařízení používají.
>
> V principu jsou 2 základní typy běžných levných CANbus adaptérů.
> Jeden je na bázi Slcan. To "sl" znamená serial line. Původním autorem 
> je myslím firma Lavicel, ale dneska existuje mraky klonů.
> Ten převodník CAN/serial zde jen převádí provoz sběrnice CANbus na 
> sériovou linku.
> Obsluha na Linuxu se pak často (ale ne vždy) dělá pomocí démona 
> slcand, který tu sériovou komunikaci převádí na to socketové rozhraní.
> A vyšší SW s tím pak komunikuje přes socket.
> Komunikační parametry se zde nastavují při volání toho démona.
>
> Ale není to jediná možnost. Jsou SW, které prostě fungují rovnou s tou 
> sériovou linkou a ty CANsockety k tomu nepotřebují.
>
> Druhý typ zařízení pak má nějaké USB rozhraní. Nejpopulárnější je asi 
> rozhraní PCAN, původem od firmy Peak.
> Zřejmě opět (možná) existuje nějaký démon, který to pošle do socketů.
> Ale většinou tady ten SW komunikuje přímo přes to USB rozhraní.
>
> Ty vyšší SW se často píšou nad Qt. A právě Qt na to má nějakou 
> speciální třídu s obsluhou různých CAN adaptérů.
> Jak těch USB (jako je třeba ten PCAN nebo to, co má původní zakladatel 
> tohoto vlákna). Ale umí jet i přes socketové rozhraní.
>
> No ale tohle všechno platí pro Linux.
> Na Windows socketové rozhraní neexistuje. Takže tady se dá obsloužit 
> jen to, co má USB rozhraní. Nebo případně napřímo tu sérivou linku.
>
> PL
>
> *********************
>
> Dne 12.9.2022 v 22:16 Miroslav Mraz napsal(a):
>> Sice CAN zatím neprovozuji, ale adaptér mi tu nějaký zbyl, tak jsem 
>> ho zkusil zastrčit a podle dmesg soudím, že se to chová (na Linuxu) 
>> jako síťový adaptér s vlastním driverem. Vypadá to velice složitě, 
>> viz https://www.kernel.org/doc/Documentation/networking/can.txt, ale 
>> zase se to dá manažovat běžnou utilitou ip. Ten můj adaptér si 
>> nainstaluje drivery (lsmod)
>> usb_8dev               20480  0
>> can_dev                40960  1 usb_8dev
>> váš by měl mít místo usb_8dev něco jako gs_usb (podle zdrojáků 
>> jádra). Vytvoří se síťové rozhraní can0 a pomocí ip se s tím dá bavit
>> $ ip -details link show can0
>> 4: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group 
>> default qlen 10
>>     link/can  promiscuity 0 minmtu 0 maxmtu 0
>>     can state STOPPED (berr-counter tx 0 rx 0) restart-ms 0
>>      usb_8dev: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..1024 brp-inc 1
>>      clock 32000000 numtxqueues 1 numrxqueues 1 gso_max_size 65536 
>> gso_max_segs 65535
>>
>> Takže jako programátor se s tím bavíte přes sokety, je to popsáno a 
>> lze najít příklady.
>>
>> Mrazík
>>
>> On 12. 09. 22 19:26, Petr Labaj wrote:
>>> Děkuji velice. To je ono.
>>>
>>> Bože, jak já to zwindovsovatění Linuxu nenávidím.
>>> Takže všechny informace na webu o databázi usb.ids už naplatí.
>>>
>>> Jak bylo krásné, když byl Linux ještě Linuxem (Unixem) a všechny 
>>> konfigurace byly přehledně v textové lidské podobě na jasně 
>>> definovaných logických místech.
>>> Teď do toho vpadne  nějaký systemd a udělá z toho podobný bordel, 
>>> jako jsou ve Windows registry.
>>> Všecko se musí dělat přes nějakou aplikaci, která někde něco nějak 
>>> změní. Nejlépe na více místech a pokud možno do nečitelné binární 
>>> podoby.
>>> Fuj!
>>>
>>> Ještě jednu díky za rychlou a hodnotnou radu, vedoucí rychle k cíli.
>>>



Další informace o konferenci Hw-list