Devices don't appear on client after updating from Android Nougat to Android Oreo.

We have a licensed copy of Virtual here to connect device attached to an Google Pixel. When the Pixel was running Android Nougat (7.??), all the devices were visible to our windows client (version 4.2.2). However, after updating the Pixel to Android Oreo, none of the devices are visible to our windows client. Below is the server log from the Pixel:

09-05 09:59:24.636 4274 4274 E WindowManager: at android.support.v7.app.o$2.a(Unknown Source:5)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.support.v7.widget.Toolbar$1.a(Unknown Source:10)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.support.v7.widget.ActionMenuView$d.a(Unknown Source:10)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.support.v7.view.menu.h.a(Unknown Source:6)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.support.v7.view.menu.j.b(Unknown Source:22)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.support.v7.view.menu.h.a(Unknown Source:13)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.support.v7.view.menu.m.onItemClick(Unknown Source:25)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.widget.AdapterView.performItemClick(AdapterView.java:318)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.widget.AbsListView.performItemClick(AbsListView.java:1165)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.widget.AbsListView$PerformClick.run(AbsListView.java:3134)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.widget.AbsListView.onTouchUp(AbsListView.java:4061)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.widget.AbsListView.onTouchEvent(AbsListView.java:3820)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.support.v7.widget.aj.onTouchEvent(Unknown Source:7)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.View.dispatchTouchEvent(View.java:11721)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2955)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2636)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.widget.PopupWindow$PopupDecorView.dispatchTouchEvent(PopupWindow.java:2397)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.View.dispatchPointerEvent(View.java:11960)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4776)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4590)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4181)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4274)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4155)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4331)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4181)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4155)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6642)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6616)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6577)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6745)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.os.MessageQueue.nativePollOnce(Native Method)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.os.MessageQueue.next(MessageQueue.java:325)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.os.Looper.loop(Looper.java:142)
09-05 09:59:24.636 4274 4274 E WindowManager: at android.app.ActivityThread.main(ActivityThread.java:6541)
09-05 09:59:24.636 4274 4274 E WindowManager: at java.lang.reflect.Method.invoke(Native Method)
09-05 09:59:24.636 4274 4274 E WindowManager: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
09-05 09:59:24.636 4274 4274 E WindowManager: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
09-05 09:59:24.814 4274 4274 E vhusbd-service: Opening local exception: Connection refused
09-05 09:59:28.014 4274 4279 I zygote64: Do partial code cache collection, code=124KB, data=74KB
09-05 09:59:28.014 4274 4279 I zygote64: After code cache collection, code=124KB, data=74KB
09-05 09:59:28.014 4274 4279 I zygote64: Increasing code cache capacity to 512KB
09-05 10:00:09.208 4274 8513 E vhusbd-service: Opening local exception: Connection refused
09-05 10:00:10.309 4274 8515 E vhusbd-service: Opening local exception: Connection refused
09-05 10:00:10.499 4274 4274 E vhusbd-service: Opening local exception: Connection refused
09-05 10:00:10.875 4274 4274 E vhusbd-service: Opening local exception: Connection refused
09-05 10:00:25.936 4274 4274 E vhusbd-service: Opening local exception: Connection refused
09-05 10:00:32.854 4274 6092 D OpenGLRenderer: endAllActiveAnimators on 0x7515212800 (al$a) with handle 0x75153a6ae0
09-05 10:00:34.437 4274 4274 W InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
09-05 10:01:00.195 4274 8737 E vhusbd-service: Opening local exception: Connection refused
09-05 10:01:01.298 4274 8726 E vhusbd-service: Opening local exception: Connection refused
09-05 10:01:03.782 4274 8728 E vhusbd-service: Opening local exception: Connection refused
09-05 10:01:36.197 4274 4274 E vhusbd-service: Opening local exception: Connection refused
09-05 10:01:41.645 4274 6092 D OpenGLRenderer: endAllActiveAnimators on 0x75149b8000 (al$a) with handle 0x7514c27640
09-05 10:08:54.603 4274 9199 E vhusbd-service: Opening local exception: Connection refused
09-05 10:08:54.889 4274 9201 E vhusbd-service: Opening local exception: Connection refused
09-05 10:08:58.881 4274 4274 W InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
09-05 10:12:16.423 4274 9390 E vhusbd-service: Opening local exception: Connection refused
09-05 10:12:16.676 4274 9396 E vhusbd-service: Opening local exception: Connection refused
09-05 10:12:52.315 4274 4274 E vhusbd-service: Opening local exception: Connection refused

