DJI Mavic Pro / Assistant 2 on Win10 guest

Discussions related to using VirtualBox on Linux hosts.
Post Reply
Tukcedo
Posts: 2
Joined: 3. Mar 2018, 15:47

DJI Mavic Pro / Assistant 2 on Win10 guest

Post by Tukcedo »

Hi there,

I've been trying to hook up my DJI Mavic Pro drone to the Assistant 2 configuration application running on a Windows 10 guest. Although the guest recognizes a regular USB stick, it is totally unaware of the Mavic being attached and the application therefore doesn't see it. On drone forums it is often said that the Assistant 2 application is very picky, but I'm guessing that the USB isn't passed properly. Because the Go 4 app on tablet/phone can't do all the configurations, I'd really like this to work.

Any help is GREATLY appreciated. Thanks very much!

Mich.

Host: Ubuntu 16.04 Linux 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Virtualbox: Version 5.2.6 r120293 (Qt5.6.1)
Guest: Windows 10 Home 10.0.16299 Build 16299

lsusb: Bus 002 Device 009: ID 2ca3:001f
id: uid=1000(michel) gid=1000(michel) groups=1000(michel),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),129(vboxusers)

VBoxManage -version
5.2.6r120293

VBoxManage list extpacks

Code: Select all

Extension Packs: 1
Pack no. 0:   Oracle VM VirtualBox Extension Pack
Version:      5.2.8
Revision:     121009
Edition:      
Description:  USB 2.0 and USB 3.0 Host Controller, Host Webcam, VirtualBox RDP, PXE ROM, Disk Encryption, NVMe.
VRDE Module:  VBoxVRDP
Usable:       true 
Why unusable:
VBoxManage list usbhost

Code: Select all

Host USB Devices:

UUID:               b858821c-1e4a-49df-8b7c-e379929385be
VendorId:           0x2ca3 (2CA3)
ProductId:          0x001f (001F)
Revision:           255.255 (255255)
Port:               0
USB version/speed:  2/High
Manufacturer:       DJI
Product:            DJI
SerialNumber:       0123456789ABCDEF
Address:            sysfs:/sys/devices/pci0000:00/0000:00:14.0/usb2/2-1//device:/dev/vboxusb/002/009
Current State:      Busy

UUID:               8548f762-e27c-4b64-9927-42c714d860f5
VendorId:           0x0bda (0BDA)
ProductId:          0x5682 (5682)
Revision:           72.20 (7220)
Port:               4
USB version/speed:  2/High
Manufacturer:       CKFEH41F301030019610
Product:            Integrated_Webcam_HD
SerialNumber:       200901010001
Address:            sysfs:/sys/devices/pci0000:00/0000:00:14.0/usb2/2-5//device:/dev/vboxusb/002/004
Current State:      Busy

UUID:               6002887e-0b8a-422d-8253-d29645cebb16
VendorId:           0x0a5c (0A5C)
ProductId:          0x216f (216F)
Revision:           1.18 (0118)
Port:               2
USB version/speed:  2/Full
Manufacturer:       Broadcom Corp
Product:            BCM20702A0
SerialNumber:       346895EDFF22
Address:            sysfs:/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3//device:/dev/vboxusb/002/002
Current State:      Busy

UUID:               c69940d0-60ad-4af6-8c11-a80c52fdb49b
VendorId:           0x04f3 (04F3)
ProductId:          0x20d0 (20D0)
Revision:           17.17 (1717)
Port:               3
USB version/speed:  2/Full
Manufacturer:       ELAN
Product:            Touchscreen
Address:            sysfs:/sys/devices/pci0000:00/0000:00:14.0/usb2/2-4//device:/dev/vboxusb/002/003
Current State:      Busy
VBoxManage list usbfilters

Code: Select all

Global USB Device Filters:
<none>
VBoxManage showvminfo "Windows 10"

Code: Select all

