---
title: "Using BLE to TCP wiznet example and library does not set up IP, GW, Subnet mask correctly on W5100"
url: "https://maker.wiznet.io/forum/12519"
markdown_url: "https://maker.wiznet.io/forum/12519/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "ToasTer86"
created: "2017-10-19T09:16:59+09:00"
last_activity: "2017-10-19T10:20:02+09:00"
language: "en"
views: 906
replies: 1
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# Using BLE to TCP wiznet example and library does not set up IP, GW, Subnet mask correctly on W5100

## Question

Asked by ToasTer86 on 2017-10-19 in Ethernet Chips.

Dear community,

This is my first post on this forum so hopefully my post is good and you can understand it.

Using these examples:
<http://wizwiki.net/wiki/doku.php?id=oshw_using_wiznet:bletoethernet>

![](https://github.githubassets.com/favicons/favicon.svg) [GitHub](https://github.com/Wiznet/nRF52DK_to_W5500Shield)

![](https://maker.wiznet.io/forum_uploads/wiznet/original/2X/f/f5df500bc644b375c480f63bf6c5d28b1b09435a.png)

### [GitHub - Wiznet/nRF52DK_to_W5500Shield: BLE_to_TCP Gateway](https://github.com/Wiznet/nRF52DK_to_W5500Shield)

BLE_to_TCP Gateway. Contribute to Wiznet/nRF52DK_to_W5500Shield development by creating an account on GitHub.

I want to setup a ethernet connection with my nRF52840 using my Wiznet5100 (arduino)
ethernetshield. I am going to use SPI for the communication between the chips. The nRF52840 is arduino shield compatible so I can directly plug the shield on the board.

Using this layout of the ethernet shield : <http://i.stack.imgur.com/9mk4A.jpg> I changed the SPI pins as following:

#define ARDUINO_13_PIN NRF_GPIO_PIN_MAP(1, 15) // SCK Digital pin 13
#define ARDUINO_12_PIN NRF_GPIO_PIN_MAP(1, 14) // MISO Digital pin 12
#define ARDUINO_11_PIN NRF_GPIO_PIN_MAP(1, 13) // MOSI Digital pin 11
#define ARDUINO_10_PIN NRF_GPIO_PIN_MAP(1, 12) // CSN Digital pin 10

And edited these pins in the spi0_master_init() function:

void spi0_master_init()
{
SPIConfig_t spi_info = {.Config.Fields.BitOrder = SPI_BITORDER_MSB_LSB,
.Config.Fields.Mode = SPI_MODE3,
.Frequency = SPI_FREQ_8MBPS,
.Pin_SCK = ARDUINO_13_PIN,
.Pin_MOSI = ARDUINO_11_PIN,
.Pin_MISO = ARDUINO_12_PIN,
.Pin_CSN = ARDUINO_10_PIN};
spi_master_init(SPI0,&spi_info);
}

I hooked up a logic analyzer to these pins and I can see data going over all pins. But here comes to the problem. When I call user_ethernet_init(); function which is defined in user_ethernet.c library the network_init(); function is called in the same file. Here it sets up a MAC, IP, GW, Subnetmask and DNS. But when the result of this function is printed only the DNS is configured correctly.

Below is the function that is written in user_ethernet.c file

void network_init(void)
{
uint8_t tmpstr[6];
ctlnetwork(CN_SET_NETINFO, (void*)&gWIZNETINFO);
ctlnetwork(CN_GET_NETINFO, (void*)&gWIZNETINFO);

```
// Display Network Information
ctlwizchip(CW_GET_ID,(void*)tmpstr);
printf("\r\n=== %s NET CONF ===\r\n",(char*)tmpstr);
printf("MAC: %02X:%02X:%02X:%02X:%02X:%02X\r\n",gWIZNETINFO.mac[0],gWIZNETINFO.mac[1],gWIZNETINFO.mac[2],
	  gWIZNETINFO.mac[3],gWIZNETINFO.mac[4],gWIZNETINFO.mac[5]);
printf("SIP: %d.%d.%d.%d\r\n", gWIZNETINFO.ip[0],gWIZNETINFO.ip[1],gWIZNETINFO.ip[2],gWIZNETINFO.ip[3]);
printf("GAR: %d.%d.%d.%d\r\n", gWIZNETINFO.gw[0],gWIZNETINFO.gw[1],gWIZNETINFO.gw[2],gWIZNETINFO.gw[3]);
printf("SUB: %d.%d.%d.%d\r\n", gWIZNETINFO.sn[0],gWIZNETINFO.sn[1],gWIZNETINFO.sn[2],gWIZNETINFO.sn[3]);
printf("DNS: %d.%d.%d.%d\r\n", gWIZNETINFO.dns[0],gWIZNETINFO.dns[1],gWIZNETINFO.dns[2],gWIZNETINFO.dns[3]);
printf("======================\r\n");
```

}

I posted about this on the github library someone else said he had the same problem. That can be seen here: [Network_init(); not setting the Mac, IP, Subnet , Gw, DNS · Issue #17 · Wiznet/ioLibrary_Driver · GitHub](https://github.com/Wiznet/ioLibrary_Driver/issues/17)

So my question is actually. Has anyone else had this problem, and what can I do to solve it?

Thanks for any help in advance.

## Replies

### Reply 1 by ToasTer86, 2017-10-19

I was able to fix this myself, by reading the complete data sheet of the wiz5100 I found out I needed to change the SPI mode.

My bad sorry ![:slight_smile:](https://emoji.discourse-cdn.com/twitter/slight_smile.png?v=12)

---

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