Android device -> USB Hub -> DJI Remote Controller
2348 6 2023-3-26
Uploading and Loding Picture ...(0/1)
o(^-^)o
shaji
lvl.2
Spain
Offline

Hi,

I'm not sure if anyone has tested this, but after many tests I still can't find a solution. I'm working on a project which has to have the following:

- Samsung mobile device with Dex (Samsung Dex basically converts your display out of the Android device to a fully working desktop mode).
- USB Hub connected to the Samsung device with the following ports:
  • HDMI Out: For Samsung Dex desktop mode. I'm aware of the Dex Wireless but the quality and lag is very bad, prefer HDMI.
  • USB A ports for Keyboard and mouse connections
  • USB C to connect the DJI controller to the hub.

- Monitor connected to the HDMI out for Samsung Dex
- DJI controllers: Tested with the Mini 2 Standard controller, RC Smart Controller, and the Mavic 2 Enterprise standard controller.

Notice what I highlighted in red is the only part that is not working for me, everything else is. My Android device doesn't detect the Controller as a USB nor the USB Accessory when connected to the USB Hub, they are only recognized if they are connected directly to the USB C port of the Android device and not through the Hub.

I've tested with about 8 USB hubs, ones with DC power to provide more power to the hub and others that are simple USB C splitters, from cheap to expensive hubs, OTG certified, USB C to multiple USB Cs hub. Also tried plugging only the controller to the hub and no other peripherals. None of them are working.

I know that the DJI controllers use AOA (Android Open Accessory) to communicate and interface with the apps and SDKs on Android, and they don't act as actual USB devices but as USB Accessories, I tried multiple solutions in my code in the my projec that uses Mobile SDK, and also tested in the official DJI apps, none of them detect the USB Accessory unless it's a direct single connection straight to the device.

I was wondering if anyone has experienced any issues like that before and could provide a solution that I haven't tried yet.

Thank you very much in advance.

2023-3-26
Use props
Mats Bohlinsson
Second Officer
Flight distance : 1838077 ft
  • >>>
Spain
Offline

This is a long shot. Have you tried to change accessory_filter?
2023-3-27
Use props
shaji
lvl.2
Spain
Offline

Mats Bohlinsson Posted at 3-27 03:53
This is a long shot. Have you tried to change accessory_filter?

Yes. I tried many different options for the usb and accessory filters from the official ones recommended in the SDK docs to unofficial ones which I was able to detect or find online. I don't think the issue is the filter xml. Either way if you have another set of accessory filters I can try let me know. Either way the accessory when it's plugged in and it's not doing so.

These are the ones from the docs that should be used:
<resources>
   <usb-accessory model="T600" manufacturer="DJI"/>
   <usb-accessory model="AG410" manufacturer="DJI"/>
   <usb-accessory model="com.dji.logiclink" manufacturer="DJI"/>
   <usb-accessory model="WM160" manufacturer="DJI"/>
</resources>

The filter shouldn't change just because the controller is now connected through a usb hub. There has to be some kind of other issue. If anyone has tried this before I'd like to know if a solution was found.

Thanks for your reply.

2023-3-27
Use props
Mats Bohlinsson
Second Officer
Flight distance : 1838077 ft
  • >>>
Spain
Offline

If you run without any dji stuff. Just make an app that detects whats connected, what do you get then?

https://developer.android.com/gu ... ivity/usb/accessory
2023-3-28
Use props
shaji
lvl.2
Spain
Offline

Mats Bohlinsson Posted at 3-28 00:42
If you run without any dji stuff. Just make an app that detects whats connected, what do you get then?

https://developer.android.com/guide/topics/connectivity/usb/accessory

That's what my app does, I have all the proper broadcast receivers for the USB Devices and USB Accessory Attach/Detach actions.
With or without DJI stuff connected, everything else on the hub is detected as normal, the monitor, keyboard, mouse, joystick, gamepad... Except the DJI controller. Unless I connect the DJI controller directly to the phone without any hub nor other peripherals.

Yes, I've looked into AOA thoroughly in the official pages and it doesn't seem to be a coding issue.

Attached are two pictures:


- Direct connection: USB C to USB C directly to the phone, works as intended, I get the dialog to give permission to the app to use the AOA, no issues, tested with all Android devices and the 3 different DJI controllers I have and the same USB C cables.
- Through a USB Hub: Doesn't detect the AOA, no dialog popups, the Android device doesn't receive the brodcast action in the BroadcastReceiver for the USB Accessory Attached (UsbManager.ACTION_USB_ACCESSORY_ATTACHED), the action is received with direct connection with no issues.

I even tested with a high-end Thunderbolt 4 USB C hub that supports displays and peripherials through its USB C ports. Here's a link to the device (https://www.amazon.es/gp/product/B0B6GDSPB8).

As I mentioned, all other peripheralswork with no issues, even the Gamepad receives all the events and the monitor displays as expected through all the USB hubs I tested on.


The DJI AOA is simply not being detected though a USB hub.

Direct USB C connection

Direct USB C connection

Thorugh USB Hub

Thorugh USB Hub
2023-3-29
Use props
Tenou
New

Germany
Offline

Hey, did you make any progress with this? I've been struggling with the same issue.
2023-5-31
Use props
shaji
lvl.2
Spain
Offline

Tenou Posted at 5-31 05:04
Hey, did you make any progress with this? I've been struggling with the same issue.

Hey, no progress unfortunately, I tried almost every single USB hub out there, nothing. Eventually I just worked with a different approach, connecting wirelessly using DJI Bridge, not the ideal solution but since the DJI devs don't have any solutions for me here that's all I got for now. Good luck.
2023-5-31
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules