[WIZ550io] W550io 모듈에서 초기화 후의 MAC Address가 라벨 표시와 다릅니다.


#1

w550io 모듈을 사용하고 있습니다. MCU는 STM32F722입니다.

ctlnetwork(CN_GET_NETINFO, (void*) &gWIZNETINFO); 를 사용하여 네트워크 정보를 읽어 온 후에,

터미널로 출력을 하면 아래와 같이 표시가 됩니다.

MAC address: 03-FF-FF-FE-00-00
IP address : 192.168.1.2
Subnet Mask: 255.255.255.0
Gate way : 192.168.1.1
DNS Server : 0.0.0.0

IP Address는 공장 초기값으로 정상적으로 불러들였는데 MAC address는 위와 같이 나옵니다.
제가 알기로는 MAC address도 초기화 시에 모듈에 붙어있는 MAC 어드레스가 적용되는 것으로 알고 있습니다.

혹시 정보를 불러들일 때 다른 방법이 있는지요?

아래의 코드는 모듈 초기화 부분입니다.
int W5500_Init(void)
{
u08 sockBuff[2][8] = {{2,2,2,2,2,2,2,2,},{2,2,2,2,2,2,2,2}};
u32 tickStart;

HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET);     // Reset On
HAL_Delay(10);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);		// Reset Off
HAL_Delay(150);

// Ready Signal On
tickStart = HAL_GetTick();

while(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_0) == 0)
{
	HAL_Delay(1);

	if((HAL_GetTick() - tickStart) > 3000)
	{
		LoggerString("W550io Module Not Detected !!!");
		return -1;
	}
}

HAL_Delay(10);

// spi function register
reg_wizchip_spi_cbfunc(W5500ReadByte, W5500WriteByte);

// CS function register
reg_wizchip_cs_cbfunc(W5500Select, W5500DeSelect);

// Critical section
//reg_wizchip_cris_cbfunc(spiMutexEnter,spiMutexExit);

//W5500Select();

if(ctlwizchip(CW_INIT_WIZCHIP,(void*)sockBuff) == -1)
{
	LoggerString("W5500 initialized fail.");
	return -1;
}

/*Set network information by default*/
tickStart = HAL_GetTick();

do{//check phy status.
	if((HAL_GetTick() - tickStart) > 3000 )
	{
		LoggerString("Ethernet Link timeout.");
		return -1;
	}
}while(!isLinked());

wizchip_getnetinfo(&g_sWIZNETINFO);

// Buffer Initinal
memset(g_ucTcpBuff, 0x00, sizeof(g_ucTcpBuff));
g_uiTcpRecvSize = 0;

return 1;

}


#2

안녕하세요.

  1. getSHAR()을 직접 이용하여 MAC을 확인 해보세요.

    uint8_t mac[6];

    getSHAR(mac);

    printf(“0x%02x:0x%02x:0x%02x:0x%02x:0x%02x:0x%02x”, mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);

  2. 커맨드 창에서 해당 ip로 ping을 수행 한 다음에 arp -a 명령어로 ip - mac mapping된 내용을 확인 해 보세요.


#3
  1. getSHAR()을 직접 이용하여 MAC을 확인 해보세요.
    //wizchip_getnetinfo(&g_sWIZNETINFO); <- 이부분을 주석 처리하고 답변 주신 getSHAR(mac);를 사용

동일하게 mac address가 03:ff:ff:fe:00:00 으로 표시됩니다.

  1. arp -a를 사용하면 역시 mac address가 동일하게 03:ff:ff:fe:00:00으로 나옵니다.

제가 구입한 wiz550io 가 12개 인데 전부 동일합니다.

마지막으로 mac address를 wizchip-setnetinfo()함수를 사용하여 라벨에 있는 mac address를 기록하면 정상적으로 동작하고 있습니다. mac address만 공장 초기화 값을 읽을 수가 없네요.


#4

그러면 제품 불량이 의심 됩니다.

구매처를 통해 교환 또는 A/S를 받으세요.