On 19.07.2011 21:50, Wolfgang Grandegger wrote:

>>>> Safe to assume that the flexcan driver doesn't support loopback as 
>>>> described
>>>> then?
>>>>
>>>> http://lxr.linux.no/#linux+v2.6.39/Documentation/networking/can.txt#L580
>>>
>>> Yes. Sigh.
>>>
>>> So this can be temporarily fixed by removing the line which sets IFF_ECHO 
>>> ...
>>> but of course should be fixed by implementing the can_echo_skb stuff.
>>
>>>>  dev->flags |= IFF_ECHO; /* we support local echo in hardware */
>>
>> IIRC, loopback is really done in hardware and the driver is working
>> properly on ARM processors.
> 
> See:
> 
> https://lists.berlios.de/pipermail/socketcan-core/2010-June/004432.html

Yes, but i'm pretty sure Marc mixed up the hardware loopback of the FlexCAN
controller with the IFF_ECHO requirement. The FlexCAN spec says:

"Loopback mode — The module enters this mode when the LPB bit in the control
register is set to 1. In this mode, FlexCAN performs an internal loopback that
can be used for self test operation. The bit stream output of the transmitter
is internally fed back to the receiver input. The Rx CAN input
 signal is ignored and the Tx CAN output goes to the recessive state (logic
‘1’). FlexCAN behaves as it normally does when transmitting and treats its own
transmitted message as a message received from a remote node. In this mode,
FlexCAN ignores the bit sent during the ACK slot in the CAN frame acknowledge
field to ensure proper reception of its own message. Both transmit and receive
interrupts are generated."

This means the "Rx CAN input signal is ignored" => only self test.

Regards,
Oliver
_______________________________________________
Socketcan-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-users

Reply via email to