Software serial + Process/Bridge = Hang/lag. Any idea why?

Hi All,
Similar to this post, YunServer + SoftwareSerial = periodic hangs - Arduino Yún - Arduino Forum , I've had hangs when attempting to use software serial with a GPS module. It does work, but it hangs pretty often. I thought I would create another post as I have some example code that tests this. I've stripped out everything but what is necessary. I did have lots of printf's in there, but it doesn't hang in one particular place. It can hang anywhere.

Please try the code below and connect the serial terminal. In this state, it will hang in seconds to tens of seconds. Next, comment out the ss.begin() line. It will then work.

What's going on?


#include <Process.h>
#include <SoftwareSerial.h>

Process p;

SoftwareSerial ss(8, 4);

void setup() {
  // Comment this line out and everything works grand!
  while (!Serial);

void loop() {
  // Delay whilst receiving data from the software serial. Approx 5 second between updates with curl delay.

  p.runShellCommandAsynchronously("ping -c 1");
  while(p.available()) {
  int exitValue = p.exitValue();
  Serial.print(", Exit: " + String(exitValue));

Are you using the latest OpenWrt-Yun version?
And the 1.5.8 IDE?

Yes, most recent openWRT and 1.5.8.

For future reference, the AltSoftSerial solution in the above thread does work, but only on pin 13 of the Yun. I tried altering the pin definitions to other pins, but only 13 works. SoftwareSerial is not stable.

Clock conflict?

Software serial might be using a conflicting hardware timer with bridge?

Sorry that's all I got, spotty on the details of the bridge library.

Did you try to run the sketch removing the Bridge library? Does it still hang?

Did you try to run the sketch removing the Bridge library? Does it still hang?

Bridge dependencies are basically the whole sketch.
To this same thought though, maybe just test if software serial works as expected on the same
pins in separate sketch without bridge. Maybe that just reiterates Angelo's intention. Sorry

That being said I don't see where software serial is actually used in the sketch.