LG 360 VR PC adapter

snap3D

New member
Mar 13, 2018
4
0
0
I received a MeeGoPad T09 micro-computer. It's one of those very few models that has native USB-C interface and runs Win10 OS. So, after attaching it to HDMI TV, I also plugged LG glasses into it. Sure enough, MeeGoPad reported the second display of Toshiba type (must be a Toshiba chip inside LG), as long as I kept covered proximity sensor on LG. I set MeeGoPad to duplicate displays (it's much easier to control the screen content this way (because later LG show the same in split vertical). But so far LG remained dark. So, I installed that special VR player s/w on MeeGoPad (mentioned here earlier).

As soon as LG specific tracker was selected in that VR player, the LG glasses lit up and they remained active even after special VR player was closed/terminated, as long as then proximity sensor remains covered.

I prepared two of my own 3D photos in that vertical split format. Turns out, such format is exactly the same as TriDelta-Top-to-Top format, which SPM already supports as 3D input. My gosh, how much nicer my photos look in those LG glasses, when you compare the viewed content shown by LG G5 phone from its fuzzy looking VR defaults. Now if only we could get SPM TriDelta TT output support as well. How difficult would it be to get it implemented? After all it's already there as an input!!!

Yes, I can see a bit of screen-door effect, but it's faint enough to not to disturb me. The big benefit of those LG glasses is that they are very lightweight and comfortable, much nicer to wear than those dive-mask style cumbersome VR headsets.

So, the experiment is a full success. We can use those LG glasses for our own 3D VR content viewing on the off-the-shelf micro-PC ... but first we need to get SPM or other s/w to on the fly convert MPOs to TriDelta TT output format.
 

5casper5

Member
Mar 18, 2009
27
7
0
snap3D, it would be interesting to know whether it will work through usb 3.0 (type c to usb 3.0 adapter).

The device (tracker) did not ask for any drivers? Recognized as a universal device?
 

snap3D

New member
Mar 13, 2018
4
0
0
> it would be interesting to know whether it will work through usb 3.0 (type c to usb 3.0 adapter).

I was thinking about the same, but I can't find anywhere the adapter for USB-C female to USB-3.0 male (all adapters that I saw so far are reversed; everybody wants to use old USB-3.0 peripherals with new USB-C interface, not the opposite). I also doubt that USB-3.0 standard supports DisplayPort-over-USB protocol (which is present in USB-C specs).

> The device (tracker) did not ask for any drivers? Recognized as a universal device?

As soon as you plugin the glasses into USB-C interface on micro-PC (and keep the proximity sensor covered all the time), the Win OS automatically detects an external display of 1440x960 resolution. No specific s/w drivers are needed for that. The problem is that LG glasses remain dark. To kick the glasses started, special VR player s/w package needs to be installed and specific tracker format must be selected from VR player pull-down menu. That lights up the LCD in the glasses and also changes the image orientation into dual top-to-top vertical format (the same exact format was used by TriDelta 3D lens adapter during negative/slide film cameras era). So yes, we need that special piece of VR player s/w to get any light coming out of LG glasses (but that most likely is a simple single command that could be sent by any simple script; we just need to know what it is).
 

marian_86

Member
Dec 20, 2011
20
10
0
Hi all, and thanks to alanma75 for plugging it in to the NUC.
That was the reason for me to buy one of the "worst 3d Glasses", even if i don't own an USB-Type-C equipped PC (yet).

Thanks 0TheRain0 for posting the pictures of the main board.

If you're in a hurry and don't want to read all
:
-Internal USB-Testpoints worked, connecting (only) the Headtracker
-Testpoints are parallel to USB-Lines in Type-C connector, no need for you to solder or disassembly
-USB 3.1 A to Type-C Adapter will only connect the Headtracker (no Video)
-Enable-Command is in the guts of the VR-Player extension.
-Screen orientation could be done through Fragment-Shader-Programming
-Reading all would have been more entertaining :p

I connected the Glasses to a Lenovo p71 (not mine) and installed the secial VR-Player (w/o Codecs).
The glasses are recognized as external Monitor and generic USB device. The Distance sensor works (checked with Cam), but im not able to get screens light up. (Run VR-Player as admin, imported the Tracker-script and selected the Tracker,... nothing).
Do you have any additional advice?

As i can't test the glasses on my own devices, i disassembled the glasses and soldered an USB Cable to the test-pads.
I didn't even bother with windows as i don't know how USB debugging and development works...:confused:

On Linux "lsusb" instantly showed:
Bus 005 Device 003: ID 1004:6374 LG Electronics, Inc.

