Hi, auf dem 26 poligen Pin Header vom bPi liegen ja auf Pin 16/18 CAN_TX/CAN_RX. Mich würde mal interessieren wie aufwändig es ist das CAN Interface von der Software Seite aus in Betrieb zu nehmen - also dass unter dev ein nutzbares CAN Gerät auftaucht. Gibt es so was wie ein defakto Standard für die CAN Register?
Da scheint sich was geändert zu haben! Gestern behauptete jemand, es würde inzwischen laufen. http://forum.lemaker.org/209-4-1-4.html
http://www.bananapi.com/index.php/forum/interfacing/9-using-the-can-interface-with-can4linux Of course you require an additional CAN Transceiver.
can4linux from sourceforge works. The sources are not integrated into the kernel sources (drivers/char/..) You have to store it somewhere and you have to have the kernel sources to compile against it. on the mentioned lemaker forum http://forum.lemaker.org/209-4-1-4.html user paja gives exact instructions how to perform the process. Thanks to paja.
Karl R. schrieb: > Gibt es so was wie ein defakto Standard für die CAN Register? Leider nicht. Das macht auch die Treiberentwicklung für verschiedene Prozessoren bzw. CAN Controller immer wieder kompliziert. Der verwendete CAN im A20 ist aber sehr stark an den NXP SJA1000 angelehnt.
Mittlerweile existiert auch ein SocketCAN Modul: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/drivers/net/can/sun4i_can.c der Bestandteil von Linux 4.4 werden wird. Voraussetzung: aktueller Kernel 4.x
Hallo Karl, Karl R. schrieb: > Gerhard, > vielen Dank für das SocketCAN Modul! bye bye can4linux.. bei SocketCAN ist auch nicht alles Gold was glänzt - der Protokoll Overhead ist nicht unerheblich. Der can4linux Treiber von Heinz-Jürgen Oertel dürfte aufgrund des Aufbaus geringere Latenzen haben. Gruß Gerd
Moin! So, der neue Kernel 4.4.0 wurde nach Rezepten von https://sunxi.org/Mainline_Kernel_Howto gebacken. Ein 'modprobe sun4i_can' scheint aber nicht zu reichen. Es scheint eine kleine Priese 'device tree' im offiziellen Kernel zu fehlen. Oder seh ich mal wieder den Wald vor lauter Bäumen nicht?
Siehe: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/can/sun4i_can.txt?id=refs/tags/v4.4 Ich benutze diese DTS-Files hier: https://github.com/GBert/openwrt-misc/tree/master/sunxi-can https://github.com/GBert/openwrt-misc/blob/master/sunxi-can/sun7i-a20-bananapi.dts https://github.com/GBert/openwrt-misc/blob/master/sunxi-can/sun7i-a20-bananapi.dts Musst Du auf Deine Bedürfnisse anpassen. Gruß Gerd
Ich brauchte ein paar versuche um das mit aktuellem mainline kernel (4.10.0-rc1) zum laufen zu bekommen Im Anhang die Ergänzungen im Device Tree, die bei mir das CAN Modul zum sprechen gebracht haben. Im dmesg erscheint dann das: sun4i_can 1c2bc00.can: device registered (base=f08e9c00, irq=50) Gruß Arne
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.