<p dir="ltr">Thank you, I&#39;ll study it!</p>
<p dir="ltr">Em 17 de out de 2016 10:25 AM, &quot;Daniel.&quot; &lt;<a href="mailto:danielhilst@gmail.com">danielhilst@gmail.com</a>&gt; escreveu:<br>
</p>
<blockquote><p dir="ltr">&gt;<br>
</p>
</blockquote>
<p dir="ltr">&gt; If you&#39;re dealing with network drivers you will want to know about socket buffs:<a href="http://www.linuxjournal.com/article/1312"> http://www.linuxjournal.com/article/1312</a><br>
&gt; LDD3 has a chapter for network drivers too:<a href="http://www.makelinux.net/ldd3/chp-17"> http://www.makelinux.net/ldd3/chp-17</a><br>
&gt;<br>
&gt;<br>
&gt; Regards :)<br>
&gt;<br>
&gt; 2016-10-17 10:22 GMT-02:00 Daniel. &lt;<a href="mailto:danielhilst@gmail.com">danielhilst@gmail.com</a>&gt;:<br>
</p>
<blockquote><p dir="ltr">&gt;&gt;<br>
</p>
</blockquote>
<p dir="ltr">&gt;&gt; CAN drivers can be found here;<a href="http://lxr.free-electrons.com/source/drivers/net/can/"> http://lxr.free-electrons.com/source/drivers/net/can/</a><br>
&gt;&gt;<br>
&gt;&gt; The device driver interface is at dev.c<br>
&gt;&gt;<br>
&gt;&gt; AFAIK the only other files referencing to can outside of drivers/ folder is<a href="http://lxr.free-electrons.com/source/include/uapi/linux/if_ether.h#L120"> http://lxr.free-electrons.com/source/include/uapi/linux/if_ether.h#L120</a><br>
&gt;&gt; You may want to look at docs too:<a href="https://www.kernel.org/doc/Documentation/networking/can.txt"> https://www.kernel.org/doc/Documentation/networking/can.txt</a><br>
&gt;&gt; Regards,<br>
&gt;&gt;<br>
&gt;&gt; 2016-10-17 9:05 GMT-02:00 Augusto Fraga Giachero &lt;<a href="mailto:augustofg96@gmail.com">augustofg96@gmail.com</a>&gt;:<br>
</p>
<blockquote><p dir="ltr">&gt;&gt;&gt;<br>
</p>
</blockquote>
<p dir="ltr">&gt;&gt;&gt; I&#39;ve been reading the source code for the ECI driver and discovered that<br>
&gt;&gt;&gt; it only applies to PCI devices, the IXXAT CAN-to-USB Compact (V1.0) is<br>
&gt;&gt;&gt; accessed through libusb, so please, ignore the ECI Kernel module that<br>
&gt;&gt;&gt; I&#39;ve attached in the last email.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks!<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 17-10-2016 08:43, Augusto Fraga Giachero wrote:<br>
&gt;&gt;&gt; &gt; Hello!<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I recently started a project that uses the CAN serial protocol using<br>
&gt;&gt;&gt; &gt; microcontrollers. I&#39;ve got an IXXAT CAN-to-USB Compact (V1.0) adapter to<br>
&gt;&gt;&gt; &gt; help debugging the CAN bus. The manufacturer of this adapter provides<br>
&gt;&gt;&gt; &gt; the kernel driver and and userspace  libraries for Linux, but it uses a<br>
&gt;&gt;&gt; &gt; custom API (ECI) instead of SocketCAN (and I really need to use<br>
&gt;&gt;&gt; &gt; SocketCAN). The manufacturer also provides a SocketCAN driver but only<br>
&gt;&gt;&gt; &gt; for the CAN-to-USB Compact (V2.0), so it doesn&#39;t with what I have.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I&#39;m thinking in modifying the the SocketCAN driver to support the V1.0<br>
&gt;&gt;&gt; &gt; adapter, but I don&#39;t have any experience in kernel driver development.<br>
&gt;&gt;&gt; &gt; I&#39;ve a solid C knowledge and a lot of experience in firmware development<br>
&gt;&gt;&gt; &gt; for microcontrollers. Can someone show me where to find relevant<br>
&gt;&gt;&gt; &gt; information regarding SocketCAN, USB drivers development? I don&#39;t know<br>
&gt;&gt;&gt; &gt; if this challenge is above my skills.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I&#39;ve attached both drivers and a patch for the usb-to-can_v2_socketcan<br>
&gt;&gt;&gt; &gt; that substitutes the &quot;netdev-&gt;trans_start =&quot; deference to<br>
&gt;&gt;&gt; &gt; &quot;netif_trans_update(netdev);&quot;, so you can compile for kernels newer than<br>
&gt;&gt;&gt; &gt; 4.4.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Thanks!<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">&gt;&gt;&gt; Kernelnewbies@kernelnewbies.org</a><br>
<a href="https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies">&gt;&gt;&gt; https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
<font color="#888888">&gt;&gt; -- </font><br>
<font color="#888888"><i>&gt;&gt; &quot;Do or do not. There is no try&quot;</i></font><br>
<font color="#888888"><i>&gt;&gt;  </i></font><font color="#888888"><b><i> Yoda Master</i></b></font><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; -- <br>
<i>&gt; &quot;Do or do not. There is no try&quot;</i><br>
<i>&gt;  </i><b><i> Yoda Master</i></b><br></p>