---
title: "SOLVED - W3150A+ does not execute commands in Sn_CR"
url: "https://maker.wiznet.io/forum/10402"
markdown_url: "https://maker.wiznet.io/forum/10402/md"
type: "Forum topic"
category: "MCU & Boards"
author: "Daniel"
created: "2014-07-25T09:44:29+09:00"
last_activity: "2017-05-04T08:33:35+09:00"
language: "en"
views: 883
replies: 3
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# SOLVED - W3150A+ does not execute commands in Sn_CR

## Question

Asked by Daniel on 2014-07-25 in MCU & Boards.

Hello,

I’ve got here a W3150A+ connected to a PHY on our own PCB. Well, SPI connection works fine, but if we perform a command (e.g. 0x10) to Sn_CR (Socket Command Register) it will not be executed. If we read the Sn_CR via SPI, the written command remains in Sn_CR. Sn_CR should be automatically cleared after a command was executed, that’
s what the datasheet says, or is another command necessary?

Can I assume, if the written command remains in Sn_CR, it was not executed? Or, was it executed but the automatic clearing mechanism didn’t work?

Can any (wrong) signal (too high, too low) on any Pin cause this problem?

Confusing:
We have also a NM7010B+, which is also useing a W3150A+ from WIZnet and for this module our code works finde. The Sn_CR is cleared immediately after writing.

Any suggestions?

Thanks a lot!

## Replies

### Reply 1 by Daniel, 2014-07-29

Our module has almost the same schematic as the NM7010B+, well Layout is quite bigger (like Arduino shields).

Clock works fine, both PHY and Wiznet
I don’t have any signls on MII neither TXC/RCX nor any DATA (measured with Osci)
Didn’t chek link signal, but could it relenant for the “hang” siutation?

### Reply 2 by miaooaim, 2014-08-05

Hi,

if you don’t have the RX and TX clock on MII port, the command in Sn_CR will not be executed.
Check why the PHY don’t generate the clock.

Regards
G.

### Reply 3 by Daniel, 2014-08-06

Thanks for the hint, it gave me the right direction for further investigations^^

My PHY has to be initialized by different MDIO write commands to a bunch of different registers (and first of all a software reset command, didn’t consider this^^). After this, I could measure a clock at the TCX/RXC pin and my commands in Sn_CR were executed.

Problem solved! ![:smiley:](https://emoji.discourse-cdn.com/twitter/smiley.png?v=12)

Thanks you very much!

---

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