#2

Yes i know , oreo isnt working at the moment, google have changed something , ive listed a bug with google about this... im currently trying to see if there is a workaround..., for the time being, try to use 7.x only on the pixel.

#3

Actually i found a fix, i tested on my pixel xl and its back working again, ill do a push to the playstore with the updated apk today...

#5

I noticed a few roadblocks with oreo. Ive got it working on my pixel xl (havent pushed to playstore yet) however with oreo i am unable to determine the speed of the device attached (which is required knowledge). Android Oreo has now blocked any way to get the device speed. e.g Full Speed (12Mbps) or High Speed 480MBps. What sort of devices do you plug into the pixel? E.g serial to usb or game controllers etc? I think i might have to keep a database of device speeds that the app can refer to.

#6

We have quite a few devices that we are attaching:
- at least 2 FTDI serial to USB adapters
- a FLIR One Pro
- a Bulltet HD Pro 4 bullet camera
- at least one generic USB 3 hub
- several other custom devices which run at full speed

#7

Ok can you try this beta

https://play.google.com/apps/testing/com.virtualhere.androidserver

Unfortunately you will need to know the speed of the device (initially) . The app will ask.

If you could then tell me the vendor id/product id code and the speed that works. i can update the database here. The app checks the database before asking so i can add those products if i know the info.