"dmesg" showed:
[ 6242.956072] usb 5-1: new full-speed USB device number 4 using uhci_hcd
[ 6243.138148] usb 5-1: New USB device found, idVendor=1004, idProduct=6374
[ 6243.138162] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 6243.138172] usb 5-1: Product: LGE Custom Human interface
[ 6243.138179] usb 5-1: Manufacturer: LGE
[ 6243.138187] usb 5-1: SerialNumber: 00000000001A
[ 6243.153374] hid-generic 0003:1004:6374.0003: hiddev0,hidraw0: USB HID v1.11 Device [LGE LGE Custom Human interface] on usb-0000:00:1d.0-1/input0


Then i captured some raw data from /dev/hidraw0 but i can't decode the Data (yet).

Today i hooked up my Multimeter and probed the Testpoints vs the Type-C Connector.
Good news for you! There is no need to solder or disassembly the Glasses. The Test-Points are parallel connected to the USB-PINS on the Type-C connector.
So i desoldered the wire and built an USB-A male to USB-Type-C female Adapter.
It works exactly the same. (I'm 102.7% sure those commercial USB3.1 to C adapters do the same, as DP is not in USB 3.1 spec)

For the next steps i see 3 2 Options:
- Try to fiddle around with the output of the hidraw0 device
- Try to decompile the VR-Player extension as 5casper5 already did and try to reverse engineer the "wake up" command.
I think i found something: "SendVRAppStart()" in LgeR1360Tracker.cs. It calls something in UsbHid.dll or VrPlayer.Trackers.LgeR1360Tracker.dll
Code:
[censored]@[censored]:~/Downloads/VrPlayer.Trackers.LgeR1360Tracker$ grep SendVRAppStart *
LgeR1360Tracker.cs:					this.UsbHidSensor.SendVRAppStart();
Übereinstimmungen in Binärdatei UsbHid.dll
Übereinstimmungen in Binärdatei UsbHid.pdb
Übereinstimmungen in Binärdatei VrPlayer.Trackers.LgeR1360Tracker.dll

- Probing the I2C Pins on the Board is not an option because soldering on those BGA and TQFN packages would be rather hard to impossible.

I would like to have a small program or script (open source) which just sends the "Enable Command" every time the distance sensor is covered.
The screen orientation should be easy accomplished with some simple Fragment-Shader-Programming (i have a very basic demo-program already working, but i cant run it on my gpu (to old))

Enough for now...
 
  • Like
Reactions: 0TheRain0

Supportit

Member
Apr 14, 2018
21
6
0
Hi, i am also trying to make these glasses to work with my Samsung Galaxy S8+ Smartphone,
i decompiled the original Android app and it seems pretty easy, the "Enable Command" is Just a Simple "VR App Start" you can send it to the usb receive endpoint of the glasses but unfortunatly right now it does not work completly for me, i can see all the messages with my own app that are coming from the glasses but i cannot send someting here are some examples of the received date:

event.value.signals(4), now sleep mode (1)
Set_Earjack_Remove
MAX98091_HEADSET_Off >> END
Power_SleepMode: now sleep mode(2)
INPUT_EVENT_EARJACK_REMOVE

If i cover the proximity sensor i get these messages:
Proximity NEAR
Power_Task: proxi_value = 0
Proximity FAR
Power_Task: proxi_value = 5

as you can see it is just plain text, there is also much more junk but i think that this is the head tracker that looks like this:

E_ヒᄎ¬￀;￵tヒ:f₩￈=レ)ᅡ﾿ᅪAᅱロヨ
E_ヒᄎ켸ヒ:￵tヒ:ffᄚ=3ᅴ￁﾿3<Aᄏ-ᆪヨ
E_ヒᄎ켸ヒ:￵tヒ:ffᄚ=3ᅴ￁﾿
E_ヒᄎXᅠヒᄎV&ᄊレ﾿=レ)ᅡ﾿ᅪOAモᅮᄆヨ
E_ヒᄎXᅠヒᄎV&ᄊffᄚ=レ)ᅡ﾿fcAᄈ!ᄍヨ
ᄃハᄏ[ヒ-5￵tヒ:レルᆭ=

in the app is also a firmware file for the glasses if you decompile it you can see every command that can be used to send here are also some examples:


getDebugInfo
getAATResult
Accel On
Accel Off
Accel Cal
Accel Selftest
Accel Get XYZ
Gyro On
Gyro Off
Gyro Cal
Gyro Selftest
Gyro Get XYZ
Compass On
Compass Off
Compass Get XYZ
Proximity On
Proximity Off
Proximity Cal
Proximity Get Data
Proximity Get Crosstalk'
Proximity Set Regi
Proximity Get Regi
isDisplayReady
Reboot
Set Brightness
Set Mode
Set Backlight Control
Set LCD Pattern Test
R1 Shutdown
VR App Start
Sleep Disable
Read MiniOS Result
Write Motion Result
Write Proximity Result
Write Key Result
Write Earphone Result
Write HDMI Result
Write LCD Result
Write Reset Result
 
Last edited:
  • Like
Reactions: marian_86

marian_86

Member
Dec 20, 2011
20
10
0
Very interesting.
The only Type-C Device i own is my Huawei Nova (not rooted).
I already tried to install those LG apps, but none worked with the glasses.
I also don't know if my Device is capable to provide Video out over USB-C.

Can you provide your Test-App?
 

Supportit

Member
Apr 14, 2018
21
6
0
Very interesting.
The only Type-C Device i own is my Huawei Nova (not rooted).
I already tried to install those LG apps, but none worked with the glasses.
I also don't know if my Device is capable to provide Video out over USB-C.

Can you provide your Test-App?
The app is very buggy at the moment and is still not working to output a picture, if i connect the glasses without any app to my phone i get a toast message that says HDMI connected, if you get this message it will work with your phone, if not it is possible that it works and just dont shows the message.


I will make the app puplic when it works
 

Supportit

Member
Apr 14, 2018
21
6
0
Sorry for repost.

I just found another way of updating the firmware on the goggles, this time with a windows pc

STM Provides an DFUse Programm that you can get here: http://www.st.com/en/development-tools/stsw-stm32080.html

with this program you can get the current firmware from the goggles and also you can upload the new firmware to it, to get the newest firmware you need to take it out of the android app vr manager from lg.

The only problem is that you have to open the goggles and bridge the test point pin B and 5V to bring the Goggles in the DFU mode from STM, the LG DFU mode does not work this time, while pluging it in.
the B pin is the Boot0 pin of the STM32F411 on the mainbard in the googles .

After that your Pc should recognise a new device you must install the driver from DFUse called STM in Dfu Mode.


Maybe someone has an old firmware on the goggles and can read it out and upload it somewhere i would like to take a look inside of it.

With this information it is also possible to write a whole new firmware for the Google because we have always the fallback and can restore Original Firmware.
STM is providing a very nice programming Option

In the DFUse Programm is also an application called "DFU file manager" with this you are able to pack or unpack a dfu file to bin, hex, or S19 files. this should be easier to decompile.
 
Last edited:

marian_86

Member
Dec 20, 2011
20
10
0
Thanks for the Informations.
Too bad that i already upgraded my firmware. I also can't find an old VR-Manager App version for download.

If we are lucky a Friend of mine will also buy a Headset.
I think he will also buy a brand new one, then i can download the old Firmware.
I'll keep you up to date.
 
  • Like
Reactions: WinVictor

Supportit

Member
Apr 14, 2018
21
6
0
Thanks for the Informations.
Too bad that i already upgraded my firmware. I also can't find an old VR-Manager App version for download.

If we are lucky a Friend of mine will also buy a Headset.
I think he will also buy a brand new one, then i can download the old Firmware.
I'll keep you up to date.
Thank you for that, i already bought another goggles and they where with the old firmware 10a i think this is the first one, i am getting deeper and deeper into the goggles :D

Here i found some nice information about the HDMI and Displayport in the goggle, theoretical it should be possible to make an displayport to usb-c cable to use it as a monitor without the 100$ adapter.
http://www.pieeco.com/pdf/2016arvr_guigusm.pdf

The biggest problem i have right now is that my Samsung S8+ and my Samsung S9+ sees the Goggles only as one 640x480 display and not the right resolution, there are even no other display modes in /sys/class/graphics/fb01/modes, even with the enabled goggles i only have back light without a picture.
 
Last edited:

marian_86

Member
Dec 20, 2011
20
10
0
Interesting Information.
I already looked up all the IC and USB-C specs/pinouts and hacked together a USB2.0 to USB-C cable.
As far as i understand the spec-sheets from VESA , i think it should be possible to add a Displayport connection to my adapter.
Im not sure if it will detect the googles because i did not find any information on the HPD (Hot-Plug-Detect) ...yet. But i will just try to ghetto-solder random wires together and hope for the best.

I'll let you know...
 

alakimaki

Member
Jul 3, 2014
24
4
0
It should certainly be possible to drive these goggles with displayport graphics card. My wild guess would be that it is stm32f4 that enables backlight since it handles usb seperate from displayport and that would make power saving easier to do maybe. https://en.wikipedia.org/wiki/DisplayPort#USB-C pretty much spells out the wiring. The only problem one could run into is if this stm32f4 that uses usb shares some of the pins with displayport and messes something up. Then again one could program stm32f4 to not use usb if nothing else helps. I guess easiest way to do the wiring would be "type C Connector 24 Pins Female pcb" found on ali.

It should be possible to capture usb data with https://sourceforge.net/projects/usbsnoop/ but as it is somewhat old program it might not work anymore. Using VirtualBox and usbmon on lunix is another option
 
Last edited:

alakimaki

Member
Jul 3, 2014
24
4
0
Looking at
https://www.vesa.org/wp-content/upl...ys-DisplayPort-Alternate-Mode-2016-final4.pdf and https://www.displayport.org/wp-content/uploads/2014/09/DP-Alt-Mode-Overview-for-VESA-v1.pdf there is a way for legacy displayport(both source and sink) device to work with usb type c but there will be no usb. It does not collide with the usb 2.0 pins though so could still work. The full shabang uses something like
PS8740. So display port AUX+ and AUX- connect to SBU1 SBU2 on usb type c(https://training.ti.com/sites/default/files/docs/USB_3.1_Type-C_solutions_TIpart_0.pdf) but there needs to be bidirectional level converter(https://electronics.stackexchange.com/questions/180699/disabling-displayport-hot-plug-detect). I am not sure what that ID block is... It also says that DP HPD signal is embedded into USB PD message. I would not be surprised if some extension to lunix kernel would be able to do this negotiation with usb 3.1 but that is probably quite difficult to do. https://www.embedded.com/design/pow...ower-delivery-101-----Power-delivery-protocol saysit is 300khz line so one could use microcontroller to enter this alternative mode. Yeah, so close...
 
Last edited:
  • Like
Reactions: 0TheRain0

marian_86

Member
Dec 20, 2011
20
10
0
Hi alakimaki, thanks for the links.
Damn, i really need up to date Equipment for this kind of hacking :(
(still no DP source or USB-C host)

I found an interesting Document wich describes the DP-Alt Mode negotiation and and the HPD part over USB-PD Protocol.

http://www.st.com/content/ccc/resou...df/jcr:content/translations/en.DM00479305.pdf

I also probed all Pins in the Connector from the googles.
Right now there are two options:
1. Ghetto-Soldering an Adapter DP + USB2 => USB-C (and pray)
2. Recording and analyzing the Handshake with logic analyzer, do some uC magic and emulate the Handshake + HPD

From my experience, Devs are cooking with water and often they don't even use hot water... So maybe option 1 will work.
 

alakimaki

Member
Jul 3, 2014
24
4
0
I would not be very hopeful it working just by soldering the wires. It kind of seems that usb power delivery is there also to agree on signal levels and devices that would not comply with usb power delivery could be hazardous to other devices.

Cypress seems to have such controllers that can do the job http://www.cypress.com/products/ez-pd-cmg1-usb-c-emca-controller . There are reference design for CCG1/2/3 .
There are usb type c to display port cables on aliexp that have this box at the displayport side which contain the chip. "ICZI USB 3.1 Type C to DisplayPort Adapter" shows renders with the chip(48QFN). Perhaps this actually is cypress chip inside and you can reprogram it via usb or i2c. "FOINNEX usb-c to displayport cable" also claims cypress chip.
I am still hesitating a bit still because I would have to upgrade my video card to display port.
 

alakimaki

Member
Jul 3, 2014
24
4
0
I found HP type c to displayport adapter on discount so I though to have a look.
I melted the plastic case corners with soldering iron and found metal box with STM32F072 inside which suggest it is based on http://www.st.com/en/evaluation-tools/steval-usbc2dp.html reference design. There are 9 test points on board so pretty sure there is SWI on board to program it somehow.
It seems that part of the software is at https://github.com/st-one/X-CUBE-USB-PD but actual sources for usb c to displayport are still missing.
I still have no idea whether one would actually need to update firmware on either st or cypress chips for it to work in reverse direction. Most of the docs seem to imply that usb c is your pc and dp is monitor.
This EZ-PD Configuration Utility(https://www.youtube.com/watch?v=WVjqEb4bGgQ) which you can download from cypress site sure looks nice. I suppose one would at least have to add source PDO or else the goggles might be confused where it is getting power from.
There are actually few type c female to female adapters on aliexp so one could plug in that directly. You would have to open the thing and use the solder pads to power it up though.
 

WinVictor

New member
Mar 4, 2010
2
0
0
Smartphone screen on LG 360VR (VR-R100)

Hi ... I would like to know if there is any way to display all the LG G5 H860 smartphone screen images on the VR 360, because as it only displays LG's standard applications, you can not see Netflix or play with any applications other than of the LG app platform. They know of an application that unlocks and can see other features beyond the limited of the Manager VR. Tks!