humanoid2050 Posted July 20, 2019 Posted July 20, 2019 I've got a NanoPi Neo Core 2 and a NanoPi Neo Air. It bothered me that the USB OTG did not function in host mode. Turns out, the included Armbian .dtb's don't have the parts necessary to define the regulator which pushes power back to a client device when the board needs to run in OTG host mode. You can see the regulator on page 8 of the schematic http://wiki.friendlyarm.com/wiki/images/6/6b/NanoPi_NEO_Core2-V1.0_1707.pdf I found an upstream patch at https://patchwork.kernel.org/patch/9921097/ which defined the missing parts for a Neo Plus 2. I put the relevant parts into an overlay dts file (attached) that can be loaded with sudo armbian-add-overlay otg.dts I've tested this on both of my devices. I assume it should work on other devices with the same wiring. One quirk I didn't figure out though... online sources all used "GPIO_ACTIVE_HIGH" as a kind of defined value, but the version of 'dtc' included with Armbian chokes on it. So instead I just in the equivalent numeric value. otg.dts
martinayotte Posted July 20, 2019 Posted July 20, 2019 11 hours ago, humanoid2050 said: One quirk I didn't figure out though... online sources all used "GPIO_ACTIVE_HIGH" as a kind of defined value, but the version of 'dtc' included with Armbian chokes on it. So instead I just in the equivalent numeric value. The reason is when compiling Main DT, the compiler has access to kernel header, but when compiling overlays, you can't include those headers ... #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/input/input.h>
humanoid2050 Posted July 20, 2019 Author Posted July 20, 2019 Fair enough. I'm not too worried though, as the long term solution really needs to be folding this into the Armbian or upstream kernel sources so that it builds with the system as a whole. This is just a bandaid for people who want USB OTG right now.
ubuntuuser Posted November 23, 2020 Posted November 23, 2020 I've used this fix, but I seem to be having an issue where my nanopi Neo Airs are freezing sporadically. Seems to happen more frequently with ODT usb devices connected. It's not a memory leak, temp, or CPU issue. Is it possible this is the issue?
Recommended Posts