WIZ750SR Stuck in AT Mode

I am connecting the WIZ750SR to a custom board, interfacing with a PIC24 microcontroller in TCP Server mode. When powering on the device, I am able to see it using the Configuration tool, and update its settings. I also have Debug port enabled, and can view the debug output no problem.

When I power up the device, it starts in “AT Mode”. I can connect to the configuration server on port 50001, and send a “EX\r\0” command to put it back into “OPEN” mode. However, it will not respond to this command if given by the PIC microcontroller over the serial interface. I have confirmed that the UART settings are correct via oscilloscope (115200, 8 bits, No parity, 1 stop bit, No flow control) for the PIC, and the same settings are applied on the WIZ750SR.

When I send the “EX\r\0” command over the Configuration TCP server (50001), I can watch the WIZ750SR change it’s configuration on the Debug port. This is also confirmed with a scan in the Configuration Tool. However, shortly after putting the device into “OPEN” mode I notice some peculiar output on the Debug port:

phy id detect error!!

phy id detect error!!

 >> WIZnet Serial to Ethernet Device
 >> Firmware version: 1.3.3 Stable
 - Device name: WIZ750SR-1xx
 - Device mode: TCP_SERVER_MODE
	   + UART IF: [RS-232/TTL]
	   + 115200-8-N-1 / Flow control: NONE
	- Debug UART port: [UART2]
	   + 115200-8-N-1 / NONE (fixed)
 - Serial data packing options:
	- Time: Disabled
	- Size: Disabled
	- Char: Disabled
 - Serial command mode switch code:
	- Enabled
	- [2B][2B][2B] (Hex only)
 - Hardware information: Status pins
	- Status 1: [PA_10] - PHY link
	- Status 2: [PA_01] - TCP connection
 - Hardware information: User I/O pins
	- UserIO A: [PC_13] - Digital / Input
	- UserIO B: [PC_12] - Digital / Input
	- UserIO C: [PC_09] - Digital / Input
	- UserIO D: [PC_08] - Digital / Input
 # MAC: 00:08:DC:76:DF:96
 # IP : / Port: 5000
 # GW :
 # SN :
 # DNS:

 > SEG:AT Mode

This output will also occur randomly during power on, without changing any settings. I have a few questions:

  1. What could cause this behavior?
  2. Why am I not able to communicate with the device over UART, despite the matching serial parameters?
  3. What is the “SEGCP:UDP:STARTED” message about? I am confused about the UDP part, since the device should be operating in TCP server mode.

Please advise.

After some tinkering, I found a couple things:

  1. I had accidentally made the UART connections the wrong way around (TX/RX), this partially solves my issue, as now I can send data over the UART connection.

  2. The module boots up in AT mode when it is powered on while there is a physical connection to the Ethernet port. If I disconnect the Ethernet cable when powering it on, the device goes into TCP Server mode. This behavior is still a mystery to me.

Although I have partially solved the issue, I am now running into another issue that has been posted here before with no resolution.

When I connect to the TCP server, there is no output from the TCP server when sending data through the UART. Furthermore, after sending a few messages, I get an error output on the debug line: “UART Rx Ring buffer Full”. Similarly to the other post, I cannot see any of the data on the debug line, despite the “Serial Debug”->Enable with data being selected.

How can I resolve this issue?