Ethernet is not working on STM32F107RB
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-05-10 1:10 AM
Hi,
I am using STM32F107RB MCU for my custom project, currently testing ethernet section. No ping is working and I don't see any data in wireshark.
The Firmware package version is 1.7.0 and IDE version is 1.15.3.
Could anyone suggest.
Regards,
NaveenK
- Labels:
-
STM32 Digital Power
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-05-10 10:35 AM
Is this a custom board with a custom PHY?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-05-10 11:16 AM
Could be any number of reasons your design, implementation or code might fail
Perhaps try with STM3210C-EVAL board if you can find one. There was an ST / uMicrium board with the F107, and a Golden Bull & Golden Dragon board.
Perhaps don't design using decades old parts, support and interest is going to be very low.
Perhaps look at current NUCLEO-144 boards with Ethernet as reference examples.
https://www.st.com/en/development-tools/stm32-micrium.html
https://www.hotmcu.com/stm32f107vct6-development-board-32-tft-lcd-p-115.html
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-05-10 11:04 PM
Hi Pavel, yes it is.
I suppose to use the same controller, as it was decided based on cost.
Since the board is ready for bring up, I had no option left rather than continuing on it.
I only needed is that, the supported firmware package on which the ethernet works(working model). So that I can continue to work and make it up.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-05-11 8:25 AM - edited ‎2024-05-11 8:25 AM
First, please ensure that your program can talk to the PHY and it sees the cable connection and speed/duplex detected correctly. When this checked, set breakpoint on the packet received point in the code and send any broadcast from other machine. You should get the breakpoint hit. Then you can proceed to the IP addresses, pings and so on.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-05-16 1:09 AM - edited ‎2024-05-16 1:10 AM
Yes, cable is now detected. Initially, it was not detected after cross verifying the circuit it was observed that the pull ups on RX_DV/MII_MODE and CRS/CRS_DV/LED_CFG were missing and removed some passive components in the circuit.
I started debugging by giving a ping command from windows terminal and observed step by step code execution. Then I found that the function call given below is returning with Null value,
In this function HAL_ETH_ReadData();
/* Check if descriptor is not owned by DMA */
if ((READ_BIT(dmarxdesc->DESC0, ETH_DMARXDESC_OWN) == (uint32_t)RESET)){ }
the above condition is getting failed and HAL_error is returned.
When I check with working board(with another MCU) the above section is executed.
