Alternative Wifi adapter to RN-131C

Hi,

as the response from Sparkfun technical support is like a “black hole” (you put something in but nothing comes out) I am giving up on ther Wifi Shields. I have now tried several versions of Arduino IDE, just about any library I can find for this shield, sent a ticket to Microchip, mail to Sparkfun and these are the results:

a) Microchip is responding but it seems the RN-131C itself works fine. At least I can connect to WIFI and approach the module through Telnet.

b) Sparkfun does not respond at all

c) I have now spent days and days trying to get this thing to work… And the forum shows more people with the same problem

d) I even tried slowing down the SPI but no change.

I give up with this board.

So the question is:

Anybody know of a shield that has a good library and actually works?

Sorry you’re having trouble. Big bright red text hurts my eyes, but here’s what I know.

Sometimes, these things take time to get working. It’s great when devices are plug-and-play, but that isn’t always the case.

If you’re looking for another wifi shield, a quick google search turned up many options. There is even one direct from Arduino. I have never used any of them, so I cannot comment on their libraries. However, I know that people have used both the Arduino wifi shield and the Wifly successfully.

Before you abandon ship on a $70 part, here are a few questions. Remember, I’ve never used the device before, so I’m grasping at straws.

  1. Are you using the most recent library code from https://github.com/sparkfun/WiFly-Shield?

  2. Have you looked at the configuation steps in the readme here? https://github.com/sparkfun/WiFly-Shiel … /Libraries - It sounds as though for different versions of the shield, you may need to modify configuration.h to adjust functionality.

  3. Have you looked through and attempted to follow the tutorial outlined at https://www.sparkfun.com/tutorials/158 - It seems like it has some good information.

  4. Does the shield also support direct UART communication? If so, have you tried skipping over the SPI bridge? Can you control the unit directly that way?

-Glenn

fusedlightning:
Before you abandon ship on a $70 part, here are a few questions. Remember, I’ve never used the device before, so I’m grasping at straws.

  1. Are you using the most recent library code from https://github.com/sparkfun/WiFly-Shield?
Yep

fusedlightning:
2) Have you looked at the configuation steps in the readme here? https://github.com/sparkfun/WiFly-Shiel … /Libraries - It sounds as though for different versions of the shield, you may need to modify configuration.h to adjust functionality.

Configuration is correct and this file is terribly outdated.

fusedlightning:
3) Have you looked through and attempted to follow the tutorial outlined at https://www.sparkfun.com/tutorials/158 - It seems like it has some good information.

Tried every option I could find

fusedlightning:
4) Does the shield also support direct UART communication? If so, have you tried skipping over the SPI bridge? Can you control the unit directly that way?

Without soldering on the board (can’t realy get to the connections) it would be quite difficult. Now serial goes through an SPI interface to the Arduino. Apparently it goes either wrong in that special interface or the SPI on the Arduino.

-Glenn

It is frustrating that the authors of free software often don’t support their products, but why should they? Especially for the WiFly, it is well known that the available library code is incomplete and bug-ridden. You have to either understand and substantially rewrite the existing software, or write your own.

I have written my own and it is not that difficult. The work merely involves sending a few commands as you would type them, and checking for various possible responses. The task would have been easier if Roving Networks had implemented a sensible and consistent command/response protocol, but they didn’t, so in a given situation, you have to learn and take into account several possible success and failure messages.

The commands come in fine. That is no problem. The issue I have is that if I join a Wifi everything gest printed up to the IP mask and then it starts printing (using serial.println) garbage. Same happens if I enter “get everything” After 5-6 lines then again it starts giving garbage. As if some buffer is overflowing in the SPI?

I went through the library and found this piece of code in SpiUartDevice.cpp and found a delya statement (I hate delays :)). So I commented it out and… works like a charm :slight_smile:

int SpiUartDevice::available() {
  /*
   * Get the number of bytes (characters) available for reading.
   *
   * This is data that's already arrived and stored in the receive
   * buffer (which holds 64 bytes).
   */

  // This alternative just checks if there's data but doesn't
  // return how many characters are in the buffer:
  // readRegister(LSR) & 0x01
//  delay(2);
  return (readRegister(RXLVL));
}