Linux CAN drivers development
 help / color / mirror / Atom feed
From: Wolfgang Grandegger <wg@grandegger.com>
To: Amr Bekhit <amrbekhit@gmail.com>
Cc: mkl@pengutronix.de, linux-can@vger.kernel.org
Subject: Re: Flooding AT91_CAN peripheral with messages causes it to stop receiving any more messages
Date: Fri, 29 Apr 2016 16:27:11 +0200	[thread overview]
Message-ID: <57236F3F.7000608@grandegger.com> (raw)
In-Reply-To: <CAOLz05oAfx6jKNmzPjkO0ce8V1g2pCxhrO6rAu7bnLh-SNPxHg@mail.gmail.com>

Hello,

Am 29.04.2016 um 13:29 schrieb Amr Bekhit:
> Hello Wolfgang,
>
> I can enable ftrace (and any other config) in the kernel. Just let me
> know what other options you want enabling and I can configure the
> kernel accordingly.

OK, first another question. How is the CAN interface defined in the DTS 
files.

Wolfgang.

> On 29 April 2016 at 12:18, Wolfgang Grandegger <wg@grandegger.com> wrote:
>> Hello Amr,
>>
>> is function tracing (ftrace) working on your system?
>>
>> Wolfgang.
>>
>>
>> Am 29.04.2016 um 10:04 schrieb Amr Bekhit:
>>>
>>> Hello,
>>>
>>> Thanks to both of you for your responses.
>>>
>>> @Menchel: From my observations, the problem is when you have several
>>> CAN packets that are sent in quick succession. I initially started
>>> seeing this problem while trying to interface my embedded board to a
>>> 3rd party CAN device. The CAN device only sent 10 messages every
>>> second at 100kBaud (so not a huge amount of traffic), but they were
>>> all sent in one burst, one immediately after the other. If I modify my
>>> test script to send the CAN messages with a 5ms delay in between, I
>>> don't seem to have this problem.
>>>
>>> @Wolfgang: The CPU is an AT91SAM9X25 SoC running at 400Mhz.
>>>
>>> I've carried out another test where I've run "canfdtest -vv -g can0"
>>> on a host PC with a PCAN-USB device attached and "canfdtest -vv can0"
>>> on the embedded device and let it run overnight (from 5pm till 8.30am
>>> the following day). At the end of the test, the host PC had stopped
>>> sending any more data (there was no more terminal output indicating
>>> that bytes had been sent) and likewise, the embedded system was not
>>> receiving any data.
>>>
>>> (As a side note, I could not Ctrl-C out of the running canfdtest on
>>> the embedded system - I ended up having to SSH into the embedded
>>> system to get access to another terminal so I could run some commands
>>> - only kill -9 would kill the process)
>>>
>>> Even after killing and restarting the canfdtest processes on both host
>>> and embedded computers, no can messages were sent. I had to bring the
>>> interface down then back up again on the embedded system before the
>>> two programs starting showing that messages were being sent and
>>> recevied.
>>>
>>> I've run the following commands on the embedded system at the end of the
>>> test:
>>>
>>> # cat /proc/interrupts
>>>              CPU0
>>>    16:  102823451  atmel-aic   1 Level     pmc, at91_tick, ttyS0
>>>    17:          0       PMC  17 Level     main_rc_osc
>>>    18:          0       PMC   0 Level     main_osc
>>>    19:          0       PMC  16 Level     mainck
>>>    20:          0       PMC   1 Level     clk-plla
>>>    21:          1       PMC   6 Level     clk-utmi
>>>    22:          0       PMC   3 Level     clk-master
>>>    23:    7352177  atmel-aic  17 Level     tc_clkevt
>>>    24:      24128  atmel-aic  20 Level     at_hdmac
>>>    25:          0  atmel-aic  21 Level     at_hdmac
>>>    29:         42  atmel-aic  12 Level     f0008000.mmc
>>>    32:    3134371  atmel-aic   9 Level     f8010000.i2c
>>>    34:          3  atmel-aic  16 Level     ttyS6
>>>    35:          0  atmel-aic  19 Level     at91_adc
>>>    36:       6881  atmel-aic  13 Level     f0000000.spi
>>>    37:          0  atmel-aic  23 Level     atmel_usba_udc
>>>    39:          0  atmel-aic  24 Level     eth0
>>>    40:    4952869  atmel-aic  30 Level     can0
>>>    41:     348546  atmel-aic  22 Level     ehci_hcd:usb1, ohci_hcd:usb2
>>>    90:          0      GPIO  16 Edge      atmel_usba_udc
>>> 140:          0      GPIO  15 Edge      mmc-detect
>>> Err:          0
>>>
>>> # ifconfig can0
>>> can0      Link encap:UNSPEC  HWaddr
>>> 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
>>>             UP RUNNING NOARP  MTU:16  Metric:1
>>>             RX packets:2476577 errors:0 dropped:0 overruns:0 frame:0
>>>             TX packets:2476527 errors:0 dropped:0 overruns:0 carrier:0
>>>             collisions:0 txqueuelen:10
>>>             RX bytes:19812616 (18.8 MiB)  TX bytes:19812216 (18.8 MiB)
>>>             Interrupt:40
>>>
>>> # ip -details -statistics link show can0
>>> 2: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state
>>> UNKNOWN mode DEFAULT group default qlen 10
>>>       link/can  promiscuity 0
>>>       can state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 100
>>>             bitrate 99950 sample-point 0.739
>>>             tq 435 prop-seg 8 phase-seg1 8 phase-seg2 6 sjw 1
>>>             at91_can: tseg1 4..16 tseg2 2..8 sjw 1..4 brp 2..128 brp-inc 1
>>>             clock 133333333
>>>             re-started bus-errors arbit-lost error-warn error-pass bus-off
>>>             0          0          0          0          0          0
>>>       RX: bytes  packets  errors  dropped overrun mcast
>>>       19812616   2476577  0       0       0       0
>>>       TX: bytes  packets  errors  dropped carrier collsns
>>>       19812216   2476527  0       0       0       0
>>>
>>> I did another dump of the can peripheral register memory after the
>>> test. Here are the results:
>>>
>>> Dumping memory from 0xF8004000 to 0xF8004000:
>>> 0xF8004000: [00000001] 0000 0000 0000 0000 0000 0000 0000 0001
>>> 0xF8004004: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004008: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF800400C: [1F040038] 0001 1111 0000 0100 0000 0000 0011 1000
>>> 0xF8004010: [006000C7] 0000 0000 0110 0000 0000 0000 1100 0111
>>> 0xF8004014: [00390775] 0000 0000 0011 1001 0000 0111 0111 0101
>>> 0xF8004018: [0000B2E4] 0000 0000 0000 0000 1011 0010 1110 0100
>>> 0xF800401C: [000052D3] 0000 0000 0000 0000 0101 0010 1101 0011
>>> 0xF8004020: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004024: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004028: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>
>>> 0xF80040E4: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF80040E8: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>
>>> 0xF8004200: [01000000] 0000 0001 0000 0000 0000 0000 0000 0000
>>> 0xF8004204: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004208: [20000000] 0010 0000 0000 0000 0000 0000 0000 0000
>>> 0xF800420C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004210: [01885139] 0000 0001 1000 1000 0101 0001 0011 1001
>>> 0xF8004214: [21201F1E] 0010 0001 0010 0000 0001 1111 0001 1110
>>> 0xF8004218: [25242322] 0010 0101 0010 0100 0010 0011 0010 0010
>>> 0xF800421C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>
>>> 0xF8004220: [01000000] 0000 0001 0000 0000 0000 0000 0000 0000
>>> 0xF8004224: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004228: [20000000] 0010 0000 0000 0000 0000 0000 0000 0000
>>> 0xF800422C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004230: [018851AD] 0000 0001 1000 1000 0101 0001 1010 1101
>>> 0xF8004234: [2221201F] 0010 0010 0010 0001 0010 0000 0001 1111
>>> 0xF8004238: [26252423] 0010 0110 0010 0101 0010 0100 0010 0011
>>> 0xF800423C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>
>>> 0xF8004240: [01000000] 0000 0001 0000 0000 0000 0000 0000 0000
>>> 0xF8004244: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004248: [20000000] 0010 0000 0000 0000 0000 0000 0000 0000
>>> 0xF800424C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004250: [008852D3] 0000 0000 1000 1000 0101 0010 1101 0011
>>> 0xF8004254: [23222120] 0010 0011 0010 0010 0010 0001 0010 0000
>>> 0xF8004258: [27262524] 0010 0111 0010 0110 0010 0101 0010 0100
>>> 0xF800425C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>
>>> 0xF8004260: [01000000] 0000 0001 0000 0000 0000 0000 0000 0000
>>> 0xF8004264: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004268: [20000000] 0010 0000 0000 0000 0000 0000 0000 0000
>>> 0xF800426C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004270: [00084FD9] 0000 0000 0000 1000 0100 1111 1101 1001
>>> 0xF8004274: [201F1E1D] 0010 0000 0001 1111 0001 1110 0001 1101
>>> 0xF8004278: [24232221] 0010 0100 0010 0011 0010 0010 0010 0001
>>> 0xF800427C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>
>>> 0xF8004280: [01000000] 0000 0001 0000 0000 0000 0000 0000 0000
>>> 0xF8004284: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004288: [20000000] 0010 0000 0000 0000 0000 0000 0000 0000
>>> 0xF800428C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF8004290: [000876D4] 0000 0000 0000 1000 0111 0110 1101 0100
>>> 0xF8004294: [78777675] 0111 1000 0111 0111 0111 0110 0111 0101
>>> 0xF8004298: [7C7B7A79] 0111 1100 0111 1011 0111 1010 0111 1001
>>> 0xF800429C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>
>>> 0xF80042A0: [02000000] 0000 0010 0000 0000 0000 0000 0000 0000
>>> 0xF80042A4: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF80042A8: [20000000] 0010 0000 0000 0000 0000 0000 0000 0000
>>> 0xF80042AC: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF80042B0: [0008C8D2] 0000 0000 0000 1000 1100 1000 1101 0010
>>> 0xF80042B4: [05040302] 0000 0101 0000 0100 0000 0011 0000 0010
>>> 0xF80042B8: [09080706] 0000 1001 0000 1000 0000 0111 0000 0110
>>> 0xF80042BC: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>
>>> 0xF80042C0: [03070000] 0000 0011 0000 0111 0000 0000 0000 0000
>>> 0xF80042C4: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF80042C8: [01E00000] 0000 0001 1110 0000 0000 0000 0000 0000
>>> 0xF80042CC: [00000078] 0000 0000 0000 0000 0000 0000 0111 1000
>>> 0xF80042D0: [00885220] 0000 0000 1000 1000 0101 0010 0010 0000
>>> 0xF80042D4: [F2F1F0EF] 1111 0010 1111 0001 1111 0000 1110 1111
>>> 0xF80042D8: [F6F5F4F3] 1111 0110 1111 0101 1111 0100 1111 0011
>>> 0xF80042DC: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>
>>> 0xF80042E0: [03060000] 0000 0011 0000 0110 0000 0000 0000 0000
>>> 0xF80042E4: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>> 0xF80042E8: [01E00000] 0000 0001 1110 0000 0000 0000 0000 0000
>>> 0xF80042EC: [00000078] 0000 0000 0000 0000 0000 0000 0111 1000
>>> 0xF80042F0: [008850C3] 0000 0000 1000 1000 0101 0000 1100 0011
>>> 0xF80042F4: [F1F0EFEE] 1111 0001 1111 0000 1110 1111 1110 1110
>>> 0xF80042F8: [F5F4F3F2] 1111 0101 1111 0100 1111 0011 1111 0010
>>> 0xF80042FC: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>
>>> On 8 April 2016 at 08:39, Wolfgang Grandegger <wg@grandegger.com> wrote:
>>>>
>>>> Hello,
>>>>
>>>>
>>>> Am 05.04.2016 um 15:10 schrieb Amr Bekhit:
>>>>>
>>>>>
>>>>> Hello,
>>>>>
>>>>> <Sorry for the re-send. I initially sent this as HTML, but then found
>>>>> out that it was recommended to send all emails as plaintext, hence the
>>>>> resend>
>>>>>
>>>>> I working on a board based on the AT91SAM9X25 SoC and I'm using
>>>>> integrated CAN peripheral. I seem to have run into an issue whereby
>>>>> sending lots of messages very rapidly in quick succession causes the
>>>>> CAN peripheral to then stop receiving any messages at all. The only
>>>>> way to bring it back to a functional state is to bring the network
>>>>> interface down and then back up again.
>>>>>
>>>>> The problem can be replicated as follows:
>>>>>
>>>>> The CAN interface is initialised using:
>>>>>
>>>>> ip link set can0 type can bitrate 100000 restart-ms 100
>>>>> ifconfig can0 up
>>>>>
>>>>> I then start sending CAN messages to the unit using a PCAN-USB adapter
>>>>> that is plugged into a test Linux PC. After bringing up the CAN
>>>>> interface on the test PC, messages can be continuously sent using the
>>>>> following bash script:
>>>>>
>>>>> #!/bin/bash
>>>>>
>>>>> while :
>>>>> do
>>>>> cansend can0 123#DEADBEEFDEADBEEF
>>>>> done
>>>>>
>>>>> After running the script, I check that messages are being received on
>>>>> the AT91 target by running
>>>>>
>>>>> ifconfig can0
>>>>>
>>>>> and checking that the number of received packets is increasing.
>>>>>
>>>>> I then leave the system running for some time (1.5 hours typically,
>>>>> may vary), periodically running ifconfig can0 to check to see if new
>>>>> packets are being received. After a while, the can interface will stop
>>>>> receiving new packets, even though the test PC is still transmitting
>>>>> them. Stopping and restarting the CAN transmissions on the test PC
>>>>> does not solve the problem. The interface does not appear to be in the
>>>>> bus off state, as shown by running the following:
>>>>>
>>>>> # ip -details -statistics link show can0
>>>>> 2: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state
>>>>> UNKNOWN mode DEFAULT group default qlen 10
>>>>>        link/can  promiscuity 0
>>>>>        can state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 100
>>>>>              bitrate 99950 sample-point 0.739
>>>>>              tq 435 prop-seg 8 phase-seg1 8 phase-seg2 6 sjw 1
>>>>>              at91_can: tseg1 4..16 tseg2 2..8 sjw 1..4 brp 2..128 brp-inc
>>>>> 1
>>>>>              clock 133333333
>>>>>              re-started bus-errors arbit-lost error-warn error-pass
>>>>> bus-off
>>>>>              0          0          0          0          0          0
>>>>>        RX: bytes  packets  errors  dropped overrun mcast
>>>>>        12609768   1576221  5       0       5       0
>>>>>        TX: bytes  packets  errors  dropped carrier collsns
>>>>>        0          0        0       0       0       0
>>>>>
>>>>>
>>>>> # ifconfig can0
>>>>> can0      Link encap:UNSPEC  HWaddr
>>>>> 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
>>>>>              UP RUNNING NOARP  MTU:16  Metric:1
>>>>>              RX packets:1576221 errors:5 dropped:0 overruns:0 frame:5
>>>>>              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>>>>>              collisions:0 txqueuelen:10
>>>>>              RX bytes:12609768 (12.0 MiB)  TX bytes:0 (0.0 B)
>>>>>              Interrupt:40
>>>>>
>>>>> Using the devmem command line program and a custom python script, I
>>>>> dumped the contents of the CAN peripheral registers to a file. When
>>>>> the AT91 CAN peripheral is in the failed state, here is what the
>>>>> peripheral memory looks like:
>>>>>
>>>>> Dumping memory from 0xF8004000 to 0xF8004000:
>>>>> 0xF8004000: [00000001] 0000 0000 0000 0000 0000 0000 0000 0001
>>>>> 0xF8004004: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004008: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF800400C: [1F040000] 0001 1111 0000 0100 0000 0000 0000 0000
>>>>> 0xF8004010: [20E000FF] 0010 0000 1110 0000 0000 0000 1111 1111
>>>>> 0xF8004014: [00390775] 0000 0000 0011 1001 0000 0111 0111 0101
>>>>> 0xF8004018: [000090EF] 0000 0000 0000 0000 1001 0000 1110 1111
>>>>> 0xF800401C: [00009C81] 0000 0000 0000 0000 1001 1100 1000 0001
>>>>> 0xF8004020: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004024: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004028: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>>
>>>>> 0xF80040E4: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80040E8: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>>
>>>>> 0xF8004200: [01000000] 0000 0001 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004204: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004208: [048C0000] 0000 0100 1000 1100 0000 0000 0000 0000
>>>>> 0xF800420C: [00000123] 0000 0000 0000 0000 0000 0001 0010 0011
>>>>> 0xF8004210: [01881273] 0000 0001 1000 1000 0001 0010 0111 0011
>>>>> 0xF8004214: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF8004218: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF800421C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>>
>>>>> 0xF8004220: [01000000] 0000 0001 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004224: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004228: [048C0000] 0000 0100 1000 1100 0000 0000 0000 0000
>>>>> 0xF800422C: [00000123] 0000 0000 0000 0000 0000 0001 0010 0011
>>>>> 0xF8004230: [018812E6] 0000 0001 1000 1000 0001 0010 1110 0110
>>>>> 0xF8004234: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF8004238: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF800423C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>>
>>>>> 0xF8004240: [01000000] 0000 0001 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004244: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004248: [048C0000] 0000 0100 1000 1100 0000 0000 0000 0000
>>>>> 0xF800424C: [00000123] 0000 0000 0000 0000 0000 0001 0010 0011
>>>>> 0xF8004250: [01881359] 0000 0001 1000 1000 0001 0011 0101 1001
>>>>> 0xF8004254: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF8004258: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF800425C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>>
>>>>> 0xF8004260: [01000000] 0000 0001 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004264: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004268: [048C0000] 0000 0100 1000 1100 0000 0000 0000 0000
>>>>> 0xF800426C: [00000123] 0000 0000 0000 0000 0000 0001 0010 0011
>>>>> 0xF8004270: [018813CC] 0000 0001 1000 1000 0001 0011 1100 1100
>>>>> 0xF8004274: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF8004278: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF800427C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>>
>>>>> 0xF8004280: [01000000] 0000 0001 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004284: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF8004288: [048C0000] 0000 0100 1000 1100 0000 0000 0000 0000
>>>>> 0xF800428C: [00000123] 0000 0000 0000 0000 0000 0001 0010 0011
>>>>> 0xF8004290: [0188143F] 0000 0001 1000 1000 0001 0100 0011 1111
>>>>> 0xF8004294: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF8004298: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF800429C: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>>
>>>>> 0xF80042A0: [02000000] 0000 0010 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042A4: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042A8: [048C0000] 0000 0100 1000 1100 0000 0000 0000 0000
>>>>> 0xF80042AC: [00000123] 0000 0000 0000 0000 0000 0001 0010 0011
>>>>> 0xF80042B0: [0188E950] 0000 0001 1000 1000 1110 1001 0101 0000
>>>>> 0xF80042B4: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF80042B8: [EFBEADDE] 1110 1111 1011 1110 1010 1101 1101 1110
>>>>> 0xF80042BC: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>>
>>>>> 0xF80042C0: [03000000] 0000 0011 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042C4: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042C8: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042CC: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042D0: [00800000] 0000 0000 1000 0000 0000 0000 0000 0000
>>>>> 0xF80042D4: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042D8: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042DC: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>>
>>>>> 0xF80042E0: [03000000] 0000 0011 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042E4: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042E8: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042EC: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042F0: [00800000] 0000 0000 1000 0000 0000 0000 0000 0000
>>>>> 0xF80042F4: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042F8: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>> 0xF80042FC: [00000000] 0000 0000 0000 0000 0000 0000 0000 0000
>>>>>
>>>>> I noticed that the RBSY flag is set, even though there was nothing
>>>>> transmitted to the CAN bus. All of the message boxes had data inside
>>>>> ready to be retrieved.
>>>>>
>>>>> If there are any other test you would like me to carry out, just let me
>>>>> know.
>>>>
>>>>
>>>>
>>>> Where did your Linux kernel come from and what version are you using?
>>>> Also
>>>> interesting is:
>>>>
>>>> - how fast is your CPU (frequency)?
>>>> - the output of "/proc/interrrupts".
>>>> - run "candump any,0:0,#FFFFFFFF" on the AT91 while the test is running
>>>> - use "cangen" or even better "canfdtest" for testing.
>>>>
>>>> Wolfgang.
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-can" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-can" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>

  reply	other threads:[~2016-04-29 14:27 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-05 13:10 Flooding AT91_CAN peripheral with messages causes it to stop receiving any more messages Amr Bekhit
2016-04-08  7:39 ` Wolfgang Grandegger
2016-04-29  8:04   ` Amr Bekhit
     [not found]     ` <CAOLz05oo=EGqvmCaXXBhXs5McMmJDPKCzuiij7Pv22fj5hPB_g@mail.gmail.com>
2016-04-29  8:15       ` Amr Bekhit
2016-04-29 11:18     ` Wolfgang Grandegger
2016-04-29 11:29       ` Amr Bekhit
2016-04-29 14:27         ` Wolfgang Grandegger [this message]
2016-04-30 13:34         ` Wolfgang Grandegger
2016-05-02  6:23 ` Alexander Stein
2016-05-02 13:53   ` Wolfgang Grandegger
2016-05-03  8:27     ` Amr Bekhit
2016-06-01 13:21       ` Amr Bekhit
2016-06-03  7:22         ` Wolfgang Grandegger
2016-06-08  8:17           ` Amr Bekhit
2016-06-08  8:37             ` Wolfgang Grandegger
2016-06-10 13:34               ` Amr Bekhit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57236F3F.7000608@grandegger.com \
    --to=wg@grandegger.com \
    --cc=amrbekhit@gmail.com \
    --cc=linux-can@vger.kernel.org \
    --cc=mkl@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox