Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Working USB OTG on NanoPi Neo Core2 LTS and NanoPi Neo Air

Featured Replies

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

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>

 

  • Author

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.

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?

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.