Name:            Windows 10
Groups:          /
Guest OS:        Windows 10 (64-bit)
UUID:            e7adbb1f-2410-44a8-ad2e-93b808ea6b3e
Config file:     /home/michel/VirtualBox VMs/Windows 10/Windows 10.vbox
Snapshot folder: /home/michel/VirtualBox VMs/Windows 10/Snapshots
Log folder:      /home/michel/VirtualBox VMs/Windows 10/Logs
Hardware UUID:   e7adbb1f-2410-44a8-ad2e-93b808ea6b3e
Memory size:     4608MB
Page Fusion:     off
VRAM size:       256MB
CPU exec cap:    100%
HPET:            off
Chipset:         piix3
Firmware:        BIOS
Number of CPUs:  2
PAE:             off
Long Mode:       on
Triple Fault Reset: off
APIC:            on
X2APIC:          off
CPUID Portability Level: 0
CPUID overrides: None
Boot menu mode:  message and menu
Boot Device (1): DVD
Boot Device (2): HardDisk
Boot Device (3): Not Assigned
Boot Device (4): Not Assigned
ACPI:            on
IOAPIC:          on
BIOS APIC mode:  APIC
Time offset:     0ms
RTC:             local time
Hardw. virt.ext: on
Nested Paging:   on
Large Pages:     off
VT-x VPID:       on
VT-x unr. exec.: on
Paravirt. Provider: Default
Effective Paravirt. Provider: HyperV
State:           powered off (since 2018-03-03T14:10:54.110000000)
Monitor count:   1
3D Acceleration: on
2D Video Acceleration: on
Teleporter Enabled: off
Teleporter Port: 0
Teleporter Address: 
Teleporter Password: 
Tracing Enabled: off
Allow Tracing to Access VM: off
Tracing Configuration: 
Autostart Enabled: off
Autostart Delay: 0
Default Frontend: 
Storage Controller Name (0):            SATA
Storage Controller Type (0):            IntelAhci
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  30
Storage Controller Port Count (0):      2
Storage Controller Bootable (0):        on
SATA (0, 0): /home/michel/VirtualBox VMs/Windows 10/Windows 10.vdi (UUID: 21aacfd6-8715-4fcd-aa3b-907e8e9a7a96)
SATA (1, 0): /usr/share/virtualbox/VBoxGuestAdditions.iso (UUID: f44e7ec1-827d-46dc-8358-dddf3f685f45)
NIC 1:           MAC: 0800275FE9FE, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings:  MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled
Pointing Device: USB Tablet
Keyboard Device: PS/2 Keyboard
UART 1:          disabled
UART 2:          disabled
UART 3:          disabled
UART 4:          disabled
LPT 1:           disabled
LPT 2:           disabled
Audio:           enabled (Driver: PulseAudio, Controller: HDA, Codec: STAC9221)
Audio playback:  enabled
Audio capture: enabled
Clipboard Mode:  Bidirectional
Drag and drop Mode: Bidirectional
VRDE:            disabled
USB:             disabled
EHCI:            disabled
XHCI:            enabled

USB Device Filters:

Index:            0
Active:           yes
Name:             USB DISK 2.0 [1029]
VendorId:         090c
ProductId:        1000
Revision:         1029
Manufacturer:     USB
Product:          DISK 2.0
Remote:           0
Serial Number:    3J07XDWAP5X1A4U2

Index:            1
Active:           yes
Name:             Mavic Tukcedo
VendorId:         2ca3
ProductId:        001f
Revision:         
Manufacturer:     DJI
Product:          Mavic Pro
Remote:           
Serial Number:    

Bandwidth groups:  <none>

Shared folders:  

Name: 'data', Host path: '/home/michel/data' (machine mapping), writable

Capturing:          active
Capture audio:      not active
Capture screens:    0
Capture file:       /home/michel/VirtualBox VMs/Windows 10/Windows 10.webm
Capture dimensions: 1920x1200
Capture rate:       1500 kbps
Capture FPS:        25
Capture options:    ac_enabled=false

Guest:

Configured memory balloon size:      0 MB
Attachments
w10vbox.zip
The VBOX log file for the guest
(30.57 KiB) Downloaded 12 times
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: DJI Mavic Pro / Assistant 2 on Win10 guest

Post by mpack »

The extension pack (which implements USB2/USB3) must match the version number of the main software. Then make sure that USB2 is enabled in the VM settings.

Also, all of the devices are showing as busy, meaning they're already plugged in. Plug devices in after the VM has finished booting.
Tukcedo
Posts: 2
Joined: 3. Mar 2018, 15:47

Re: DJI Mavic Pro / Assistant 2 on Win10 guest

Post by Tukcedo »

Sadly, no luck ...

From this directory: https://download.virtualbox.org/virtualbox/5.2.8/

I installed Oracle_VM_VirtualBox_Extension_Pack-5.2.8-121009.vbox-extpack and virtualbox-5.2_5.2.8-121009~Debian~jessie_amd64.deb which successfully starts the W10 guest. I made sure USB2.0 is selected and the Mavic isn't connected until the app is fully up and running.

To get things flying again, I tried with a Windows-owning friend and the app on his W7 machine saw the Mavic right away (and we were able to do the necessary calibration). However, I still can't do it with Virtualbox it seems.

