I’m just posting this info here, because I hadn’t found any other topics related to using USB hubs with the RPi0. @fhunleth helped with solve these issues via Slack, so I wanted to record them in case someone else had the same problem.
TLDR: Use the RPi system configuration instead of RPi0.
I was trying to use this USB Hub with Nerves. According to the manual, it would work with the Zero out of the box by commenting out the line
dtoverlay=dwc2 in the
config.txt file. I had confirmed that this was the case with a Zero running Raspbian (and a Pi3 running Nerves), so I tried using the RPi0 Nerves build with the modified
config.txt file. This didn’t work, nor did making a bunch of other changes to this file and the
cmdline.txt file. I figured I needed to get the serial port behaving correctly, but it just wouldn’t happen.
I’m sure most of you already know the answer, because it was clearly stated in the documentation , which is to use the RPi system configuration instead of the RPi0. This places the USB port in “host” mode, as opposed to OTG, which is what I was trying to do with the config files, but clearly it’s not that simple.
In the end, the hub works great. It’s connected by pogo pins, so no additional power is required. And had I read the manuals, I would have been using it many hours ago. At least I learned how to modify the default configuration, which had seemed really scary before, but really wasn’t too bad thanks again to all the great documentation.
Side note, during all this I learned about the Nerves.Leds package, which proved to be really helpful in debugging the Pi0, as I could start blinking a heartbeat once my program had booted and was connected to my network.