Re: STM32: Ethernet Driver not working on F7 and H7 with 2.4.0 #stm32 #driver #ethernet #networking


David Leach
 

Andreas,

 

Can you bisect this to narrow down where things stopped working for you?

 

David

 

From: users@... <users@...> On Behalf Of andreas.eberhart via lists.zephyrproject.org
Sent: Friday, October 2, 2020 2:12 AM
To: users@...
Subject: [Zephyr-users] STM32: Ethernet Driver not working on F7 and H7 with 2.4.0 #driver #ethernet #stm32 #networking

 

Dear all,

We try to run the net/sockets/packet sample on both, the Nucleo F746ZG and the H747I Discovery Board an run into the following issue with version 2.4.0 (works fine with 2.3.0 on F7):

*** Booting Zephyr OS build zephyr-v2.4.0-41-gcc0244bdd7d6  ***

[00:00:03.736,000] <inf> net_pkt_sock_sample: Packet socket sample is running

[00:00:03.736,000] <inf> net_pkt_sock_sample: Waiting for packets ...

[00:00:03.737,000] <dbg> net_pkt_sock_sample.send_packet_socket: Sent 100 bytes

[00:00:03.737,000] <wrn> net_if: iface 0x20010b04 is down

[00:00:04.001,000] <err> eth_stm32_hal: Failed to enqueue frame into RX queue: -62

[00:00:04.196,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 62 bytes

[00:00:04.197,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 110 bytes

[00:00:04.232,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 91 bytes

[00:00:04.232,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 89 bytes

[00:00:04.232,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 95 bytes

[00:00:04.232,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 71 bytes

[00:00:04.233,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 75 bytes

[00:00:04.233,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 69 bytes

[00:00:04.697,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 60 bytes

[00:00:04.715,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 82 bytes

[00:00:04.715,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 102 bytes

[00:00:04.716,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 82 bytes

[00:00:04.716,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 102 bytes

[00:00:05.001,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 60 bytes

[00:00:05.696,000] <dbg> net_pkt_sock_sample.recv_packet_socket: Received 60 bytes

[00:00:08.112,000] <err> eth_stm32_hal: Failed to obtain RX buffer

[00:00:08.112,000] <err> eth_stm32_hal: Failed to obtain RX buffer

[00:00:08.112,000] <err> eth_stm32_hal: Failed to obtain RX buffer
.
.
.

[00:00:09.615,000] <err> eth_stm32_hal: Failed to obtain RX buffer

[00:00:09.625,000] <err> eth_stm32_hal: Failed to obtain RX buffer

[00:00:09.626,000] <err> eth_stm32_hal: Failed to obtain RX buffer

[00:00:09.627,000] <err> eth_stm32_hal: Failed to obtain RX buffer

[00:00:09.629,000] <err> eth_stm32_hal: Failed to obtain RX buffer

[00:00:09.737,000] <err> net_pkt_sock_sample: Failed to send, errno 55

[00:00:09.737,000] <inf> net_pkt_sock_sample: Stopping...

[00:00:09.737,000] <err> os: ***** USAGE FAULT *****

[00:00:09.737,000] <err> os:   Illegal use of the EPSR

[00:00:09.737,000] <err> os: r0/a1:  0x20011ce4  r1/a2:  0x20014a4c  r2/a3:  0x20011788

[00:00:09.737,000] <err> os: r3/a4:  0x00000000 r12/ip:  0x00000000 r14/lr:  0x0800c293

[00:00:09.737,000] <err> os:  xpsr:  0x60000000

[00:00:09.737,000] <err> os: Faulting instruction address (r15/pc): 0x00000000

[00:00:09.737,000] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0

[00:00:09.737,000] <err> os: Current thread: 0x200110d8 (main)

[00:00:09.850,000] <err> os: Halting system

Has anyone encountered this behavior with the Ethernet driver on the STM32? It seems like the ethernet driver (eth_stm_32_hal.c) is not able to pass on the received packets to the buffer using net_pkt_rx_alloc_with_buffer().

Regards,

Andreas

Join users@lists.zephyrproject.org to automatically receive all group messages.