Linking TWO W5500 Ethernet Boards together

Hi All

I have TWO WizNet W5500 boards and I want to connect them BOTH to ONE ESP32. I know I can connect one w5500 to the ESP32 as I have done this many times. I also know that I need to modify my ethernet library to take care of the second CS line when using the same SPI bus, but my main question is this :

Is it possible to connect both of the W5500's so that I can daisy chain several PCBs (ESP32+2xW5500) together ?

I am kind of looking for an ethernet loop-through type approach, a little bit like having a really simple hub, and I know that the whole device will occupy two IPs and I am cool with that, there is just a specific application that I am looking at that I would like a solution to

Thanks in advance

(PS if anyone wants me to draw it I will, if my explaination hasnt be thorough enough)

Bob

I would start with

EthernetClass Ethernet2;

sorry no. it would use the same
W5100Class W5100;
instance

and W5100 class stores ss pin number into a static field
static volatile uint8_t *ss_pin_reg

mcnobby:
Hi All

I have TWO WizNet W5500 boards and I want to connect them BOTH to ONE ESP32. I know I can connect one w5500 to the ESP32 as I have done this many times. I also know that I need to modify my ethernet library to take care of the second CS line when using the same SPI bus, but my main question is this :

Is it possible to connect both of the W5500’s so that I can daisy chain several PCBs (ESP32+2xW5500) together ?

I am kind of looking for an ethernet loop-through type approach, a little bit like having a really simple hub, and I know that the whole device will occupy two IPs and I am cool with that, there is just a specific application that I am looking at that I would like a solution to

Thanks in advance

(PS if anyone wants me to draw it I will, if my explaination hasnt be thorough enough)

Bob

hi @mcnobby. may i know what kind of library u use to connect w5500 with esp32? currently i’m having errors at the serial monitor.

E (1033) emac: Timed out waiting for PHY register 0x2 to have value 0x0007(mask 0xffff). Current value 0x0000
E (2033) emac: Timed out waiting for PHY register 0x3 to have value 0xc0f0(mask 0xfff0). Current value 0x0000
E (2033) emac: Initialise PHY device Timeout

Juraj:
sorry no. it would use the same
W5100Class W5100;
instance

and W5100 class stores ss pin number into a static field
static volatile uint8_t *ss_pin_reg

So you dont think it is possible to acheive then ?

I am using Paul Stoffgrens library currently

mcnobby:
So you dont think it is possible to acheive then ?

I am using Paul Stoffgrens library currently

not possible with this library.

Juraj:
not possible with this library.

But certainly possible with this library ?

mcnobby:
But certainly possible with this library ?
GitHub - sstaub/Ethernet3: Ethernet library for Arduino and Ethernetshield2 / WIZ550io / WIZ850io / USR-ES1 with Wiznet W5500 chip

in core it is the same code as the other Erhernet libraries