Troubles running octoprint on DietPi on ODROID C2

Hello.
6 days ago I downloaded the latest/current DietPi and installed it successfully on an ODROID C2. Works really well. Then I installed octoprint (from apt) and mjpg-streamer. Both also work, except of some issues:

I have connected a USB Webcam and an Arduino Mega (RAMPS 1.4 board). Camera works, octoprint works.
But during printing I repeatedly get an “unexpected error” in octoprint and it closes the connection to the 3D printer. When stopping mjpg-streamer, printing works fine.
This makes me think this is related to excessive load on USB, caused by the high data volume caused by the camera.

So I had a close look on USB using ‘lsusb’:
My Odroid C2 shows only one bus:
BUS 001 … Root HUB and all USB devices appear on this bus.

My friend also has an Odroid C2 running a slightly older DietPi version, but also has a USB Camera and Arduino connected to the four USB-A connectors. (Nothing on the microUSB !)
His ‘lsusb’ surprisingly shows two busses:
BUS 001 … Here arduino is connected
BUS 002 … Here his USB Camera is connected)

I am pretty sure this is the secret why his Odroid works stable, while mine repeatedly looses the data communication between Arduino and octoprint (while /dev/ttyACM0 still exists!). Somehow the dataflow randomly stucks, and then octoprint disconnects the printer.
My only idea is that USB is so extremely loaded by the camera that responses from Marlin are lost.

Does anybody have an idea in this:
How can my friend’s C2 have two USB busses while mine has only one? As this are two identical devices, this only can be a configuration issue on my side.

How can I get this communications error solved? I cannot print anything because of this persistant risc that communication fails.

It will be very kind if somebody can help. I am lost.

The C2 has only one USB controller, so it’s correct what you are seeing .

The kernel probably handled it different in older versions, that’s why you friend is seeing two busses and you just one.

My first is that the USB connection is busy with the webcam.
Maybe you can try to lower the webcam bandwidth within mjpg Streamer and see how’s it going then.

Hi, Jappe,
and thank you for confirming. Though, it is still a massive problem because of the overloaded USB BUS (it leads into the communication problems between Arduino and ODROID C2.

gemini.google.com recommended me to use an OTG cable adapter on the microUSB connector. As I connected the +5V supply to GPIO port (more rugged supply), my microUSB connector is completely free. If there is really OTG available, this will not go into the USB-HUB Chip and still interfere with Marlin; instead it will go (if gemini is right) directly into the SoC and therefore result in another (independent) USB BUS.

This way the camera cannot impact the communication with the RAMPS 1.4 board.

I hope gemini was not telling me some fantasy stories as it often tends to do.
Would be great if somebody can confirm how and if it works.

I ordered an OTG cable today. I will receive it on Tue/Wed, then I will test it. If I am right, this should separate the extreme data flow from USB CAM from time critical but slow communication with Marlin and solve the problem.

If somebody is doing the same, I will be happy to participate on his/her experiences.

Thank you!