I need to add another two Ethernet ports to the Raspberry Pi3B or Pi4.
I have come across this site: Add a WIZ820io / USR-ES1 - Wiznet W5500 Network Port to Your Raspberry Pi. : 10 Steps - Instructables
Uses the Wiznet module: WIZ820io https://www.wiznet.io/product-item/wiz820io/ which uses the W5500 chip, communicating via
SPI0-0 bus over the Pi 40 connector.
I have made up a Vero board which plugs into the Pi 40 way connector and wired as follows:
WIZ820io_0 Raspberry Pi
J1 Name Name Pin#
1 GND GND 6
2 GND
3 MOSI MOSI 19
4 SCLK SCLK 23
5 SCNn CE0 24
6 INTn GPIO25 22
J2
1 GND GND 6
2 3V3 3V3 1
3 3V3
4 NC
5 RSTn GPIO17 11
6 MISO MISO 21
WIZ820io_1
J1 Name Name Pin#
1 GND GND 6
2 GND
3 MOSI MOSI 19
4 SCLK SCLK 23
5 SCNn CE1 26
6 INTn GPIO25 22
J2
1 GND GND 6
2 3V3 3V3 1
3 3V3
4 NC
5 RSTn GPIO17 11
6 MISO MISO 21
I have done this so that I can plug in WIZ820io_0 OR WIZ820io_1, OR both and connect them to my switch so that I can ping
them from another computer. So there are 4 cases:
case(A) WIZ820io_0 empty, WIZ820io_1 empty
case(B) WIZ820io_0 populated, WIZ820io_1 empty
case(C) WIZ820io_0 empty, WIZ820io_1 populated
case(D) WIZ820io_0 populated, WIZ820io_1 populated
Append these four lines to the /boot/config.txt file:
dtoverlay=anyspi,spi0-0,dev=“W5500”,speed=30000000
dtoverlay=W5500
dtoverlay=anyspi,spi0-1,dev=“W5500”,speed=30000000
dtoverlay=W5500
I set Eth1 to static IP 192.168.1.205 by appending these lines to the /etc/dhcpcd.conf file:
inteface eth1
static ip_address=192.168.1.205/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
ifconfig:
case(A) Eth0:
case(B) Eth0: Eth1:
case(C) Eth0: Eth1:
case(D) Eth0: Eth1:
Note Eth0 is the unused ethernet port on the PI.
I was expecting case(D) Eth0: Eth1: Eth2
I can ping Eth1: in case(B) and not in any other case.
IF I rewire case (C) so that for WIZ820io_1 SCn goes to CE0 (p24) instead of CE1(p26) then I can ping Eth1:
I again rewired WIZ820io_1 so that SCn goes to 3V3 and Case(D) still does not work. It seems that the chip select pin
SCn is not releasing the SPI bus.
WHy does this not work?
There are at least 2 problems here:
- The WIZ820io does not seem to release the SPI bus properly when high thus interfering with the other device on the bus.
Should not I be able to put multiple SPI devices on an SPI bus? - The configuration line does not seem to be behaving:
dtoverlay=anyspi,spi0-0,dev=“W5500”,speed=30000000
dtoverlay=W5500
I have tried just with this line and tried editing spi0-0 to spi0-1, to spi1-1, none of these makes any diference to the
configuration.
Please advise what commands I should be using?
Please advise how I can get the two extra WIZ820io modules working on the Pi.
Thanks: