Skip to content
Cory Walker edited this page Jul 22, 2015 · 1 revision

THIS ISSUE IS FIXED

Solution

After trying what I thought to be everything. I tried out switching the hub, again, and to my surprise, everything worked. To summarize the hub situation, we only have one powered hub (wifi needs a powered hub) that works with the wifi, and that hub is the one with the power rocker switch and the green LED. We only have one known hub that works with the multiple Arduinos simultaneously, and that is the white Rosewill hub with four ports. The only known working hub configuration is to have the white Rosewill plugged in directly to the BBB with the Arduinos attached, and to have the black powered hub plugged in series after that with the wifi module.

Problem report

There is currently an issue with the serial setup. Basically if we connect (and disconnect) to one micro, connect (and disconnect) to the other, and then attempt to connect to any micro after that, the kernel freaks out complaining about RtmpTimerTask.

Kernel log at incident: here

Steps to reproducing:

picocom /dev/teensy -b 115200 --echo
picocom /dev/teensy -b 115200 --echo
picocom /dev/teensy -b 115200 --echo
picocom /dev/mega -b 115200 --echo
picocom /dev/mega -b 115200 --echo

or:

picocom /dev/mega -b 115200 --echo
picocom /dev/mega -b 115200 --echo
picocom /dev/mega -b 115200 --echo
picocom /dev/teensy -b 115200 --echo
picocom /dev/teensy -b 115200 --echo

or:

import logging; logging.basicConfig(format='%(asctime)s %(levelname)s:%(message)s', level=logging.DEBUG, datefmt='%I:%M:%S')
from head.spine import spine; import time; s = spine.Spine(ports={'teensy': '/dev/teensy'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'teensy': '/dev/teensy'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'teensy': '/dev/teensy'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'mega': '/dev/mega'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'mega': '/dev/mega'}); s.startup(); s.close()

or:

import logging; logging.basicConfig(format='%(asctime)s %(levelname)s:%(message)s', level=logging.DEBUG, datefmt='%I:%M:%S')
from head.spine import spine; import time; s = spine.Spine(ports={'mega': '/dev/mega'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'mega': '/dev/mega'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'mega': '/dev/mega'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'teensy': '/dev/teensy'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'teensy': '/dev/teensy'}); s.startup(); s.close()

or:

import logging; logging.basicConfig(format='%(asctime)s %(levelname)s:%(message)s', level=logging.DEBUG, datefmt='%I:%M:%S')
from head.spine import spine; import time; s = spine.Spine(ports={'mega': '/dev/ttyACM0'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'mega': '/dev/ttyACM0'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'mega': '/dev/ttyACM0'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'teensy': '/dev/ttyACM1'}); s.startup(); s.close()
from head.spine import spine; import time; s = spine.Spine(ports={'teensy': '/dev/ttyACM1'}); s.startup(); s.close()

I moved the WiFi driver out of the startup kernel modules to remove them from the equation interesting: https://github.com/osresearch/LEDscape/blob/master/BeagleBone-setup.md

This issue is not present on my computer - just the BBB.

Removing the WiFi driver gets rid of all the RtmpTimerTask errors - but the problem is still there.