Anything else I can try?
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: DJI Mavic Pro / Assistant 2 on Win10 guest

Post by socratis »

Tukcedo wrote:Anything else I can try?
Delete the "Manufacturer" and "Product" from your USB filter. That's the last piece of advice, other than that everything seems in order. Oh, and please use the Windows-centric tools to make sure that the device is recognized appropriately in your guest. See #7: Troubleshooting, point 3.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Royd
Posts: 3
Joined: 14. Mar 2018, 21:18

Re: DJI Mavic Pro / Assistant 2 on Win10 guest

Post by Royd »

I know this is an old post, and I'm not sure if I'm reading this correctly, but on your output for "VBoxManage showvminfo "Windows 10"" I saw:
USB:             disabled
EHCI:            disabled
XHCI:            enabled
Not sure why this is being reported that way. Are you using other USB devices ok? I'm assuming USB is refering to USB v1, EHCI is USB v2, and XHCI is USBv3. Perhaps try switching to USBv2, EHCI. And if that doesn't work, try regular USB v1. It's weird that it reports EHCI and USB disabled... because XHCI should be backwards compatible, and so USB and EHCI should report as enabled IMHO.

-Justin
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: DJI Mavic Pro / Assistant 2 on Win10 guest

Post by socratis »

Royd wrote:Not sure why this is being reported that way.
Because at some point there was one kind of USB only. And if you don't have the ExtPack, it still is. So... legacy.
Royd wrote:I'm assuming USB is refering to USB v1, EHCI is USB v2, and XHCI is USBv3.
That would be correct.
Royd wrote:Perhaps try switching to USBv2, EHCI. And if that doesn't work, try regular USB v1
Actually, that's not the best USB advice. If your guests supports USB3, you should definitely, absolutely, 100% opt for that. And if your guest doesn't support it, make it! The specification is a lot more robust, and the controller (as you said) is backwards compatible.
Royd wrote:XHCI should be backwards compatible, and so USB and EHCI should report as enabled IMHO.
This reflects the setting in the USB section of the VM Settings. So it's an "either/or" situation, not a combination. In other words, if it says XHCI, then the lower ones are enabled.

FYI, this issue has been addressed in the upcoming releases. Read all of the thread "[Patch] Improved showvminfo USB information" from the dev's mailing list archives. This has lead to the change in the output of the "showvminfo". See changesets 70587 and 70717 (line 1980). The output now looks like:
OHCI USB:                    disabled
EHCI USB:                    disabled
xHCI USB:                    enabled
It's already implemented in the development builds.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: DJI Mavic Pro / Assistant 2 on Win10 guest

Post by mpack »

Royd wrote:because XHCI should be backwards compatible, and so USB and EHCI should report as enabled IMHO.
Only under a very superficial understanding of the spec. The ports are backwards compatible. But the host is still using an xHCI driver stack for it, and that's what decides whether a particular plugged in device is USB2 and USB3. VirtualBox filter drivers must work in the driver stack that the host has selected for the port.

The distinction btw is that xHCI is the controller/hardware, USB3 is a protocol API and a port spec that xHCI implements, but there could be other implementations. Likewise for the other levels. So the fact that xHCI is enabled does NOT mean that VirtualBox should also enable the EHCI controller, two controllers for one port wouldn't make sense at all - I have no idea what drivers the guest would load for that.
jmspaggi2
Posts: 1
Joined: 15. Mar 2018, 21:39

Re: DJI Mavic Pro / Assistant 2 on Win10 guest

Post by jmspaggi2 »

Trying to do the exact same thing.

Running Virtual Box on Debian Buster. Installed the guest tools, and the ext package.

I can see the USB device on the host. But nothing on the Windows side (VB).

Device is clearly visible on Linux:

Code: Select all

root@t460s:/tmp# lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null
Bus 001 Device 066: ID 2ca3:001f  
  bDeviceClass            0 (Defined at Interface level)
  bDeviceProtocol         0 
  iProduct                3 DJI
  bDeviceClass            0 (Defined at Interface level)
  bDeviceProtocol         0 
But still, nothing on VB side. I tried to add a device with the Magic ID, but it doesn't work. Strange. Interesting to hear what others have tested...

Thanks.
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: DJI Mavic Pro / Assistant 2 on Win10 guest

Post by socratis »

Not the same problem. Please open a new thread, do not hijack other people's threads, especially if it's not the same problem.

And read the following thread: USB basics and troubleshooting, all of the posts. If you still have a problem after reading through the whole thing, please follow the advice of the last post, #8: Asking for help and post the information requested.

But not here, in a new thread...
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Post Reply