W5500 Wiznet Lite Dev board IC heats when connected to ethernet

We bought Wiznet Lite dev board and try to connect it to Raspberry Pi through SPI.
When we connect the ethernet cable the IC become hot/warm. I still can touch it with my hand.
I read some posts about removing the ferrite bead on the GND. I did, but nothing improve.
Worth to mention that, when we have the dev board new from the supplier, it came with a short circuit in two pins in the IC, it was becoming really hot. I removed the s/c and now it works fine.

We can access the SPI from the raspberry pi, but no IP is read.
I attached a pic of the dev board and the ferrite bead that I removed.

Ok or not ok? You should have consulted with supplier before removing the short circuit (and ferrite bead). Hopefully your actions do not invalidate warranty (if there’s any).

Chip will heat because it has PHY driver inside, but the devil is in detail of how much it heats.

  1. What pins were shorted before?
  2. do you supply sufficient power to the chip? It is critical as if not enough power it may malfunction in weird ways.

Hey, thanks for coming by.
I don’t think there is a warranty I bought it from online store.

I can’t remember which pins were shorted. But anyway a s/c has to be removed!.

I am supplying enough power to it. I am powering it from Rpi 3.3V, which is powered from USB. The power supply circuit can deliver up to 1A.

Does link LED turn on when you put cable in?


We connected the interrupt pin on pin BCM4 and SPI1 of the Pi.
We’re using the Linux WIZnet kernel driver (https://github.com/torvalds/linux/tree/master/drivers/net/ethernet/wiznet)

Here is our device tree

w5500@1 {
	phandle = <0x0000008e>;
	status = "okay";
	spi-max-frequency = <0x01e84800>;
	interrupts = <0x00000004 0x00000008>;
	interrupt-parent = <0x00000007>;
	pinctrl-0 = <0x0000008d>;
	pinctrl-names = "default";
	reg = <0x00000001>;
	compatible = "wiznet,w5500";
wiznet_irq_pins {
	phandle = <0x0000008d>;
	brcm,pull = <0x00000000>;
	brcm,function = <0x00000000>;
	brcm,pins = <0x00000004>;

The chip seems to be recognized over SPI as some commands are being issued when loading the module and get a response.
When I try to bring the interface (eth0) I get a timeout with a kernel trace in the kernel logs.

[  216.082570] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:525 dev_watchdog+0x1bc/0x1d8
[  216.082640] NETDEV WATCHDOG: eth0 (w5100): transmit queue 0 timed out
[  216.082658] Modules linked in: bluetooth ecdh_generic ecc libaes usb_f_ecm u_ether usb_f_hid dwc2 roles moal(O) mlan(O) sha256_generic libsha256 cfg80211 raspberrypi_hwmon rfkill i2c_bcm2835 uio_pdrv_genirq uio fixed w5100_spi(O) w5100(O) overlay libcomposite i2c_dev zstd zstd_compress ubifs ubi ofpart spi_nor mtd spi_bcm2835 fuse ip_tables x_tables ipv6
[  216.082968] CPU: 0 PID: 0 Comm: swapper Tainted: G           O       6.1.21 #1
[  216.082991] Hardware name: BCM2835
[  216.083014]  unwind_backtrace from show_stack+0x18/0x1c
[  216.083066]  show_stack from dump_stack_lvl+0x34/0x58
[  216.083111]  dump_stack_lvl from __warn+0x7c/0xf4
[  216.083159]  __warn from warn_slowpath_fmt+0x7c/0xbc
[  216.083214]  warn_slowpath_fmt from dev_watchdog+0x1bc/0x1d8
[  216.083257]  dev_watchdog from call_timer_fn+0x30/0x100
[  216.083304]  call_timer_fn from expire_timers+0xa8/0xfc
[  216.083340]  expire_timers from run_timer_softirq+0x100/0x2c0
[  216.083376]  run_timer_softirq from __do_softirq+0xe4/0x30c
[  216.083418]  __do_softirq from irq_exit+0xc0/0xf0
[  216.083467]  irq_exit from __irq_svc+0x74/0x98
[  216.083505] Exception stack(0xc0bb5f20 to 0xc0bb5f68)
[  216.083535] 5f20: c089a91c 00000000 40000093 00000000 c0bba620 c0bb7090 c0d002c2 c0a398c4
[  216.083560] 5f40: dbfff0ca 00000000 c0bba12c c0aade08 0020c49c c0bb5f70 c000fd40 c000fd44
[  216.083577] 5f60: 60000013 ffffffff
[  216.083590]  __irq_svc from arch_cpu_idle+0x30/0x38
[  216.083640]  arch_cpu_idle from default_idle_call+0x38/0x74
[  216.083701]  default_idle_call from do_idle+0x88/0xe8
[  216.083763]  do_idle from cpu_startup_entry+0x14/0x18
[  216.083804]  cpu_startup_entry from rest_init+0x80/0x9c
[  216.083846]  rest_init from arch_post_acpi_subsys_init+0x0/0x18
[  216.083930] ---[ end trace 0000000000000000 ]---

When I put the cable in, the activity LED starts to blink (once every second I’d say) but no interrupt is triggered.