---
title: "How to detect whether the chip is a 5100s or a 5500"
url: "https://maker.wiznet.io/forum/14863"
markdown_url: "https://maker.wiznet.io/forum/14863/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "BiffoBear"
created: "2023-04-06T12:50:33+09:00"
last_activity: "2023-04-14T06:06:11+09:00"
language: "en"
views: 284
replies: 3
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# How to detect whether the chip is a 5100s or a 5500

## Question

Asked by BiffoBear on 2023-04-06 in Ethernet Chips.

Hello,

How can a driver detect whether a w5100s or w5500 is present? Each chip has a different chip version register. Is there a set of register calls that can reliably differentiate between the two chips?

Thanks,
Martin

## Replies

### Reply 1 by louis, 2023-04-12

Hello

The W5500 and W5100S chips have a version register.
Both appear when a register value is read, and the
0x51 for the W5100S and 0x04 for the W5500
will be returned.

W5100S
[RO] [0x0080] [0x51]

W5500
[R] [0x0039] [0x04]

Thank youcc

### Reply 2 by BiffoBear, 2023-04-12 (in reply to reply 1)

Hi Louis,

Thanks for your reply. May I ask a follow up question?

Assuming that the registers are read immediately after the chip has been reset:

1. Reading 0x0039 on a 5500 returns 0x04 and on a 5100s it returns 0x00 because the PSIDR defaults to 0x0000 ?

2. Reading 0x0080 on a W5100s returns 0x51. Is it impossible for this register to return 0x51 on a 5500 (this address is in the reserved range) ?

Thanks again,
Martin

### Reply 3 by louis, 2023-04-14

Reading the version register of the W5100S chip returns a value of 0x51, and reading the version register of the W5500 chip returns a value of 0x04.
It does not return a value of 0x55 on the W5500.

---

Source: https://maker.wiznet.io/forum/14863
