Goggles 2 and Goggles 2 Integra
socalengineer opened this issue · 9 comments
Hi,
Is there any way to update this code base to work with Goggles 2 and Goggles 2 Integra? Thank you
They use a new, unknown streaming method. That would need to get reverse engineered first.
Cosmostreamer already has support if you need it.
Hi i bought goggles ingtegra and i want to put OSD of betaflight. I cant root goggles WTFOS dont detect device. What u mean Cosmostream have suppot to root it, or what? Thanks a lot fo your work its inredible.
Hi,
I ended up getting it to work well with the DJI Fly App on Android. Now I just need an Android system that can do HDMI out, but it works well on my Lenovo P11 Gen2 Pro tablet with a great screen for the interim.
Here are the steps to get it to work on the DJI Fly App:
- Need DJI Fly App 1.9.9 for Goggles 2 Integra or higher
- Make sure OTG cable was connected to the goggles side not the android side
-
- Had to connect goggles to drone before connecting goggles to android.
Any cheap android box should work as long as it has HDMI, compatible USB, and can install the DJI Fly App
Works really well better than Goggles V2 because you get the on screen display also! Which is cool for spectators.
Hi i bought goggles ingtegra and i want to put OSD of betaflight. I cant root goggles WTFOS dont detect device. What u mean Cosmostream have suppot to root it, or what? Thanks a lot fo your work its inredible.
Cosmostreamer supports doing video out of Goggles 2/Integra.
There is no root method for the new gear yet, wtfos only works with Goggles V1/V2, Air Unit and Air Unit Lite. Adding support for the new goggles/O3 will require a completely new root method, therefor I can't promise if/when we may be able to add support.
Hi,
I ended up getting it to work well with the DJI Fly App on Android. Now I just need an Android system that can do HDMI out, but it works well on my Lenovo P11 Gen2 Pro tablet with a great screen for the interim.
Here are the steps to get it to work on the DJI Fly App:
- Need DJI Fly App 1.9.9 for Goggles 2 Integra or higher
- Make sure OTG cable was connected to the goggles side not the android side
- Had to connect goggles to drone before connecting goggles to android.
Any cheap android box should work as long as it has HDMI, compatible USB, and can install the DJI Fly App
Works really well better than Goggles V2 because you get the on screen display also! Which is cool for spectators.
Glad you got it sorted. If you happen to find an android phone/tablet with a dedicated HDMI out or 2 proper USB ports (one of which can do DP over USB) then definitely please let me know. This keeps coming up.
Otherwise yeah, an Android TV box is probably the best bet. Although at that point I'd also consider getting a raspi and Cosmostreamer license...
I found a post that says it works with a USB-C hub, but you have to enable developer options and USB debugging. I will post back with results.
"Just to update everyone who come across my post, I ended up purchasing the Asus ROG 5 Gaming Phone with Global Rom. By enabling Developer Options and USB Debugging I was able to change the USB Default to Transfer Files. Works great with my DJI Mini 2!"
I found a post that says it works with a USB-C hub, but you have to enable developer options and USB debugging. I will post back with results.
"Just to update everyone who come across my post, I ended up purchasing the Asus ROG 5 Gaming Phone with Global Rom. By enabling Developer Options and USB Debugging I was able to change the USB Default to Transfer Files. Works great with my DJI Mini 2!"
This may or may not work depending on how the new goggles handle the USB connection exactly.
On V2s for DJI Fly app streaming it's a funny setup where the goggles actually become the usb "host" (like your PC) and the phone becomes the "gadget" using something called AOA on the Android side. What this means is that the USB connection is reversed and you'd need to plug the USB-C hub into the goggles rather than the phone. Therefor no HDMI.
However the Goggles 2 / Integra changed the USB comms up significantly, so there's some chance this might still work.
tl;dr; don't spend money on a USB-C hub for just this without checking if it works first.
Too late, I already bought them. Will reply back if it works or not.
Some details that might help others getting longer
I'm on ArchLinux and had to connect the goggles via USB C -> USB A cable.
I was able to open the device but it seems like the goggles does not react on the Magic byte (which is already knowned).
Let me know if I can provide more details or writing some test code :)
➜ voc-poc git:(master) ✗ sudo lsusb -v | grep -A500 DJI
Bus 001 Device 088: ID 2ca3:0020 DJI Technology Co., Ltd. e3t
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2ca3 DJI Technology Co., Ltd.
idProduct 0x0020
bcdDevice 4.09
iManufacturer 1 DJI
iProduct 2 e3t
iSerial 3 987654321ABCDEF
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00d5
bNumInterfaces 8
bConfigurationValue 1
iConfiguration 4 rndis,mass_storage,bulk,acm
bmAttributes 0x80
(Bus Powered)
MaxPower 2mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 224 Wireless
bFunctionSubClass 1 Radio Frequency
bFunctionProtocol 3 RNDIS
iFunction 7 RNDIS
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 3 RNDIS
iInterface 5 RNDIS Communications Control
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 01
** UNRECOGNIZED: 04 24 02 00
** UNRECOGNIZED: 05 24 06 00 01
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 9
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 6 RNDIS Ethernet Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 9 Mass Storage
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 67
bInterfaceProtocol 1
iInterface 11 BULK Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 67
bInterfaceProtocol 1
iInterface 12 BULK Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 67
bInterfaceProtocol 1
iInterface 13 BULK Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 6
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 67
bInterfaceProtocol 1
iInterface 14 BULK Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 7
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 67
bInterfaceProtocol 1
iInterface 15 BULK Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x07 EP 7 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x88 EP 8 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x0016
bNumDeviceCaps 2
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000006
BESL Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000f
Device can operate at Low Speed (1Mbps)
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 1
Lowest fully-functional device speed is Full Speed (12Mbps)
bU1DevExitLat 1 micro seconds
bU2DevExitLat 500 micro seconds
Device Status: 0x0001
Self Powered