Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I recently bought a UART WiFi module ( this one ) and configured it with right SSID but wrong password( and I don't know what it is ). The problem is that I can't reset this module to its manufacture settings and I can't connect to this module via serial port to configure it with some wire or cable. But I'm sure that my module is trying to connect my access point but with wrong network key ( because in logs of my access point I can see my module that trying to connect but it can't )

So, I wonder to know is there any way to create or configure a network (using some access point or something else) based on WPA2 Personal security that accepts any WPA2-PSK passwords ? Or is there any other solution for this problem ? If no, is there anyway to see what password this module using to connect to that network ? ( If yes, then I can change password of my network to that password and access to this module's admin panel )

I tried create an open network ( without any security key ) but my module just searches for WPA2 based networks ( I think ).

share|improve this question
I might have misunderstood this, but if you forgot a password and it is sending out information, why not try to crack that password? You must have a general idea of what the password was, which would greatly narrow down the time. If I completely misunderstood this question, I apologize, that is why this isn't an answer =p – cutrightjm Mar 19 '12 at 1:47
Thanks @ekaj but i don't forget my ap password. I just can't reconfigure my wifi module because it can't connect to my desired network with network key it provides to AP. And i can't change my module's network key. – Michel Gokan Mar 19 '12 at 8:03
up vote 6 down vote accepted

Your question as posted in the title is not worth answering IMO, because I suspect it's one roundabout attempt to solve the root problem that just begets more unsolved problems.

I can't connect to this module via serial port to configure ...

Can you connect to this module through its serial port from a PC?

If you cannot communicate with this module over its serial port, then doesn't that defeat the purpose of this module, and render it useless?

The user manual for that module states

2.3.3 Command Mode of Serial

Module also provides the command mode based on serial control, which is different from auto-work mode, this mode provides the user with sufficient flexibility, and meet users’ specific needs of different applications. In this mode, the module works according to user command through the serial, user can control the module completely with the command, including modifying parameters, controling networking, controling TCP/IP connection and data transmission.

Seems like the solution to the root problem involves figuring out (i.e. reading the manual on) how to activate this command mode through the module's serial port. Some familiarity with the structure of the AT command format (based on the old Hayes dial-up modem command set) would help to understand the sparse manual. Perhaps the vendor can supply a GUI or command line interface for the serial port (there are numerous screen captures of a UART-WIFI Configuration program that seems distinct from the web interface); otherwise you can write your own interface program or else (as last resort) use a terminal emulator (e.g. putty or teraterm or Hyperterminal(yuck), or minicom for linux) to manually type the AT commands.

Or is there any other solution for this problem ?

After skimming the user manual, the simple answer is that you need to download and install the "Wifi software", which is the UART-WIFI Configuration program. That appears to be a Windows GUI program that connects to the module through the serial port (ref Management through serial connection), and allow module configuration changes, including a restore to factory settings.


Further review of the user manual indicates that this module has a peculiar implementation of the Hayes AT command set. In particular:

  • Instead of "AT" commands, it is really "AT+" commands. The null command does require the plus character. All commands begin with the three characters "AT+".

  • The default escape time is 2 seconds, not the more common 1 second. In order to escape (data) transmission mode, no data or text can be sent to the serial port for 2 seconds, then three "+" (plus) characters must be sent, and then no data or text for 2 seconds. The module should then respond with the "+OK" command prompt.

share|improve this answer
Really thanks for this great answer, i tried gui application at the first but it did not work. I think that I must search for command mode state of this module. I'll try it out soon and let you know dear sawdust. AGAIN, many thanks. – Michel Gokan Mar 19 '12 at 8:05
@swadust: if I send three +++ via serial port (terminal) module responds nothing. I tested it many times. I tested my USB-TTL module with my microcontroller and it works pretty well. What's the problem ? – Michel Gokan Mar 28 '12 at 17:21
Be sure your are sending nothing for 2 seconds, then the "+++" quickly, and then nothing again. If no response, then you have to troubleshoot the serial port connection: verify settings for baud rate, number of data and stop bits, parity. Maybe connect an oscilloscope and look for chars on the Tx & Rx pins on the module. But your comment "USB-TTL module ... works pretty well" is confusing. Is the serial port connection doing something? Are you just typing the plusses too slow? – sawdust Mar 29 '12 at 1:29
I create a circuit with 2x16 LED using Atmega32 and connect RX and TX of my micro to my USB-TTL converter and connect that module to my computer. When I send a character to via hyper terminal (or AVRCodeVision's terminal) it appears in my 2x16 LED (I mean my USB-TTL module works well). I'll send that characters right after 2 seconds and let you know the results in some minutes. – Michel Gokan Mar 29 '12 at 10:55
BTW,its not "USB to TTL Converter" ...Its "USB to Serial Converter with TTL Output" ... but its not giving 3.3 volt output (4.7 instead) ... I'll try MAX232 and let you know. – Michel Gokan Mar 29 '12 at 11:03

Unfortunately for you, WPA2-PSK authentication is bi-directional, meaning that both the client and the AP have to know the same key or the authentication fails. If the AP doesn't know the same key as the client, the math just doesn't work out, and no communication is possible. So there's no way to do what you're asking.

Update for clarity: The AP doesn't get a choice to accept or not accept the WPA2-PSK the client has. The AP must already know the exact same PSK as the client, because if it doesn't, there's no way to for the AP to transmit packets that the client will understand. The client will expect the frames to be encrypted using a key derived from the PSK and the authentication handshake, and will ignore all unencrypted frames. If the AP doesn't know the key the client expects, it will not be able to derive an encryption key that the client will accept.

share|improve this answer
I think you are right, but is there any way to reconfigure AP to accept any WPA2-PSK network key? – Michel Gokan Mar 19 '12 at 10:05
@Michel I updated my Answer to make it more clear. The way the crypto works, it is mathematically impossible to do what you're asking. Clients can't understand APs that don't know the same PSK, and vice-versa. – Spiff Mar 19 '12 at 15:59

In case its of any use to anyone else using these boards...

I initially had issues with some UART Wifi boards (marketed as TLG10UA03), because they wouldn't communicate via RS232 at all, and I suspected that either I'd damaged them by applying the wrong RS232 voltage or they were faulty.

However I found I was able to login on wifi with username admin and password 000000 and this revealed that the modules were working, but that the data rate had been set to 9600 despite all the documentation that I'd previously seen, specifying that the data rate was 115200.

However initially at 9600 the board would not communicate with the PC "UART-WIFI Configuration" program (UART-WIFI.exe)

But using the "Hercules SETUP utility by", which was a download on one of the many sites for the UART-Wifi, I used the "Serial" (tab) and selected my USB to RS232 TTL board (dongle), and set the data rate to 9600N81. Then used the "send" feature at the bottom of the serial screen (tab), to send +++

The board the responded with OK

I was then able to use the UART-WIFI.exe, making sure to set the data rate to 9600N81, as the default on this program seems to be 115200. I presume that the module must have been in a different mode, as the +++ switched it into a mode that can communicate with the UART-WIFI.exe There may also be a way to enter this mode using the hardware pins on the board, however I've not investigated this yet.

However, I do get one error message of "command not supported", but this doesn't seem to stop any of the UART-WIFI.exe functionality from working.

NB.I've yet to analyze which command that UART-WIFI.exe sends, is not supported by my board.

I'm hoping to write my own exe to communicate with the board when I get chance, which will remove the need for use of a separate terminal program to put the module into the correct mode.

share|improve this answer

Module has no obvious ROM on it. I'd guess that with reset attempts you cleared MAC address and you need to program it back.

share|improve this answer
no it have some internal flash memory as described in its datasheet. – Michel Gokan Mar 18 '12 at 20:02
OK, AP is not programmed permanently. You need to feed MAC and channel config back to internal flash rom. – ZaB Mar 19 '12 at 0:09
@ZaB - Module has no obvious ROM on it : obviously you would be surprised at the level of integration in current microcontrollers. For example the are many variations of SoC (system on a chip) about 1 to 4 square cm in size with a 16- or 32-bit processor (e.g. ARM 7), tens of KB RAM, hundreds of KB flash and an assortment of peripherals such as timers, AtoD converters, serial ports, USB, Ethernet and even maybe a LCD interface at a quantity price of a few dollars per chip. – sawdust Mar 19 '12 at 0:54
WiFi module is a "network card". if it has internal microcode loaded it knows how to handle associate and send commands and it's own mac address etc. it is more like 8KB of ROM, not a SoC or so. – ZaB Mar 19 '12 at 10:57
@ZaB - First you write that there's "no obvious ROM". Now it's "8KB of ROM". Huh? This module can process AT commands received on its serial port. It has a built-in web server accessible through its 802.11 interface. That functionality requires an onboard processor. The photo shows a square IC, which looks like the BGA packaging used by some SoCs. Ergo, this module uses a SoC. I've used and developed similar embedded products as this module, and am acquainted (if not familiar) with the designs of these types of modules. SoCs are in widespread use. – sawdust Mar 19 '12 at 23:26

According to my experience, the module can be restored to its original factory state by doing this:

  • Be sure the module accepts AT+ commands by sending +++ and receiving +OK. If not, keep shorting pins 2 and 5 while restarting the module, to force command mode.
  • With the module in command mode, send AT+RSTF to reset the module to factory settings. The module should reply with +OK.

Now you can make changes to the configuration, and then you can save your changes in internal flash (AT+PMTF), and reset the module again (AT+Z).

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .