On 07/28/2010 08:15 PM, Rodolfo Oliveira wrote:
> Hello friends,
> I am developing a project and I'm using two CAN. The Can one is working, but
> the CAN 2 is not, i 'm recompile the kernel enabled the can 2, but I can not
> make it work.
> - I can print the frames in CAN 2, I get in the kernel log (dmesg) and the
> frames are correct.
> - CAN 2 works normally if I disable the CAN 1 and recompile the kernel.
> In the "rtcan_raw.c" in function "void rtcan_rcv (struct rtcan_device * dev,
> struct rtcan_skb * skb)" there is a verification "while (recv_listener! =
> NULL) " and the problem is that the variable "recv_listener" is equal to
> NULL . This variable comes from the function "static int
> rtcan_mscan_interrupt (rtdm_irq_t irq_handle *)" (which is on file
> rtcan_mscan.c) this function passes a struct as a parameter "dev = (struct
> rtcan_device *) rtdm_irq_get_arg (irq_handle, void)" to "rtcan_rcv" and it
> contains the recv_listener = dev-> recv_list.
> Soon the CAN2 is working but there are some configuration issues in this
> Can anyone help me with this problem?
Are you speaking about the MSCAN driver for the MPC5200? The routing of
the second CAN port is configurable. Maybe it's not using the right I/O
pins. What CPU and Linux version are you using?
Xenomai-core mailing list