I have logged an issue with google regarding this speed problem (https://issuetracker.google.com/issues/65433974) so hopefully they can fix this in the next update of android.

#8

So, we did get a bit further with the new app. Our client does see the server and appears to connect, but none of the devices that were attached were visible on the client. Also, when it first started up, we were not asked for the speeds of the connected devices. The only two devices that we had connected were a BobjGear ethernet adapter for android and a Diamond Displaylink 4k USB3 display adapter (Model BVU500H REV A).

Here is the latest log as well:
--------- beginning of main
09-07 09:32:23.708 4134 4134 I vhusbd-boot: Starting server daemon...
09-07 09:32:23.879 4134 4178 I vhusbd : Thu Sep 7 09:32:23 2017 LOG_INFO >>> Starting VirtualHere USB Server v3.3.8 (Built: Sep 6 2017, 21:55:38)<<<
09-07 09:32:23.879 4134 4178 I vhusbd : Thu Sep 7 09:32:23 2017 LOG_INFO Using configuration /data/data/com.virtualhere.androidserver/config.ini
09-07 09:32:23.887 4134 4178 I vhusbd : Thu Sep 7 09:32:23 2017 LOG_INFO Server licensed to=HT7140200129 max_devices=unlimited
09-07 09:32:23.887 4134 4178 I vhusbd : Thu Sep 7 09:32:23 2017 LOG_INFO Using large URB's
09-07 09:32:23.888 4134 4178 I vhusbd : Thu Sep 7 09:32:23 2017 LOG_DEBUG TCPServer starting...
09-07 09:32:23.895 4134 4178 I vhusbd : Thu Sep 7 09:32:23 2017 LOG_INFO Listening on all network interfaces at port 7575 (IPv6 dual-stack)
09-07 09:32:23.895 4134 4178 I vhusbd : VirtualHere USB Server is running...press CTRL-C to stop
09-07 09:33:18.195 4801 4801 W com.virtualhere.androidserver: type=1400 audit(0.0:182): avc: denied { read } for comm=4173796E635461736B202333 name="uevent" dev="sysfs" ino=49648 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
09-07 09:33:18.199 4801 4801 W com.virtualhere.androidserver: type=1400 audit(0.0:183): avc: denied { read } for comm=4173796E635461736B202333 name="uevent" dev="sysfs" ino=50316 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
09-07 09:33:18.199 4801 4801 W com.virtualhere.androidserver: type=1400 audit(0.0:184): avc: denied { read } for comm=4173796E635461736B202333 name="uevent" dev="sysfs" ino=49402 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
09-07 09:33:18.199 4801 4801 W com.virtualhere.androidserver: type=1400 audit(0.0:185): avc: denied { read } for comm=4173796E635461736B202333 name="uevent" dev="sysfs" ino=49720 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
09-07 09:33:54.106 4134 4178 I vhusbd : Thu Sep 7 09:33:54 2017 LOG_DEBUG 192.168.1.10 connected as connection 1
09-07 09:34:51.643 4134 4178 I vhusbd : Thu Sep 7 09:34:51 2017 LOG_INFO Connection 1 remotely disconnected gracefully (rx msg size)
09-07 09:34:53.800 4134 4178 I vhusbd : Thu Sep 7 09:34:53 2017 LOG_DEBUG 192.168.1.10 connected as connection 2
09-07 09:35:01.215 4134 4178 I vhusbd : Thu Sep 7 09:35:01 2017 LOG_INFO Connection 1 successfully removed (reason:timeout)
09-07 09:35:43.230 4134 5209 D OpenGLRenderer: HWUI GL Pipeline
09-07 09:35:43.257 4134 5209 I Adreno : QUALCOMM build : 7142022, Ib5823dd10c
09-07 09:35:43.257 4134 5209 I Adreno : Build Date : 06/23/17
09-07 09:35:43.257 4134 5209 I Adreno : OpenGL ES Shader Compiler Version: EV031.18.00.00
09-07 09:35:43.257 4134 5209 I Adreno : Local Branch : O11A
09-07 09:35:43.257 4134 5209 I Adreno : Remote Branch :
09-07 09:35:43.257 4134 5209 I Adreno : Remote Branch :
09-07 09:35:43.257 4134 5209 I Adreno : Reconstruct Branch :
09-07 09:35:43.261 4134 5209 I Adreno : PFP: 0x005ff087, ME: 0x005ff063
09-07 09:35:43.264 4134 5209 I OpenGLRenderer: Initialized EGL, version 1.4
09-07 09:35:43.264 4134 5209 D OpenGLRenderer: Swap behavior 2
09-07 09:35:47.703 4134 5209 D OpenGLRenderer: endAllActiveAnimators on 0x7c635d1000 (al$a) with handle 0x7c59bac440
09-07 09:35:50.475 4134 4134 W InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
09-07 09:35:59.816 4134 4139 I zygote64: Do partial code cache collection, code=29KB, data=21KB
09-07 09:35:59.816 4134 4139 I zygote64: After code cache collection, code=29KB, data=21KB
09-07 09:35:59.816 4134 4139 I zygote64: Increasing code cache capacity to 128KB
09-07 09:36:00.068 4134 5209 D OpenGLRenderer: endAllActiveAnimators on 0x7c5926a800 (al$a) with handle 0x7c6840dcc0
09-07 09:36:06.070 4134 4134 I zygote64: Deoptimizing boolean android.support.v7.widget.as.b(android.content.Context) due to JIT inline cache

#9

So we re-tried our setup again with the ethernet adapter and the Display link adapter and both items showed up on the client. It may have been that we missed the popup window for the USB permissions the first time. However, on subsequent attempts, we were always asked the speed of the device. It may be that the phone is only connected via the ethernet adapter to a network without Internet access. Attached is the most recent log as well...

--------- beginning of main
09-07 09:38:47.935 4134 4178 I vhusbd : Thu Sep 7 09:38:47 2017 LOG_INFO Connection 2 remotely disconnected gracefully (rx msg size)
09-07 09:38:56.988 4134 4178 I vhusbd : Thu Sep 7 09:38:56 2017 LOG_INFO Connection 2 successfully removed (reason:timeout)
09-07 09:41:23.905 4134 4139 I zygote64: Do partial code cache collection, code=55KB, data=38KB
09-07 09:41:23.905 4134 4139 I zygote64: After code cache collection, code=52KB, data=38KB
09-07 09:41:23.905 4134 4139 I zygote64: Increasing code cache capacity to 256KB
09-07 09:41:43.450 4134 4178 I vhusbd : Stopping...
09-07 09:41:43.771 4134 5209 D OpenGLRenderer: endAllActiveAnimators on 0x7c59269000 (al$a) with handle 0x7c59bacec0
09-07 09:41:44.451 4134 4178 E vhusbd-service: Reading stdin exception: read interrupted
09-07 09:41:49.028 4134 5209 D OpenGLRenderer: endAllActiveAnimators on 0x7c592fd400 (al$a) with handle 0x7c5887d340
09-07 09:41:52.128 4134 4134 E vhusbd-service: Opening local exception: Connection refused
09-07 09:41:52.450 4134 5209 D OpenGLRenderer: endAllActiveAnimators on 0x7c63581800 (al$a) with handle 0x7c5887d460
09-07 09:41:54.386 4134 4134 E vhusbd-service: Opening local exception: Connection refused
09-07 09:46:53.884 4134 4134 E vhusbd-service: Opening local exception: Connection refused
09-07 09:46:55.337 4134 4139 I zygote64: Do full code cache collection, code=124KB, data=79KB
09-07 09:46:55.338 4134 4139 I zygote64: After code cache collection, code=124KB, data=73KB
09-07 09:46:57.986 4134 5209 D OpenGLRenderer: endAllActiveAnimators on 0x7c592a9400 (al$a) with handle 0x7c5887d5a0
09-07 09:47:00.623 4134 4134 W InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
09-07 09:47:09.149 4134 5209 D OpenGLRenderer: endAllActiveAnimators on 0x7c58782400 (al$a) with handle 0x7c59b83c80
09-07 09:48:56.341 4134 5209 D OpenGLRenderer: endAllActiveAnimators on 0x7c58c4c800 (al$a) with handle 0x7c6840d1e0
09-07 09:48:57.636 4134 6777 I vhusbd : Thu Sep 7 09:48:57 2017 LOG_INFO >>> Starting VirtualHere USB Server v3.3.8 (Built: Sep 6 2017, 21:55:38)<<<
09-07 09:48:57.637 4134 6777 I vhusbd : Thu Sep 7 09:48:57 2017 LOG_INFO Using configuration /data/data/com.virtualhere.androidserver/config.ini
09-07 09:48:57.640 4134 4134 E vhusbd-service: Opening local exception: Connection refused
09-07 09:48:57.653 4134 6777 I vhusbd : Thu Sep 7 09:48:57 2017 LOG_INFO Server licensed to=HT7140200129 max_devices=unlimited
09-07 09:48:57.654 4134 6777 I vhusbd : Thu Sep 7 09:48:57 2017 LOG_INFO Using large URB's
09-07 09:48:57.654 4134 6777 I vhusbd : Thu Sep 7 09:48:57 2017 LOG_DEBUG TCPServer starting...
09-07 09:48:57.654 4134 6777 I vhusbd : Thu Sep 7 09:48:57 2017 LOG_INFO Listening on all network interfaces at port 7575 (IPv6 dual-stack)
09-07 09:48:57.655 4134 6777 I vhusbd : VirtualHere USB Server is running...press CTRL-C to stop
09-07 09:48:58.651 6786 6786 W com.virtualhere.androidserver: type=1400 audit(0.0:1178): avc: denied { read } for comm=4173796E635461736B20233133 name="uevent" dev="sysfs" ino=49660 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
09-07 09:48:58.651 6786 6786 W com.virtualhere.androidserver: type=1400 audit(0.0:1179): avc: denied { read } for comm=4173796E635461736B20233133 name="uevent" dev="sysfs" ino=50407 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
09-07 09:48:58.655 6786 6786 W com.virtualhere.androidserver: type=1400 audit(0.0:1180): avc: denied { read } for comm=4173796E635461736B20233133 name="uevent" dev="sysfs" ino=49458 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
09-07 09:48:58.658 6786 6786 W com.virtualhere.androidserver: type=1400 audit(0.0:1181): avc: denied { read } for comm=4173796E635461736B20233133 name="uevent" dev="sysfs" ino=49803 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
09-07 09:48:58.675 4134 6771 D NetworkSecurityConfig: No Network Security Config specified, using platform default
09-07 09:48:58.677 4134 6771 W vhusbd-gui: Failed to get device speed from internet, Unable to resolve host "www.virtualhere.com": No address associated with hostname
09-07 09:48:58.759 4134 6777 I vhusbd : Thu Sep 7 09:48:58 2017 LOG_INFO Found Super speed device [0b95:772a] "ASIX Elec. Corp., AX88x72A" at address 1006
09-07 09:49:56.115 4134 6777 I vhusbd : Thu Sep 7 09:49:56 2017 LOG_DEBUG 192.168.1.10 connected as connection 1

#10

OK so the devices work ok, after asking for the speed each time?

I will think of something to fix asking for the speed all the time...

#11

Everything worked fine after asking for the speed.

#12

I have updated the android server now to 3.3.8 and pushed to the play store and added an option to save the speed so it doesnt have to be entered each time