Forums - Snapdragon Profiler 1.2 OSX issues

5 posts / 0 new
Last post
Snapdragon Profiler 1.2 OSX issues
jvaarala
Join Date: 7 Oct 15
Posts: 7
Posted: Mon, 2015-11-02 16:52

I've been running the snapdragon profiler on OSX El Capitan and I'm having some issues. But before digging into the issues I have some improvement proposals for finding root causes of performance problems quicker:

   - it would be really helpful to be able to see all textures that went into the draw call. If the texture was bound somewhere way earlier, there is no relevant glBindTexture() call attached to the calls ending up to a draw call and it takes quite a while to track down what textures are going in

    - same would go for a used shader program. If it was bound earlier, it'd be nice to show it

     - same applies to tex parameters to see whether mipmapping was on/off, bilinear/trilinear enabled etc. (these ones especially may be super hard to track as they may have been set at load time)

    - same applies to depth test mode and blending mode

 

I guess you could argue that any GL state prior to the draw call would be helpful info, but at least the above would help quite a bit.

 

OK. Now to the issues:

Issue1: the USB connectivity doesn't work at all. The profiler waits on the "connecting" forever. Wifi connection works though to certain degree. This is probably a El Cap issue? I can see these in the console:

    error: cannot bind to socket

    error: cannot bind to socket

         (though they are present on Wifi connection as well and it seems to be working)    

Issue 2: certain metrics (like the GPU clocks) on first draw call of first snapshot seem wrong. It's showing way bigger number than on subsequent calls. HW perf. counters not reset before this call?

Issue 3: some of the shader programs are not readable. The program is known by the profiler, but there is no vertex shader (source) and fragment shader (source).

Issue 4: The snapdragon profiler crashes on one level of the game I'm profiling with this on the console on OS X:

I: GLESPluginProcessor received a BUFFER_TYPE_GLES_CAPTURE_SCREENSHOT from GLESDataProvider that it doesn't know how to handle it yet

 

I: GLESPluginProcessor received a BUFFER_TYPE_GLES_FULL_DCAP from GLESDataProvider that it doesn't know how to handle it yet

 

I: GLESPluginProcessor received a BUFFER_TYPE_GLES_STRIPPED_DCAP from GLESDataProvider that it doesn't know how to handle it yet

BUFFER_TYPE_GLES_CAPTURE_SCREENSHOT

 

(SnapdragonProfiler:26127): Gtk-CRITICAL **: GtkTreePath *gtk_list_store_get_path(GtkTreeModel *, GtkTreeIter *): assertion `iter->stamp == GTK_LIST_STORE (tree_model)->stamp' failed

 

(SnapdragonProfiler:26127): Gtk-CRITICAL **: void gtk_list_store_get_value(GtkTreeModel *, GtkTreeIter *, gint, GValue *): assertion `VALID_ITER (iter, list_store)' failed

 

(SnapdragonProfiler:26127): GLib-GObject-CRITICAL **: void g_value_unset(GValue *): assertion `G_IS_VALUE (value)' failed

 

(SnapdragonProfiler:26127): Gtk-CRITICAL **: void gtk_list_store_get_value(GtkTreeModel *, GtkTreeIter *, gint, GValue *): assertion `VALID_ITER (iter, list_store)' failed

 

(SnapdragonProfiler:26127): GLib-GObject-CRITICAL **: void g_value_unset(GValue *): assertion `G_IS_VALUE (value)' failed

DCAP opened correctly

DCAP opened correctly

DCAP opened correctly

DCAP processed correctly

DCAP processed correctly

DCAP processed correctly

DCAP opened correctly

DCAP processed correctly

DCAP opened correctly

DCAP processed correctly

DCAP opened correctly

DCAP opened correctly

DCAP processed correctly

Exception in Gtk# callback delegate

  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.

System.IndexOutOfRangeException: Array index is out of range.

at OpenGLPlugin.ResourcesAdapter/ResourceGLAdapter.Process_glTexImage2D (uint,int,int,int,int,int,uint,uint,PointerData) <0x00233>

at GLAdapter.SwigDirectorProcess_glTexImage2D (uint,int,int,int,int,int,uint,uint,intptr) <0x000c3>

at (wrapper native-to-managed) GLAdapter.SwigDirectorProcess_glTexImage2D (uint,int,int,int,int,int,uint,uint,intptr) <0x0009b>

at (wrapper managed-to-native) libDCAPPINVOKE.CaptureFileReader_ProcessNextBlock (System.Runtime.InteropServices.HandleRef) <0x00012>

at CaptureFileReader.ProcessNextBlock () <0x0002b>

at DCAPToolsWrapper.TokenAdapterWrapper.NextTokenBlock () <0x00017>

at OpenGLPlugin.ResourcesAdapter..ctor (string,bool) <0x00837>

at OpenGLPlugin.ResourcesViewMgr.resourceViewEvents_SourceSelected (object,Sdp.SourceEventArgs) <0x000a7>

at (wrapper delegate-invoke) System.EventHandler`1<Sdp.SourceEventArgs>.invoke_void_object_TEventArgs (object,Sdp.SourceEventArgs) <0x00058>

at (wrapper delegate-invoke) System.EventHandler`1<Sdp.SourceEventArgs>.invoke_void_object_TEventArgs (object,Sdp.SourceEventArgs) <0x0009b>

at Sdp.EventsManager.Raise<Sdp.SourceEventArgs> (System.EventHandler`1<Sdp.SourceEventArgs>,object,Sdp.SourceEventArgs) <0x00024>

at Sdp.ResourcesController.m_view_SourceSelectedChanged (object,System.EventArgs) <0x000a3>

at Sdp.ResourcesView/<AddSource>c__AnonStorey6.<>m__0 (object,System.EventArgs) <0x00403>

at Gtk.Application/InvokeCB.Invoke () <0x00022>

at GLib.Timeout/TimeoutProxy.Handler () <0x00034>

 

   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)

   at GLib.Timeout+TimeoutProxy.Handler()

   at Gtk.Application.gtk_main()

   at Gtk.Application.Run()

   at Sdp.MainClass.Main(System.String[] args)

 

I'm running OS X El Capitan and a Nexus 5X device with the latest firmware.

 

Thanks,

              Jani

 

  • Up0
  • Down0
Carlos Dominguez Moderator
Join Date: 27 Jul 15
Location: San Diego
Posts: 110
Posted: Tue, 2015-11-03 09:26

Hi jvaarala,

Thank you for your feedback, I'll try to reply as best as I can:

The first feature you mention is certainly very valuable and actually already exists within the "Resources" window, there is a toggle at the top of the resources list  that if activated, will only show the resources bound to the given drawcall including Textures, Programs, VAOs, etc. etc.  

Looking at depth and blend mode and all GL context for that matter is also available within the "Options" window on the "GL Context States" item of the top most combobox. That will show the full GL context which will be updated per drawcall when you double-click the drawcall you are interested in. 

Issue 1: Can you try methods suggested in https://developer.qualcomm.com/forum/qdn-forums/software/snapdragon-prof... please?

Issue 2: I just did a quick test with a few apps and the first drawcall metric looks feasible here but we will have our engineers try to reproduce with a broader set of apps. 

Issue 3: By any chance is the program binary? if that's the case no source would be attached to it so we wouldn't be able to show it in Snapdragon Profiler. If it's not binary could you please share some pseudo-code on how is the program being loaded? perhaps it's a case we haven't handled properly yet.

Issue 4: I have a feeling the crash might have to do with a texture format that isn't handled yet. By any chance is the app you are profiling public or on the playstore so we can take a closer look at it?

I hope I didn't miss anything. We really appreciate your feedback and if you have more ideas for enhancements and improvements they are certainly welcome!

  • Up0
  • Down0
jvaarala
Join Date: 7 Oct 15
Posts: 7
Posted: Tue, 2015-11-03 10:20
Hi Carlos and thanks for the feedback. I'll have to try the toggle at the resources window once I get this working again. For some reason I can't use the wifi any longer for this (ADB drops the 'tcpip' connection immediately after I remove the USB cable). Issue 3: it might be a binary you are right. We are using Unity and all of that code is hidden for sure. Issue 4: I'll PM about it. Issue 1: I have tried everything on that post you linked to. The problem is not that the device is not found. ADB works fine and I can see it connect to it in the terminal window to upload the snapdragon profiler APK stuff (I suspect anyway that's what it is) and I can see the device in the list of devices to connect to in the snapdragon profiler UI itself with a 'ok' tick. But... when I click the connect button it stays like that forever, I see 200% CPU usage from the snapdragon profiler and eventually my laptop heats up and starts spinning the fans. I see those two error messages on console (when I launch the snapdragon profiler from console window) about being unable to bind to address (I'm assuming it's trying to bound to TCPIP ports that are already in use). Here is the console output again 0xfeedbabe:~ flame$ /Applications/SnapdragonProfiler.app/Contents/MacOS/run_sdp_mac 0xfeedbabe:~ flame$ I: Device added: 00ba7b6253c21657 127.0.0.1 I: Device: 00ba7b6253c21657 Discovered. 6184 KB/s (3396427 bytes in 0.536s) 5204 KB/s (710040 bytes in 0.133s) I: Device: 00ba7b6253c21657 Ready. 4407 KB/s (3396427 bytes in 0.752s) 5187 KB/s (742856 bytes in 0.139s) 6076 KB/s (3396427 bytes in 0.545s) 4116 KB/s (22180 bytes in 0.005s) < here I press the connect on the snapdragon profiler UI > error: cannot bind to socket: Address already in use error: cannot bind to socket: Address already in use I: 0x00000001 Disconnected from tcp://127.0.0.1:5556. I also get whole bunch of these in the ADB logcat: 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504549): avc: denied { getattr } for path="/proc/1" dev="proc" ino=103986 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:init:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504550): avc: denied { search } for name="1" dev="proc" ino=103986 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:init:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504551): avc: denied { search } for name="1" dev="proc" ino=103986 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:init:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504552): avc: denied { getattr } for path="/proc/2" dev="proc" ino=103987 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504553): avc: denied { search } for name="2" dev="proc" ino=103987 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504554): avc: denied { search } for name="2" dev="proc" ino=103987 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504555): avc: denied { getattr } for path="/proc/3" dev="proc" ino=103988 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504556): avc: denied { search } for name="3" dev="proc" ino=103988 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504557): avc: denied { search } for name="3" dev="proc" ino=103988 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504558): avc: denied { getattr } for path="/proc/5" dev="proc" ino=103989 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504559): avc: denied { search } for name="5" dev="proc" ino=103989 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504560): avc: denied { search } for name="5" dev="proc" ino=103989 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504561): avc: denied { getattr } for path="/proc/6" dev="proc" ino=103990 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504562): avc: denied { search } for name="6" dev="proc" ino=103990 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504563): avc: denied { search } for name="6" dev="proc" ino=103990 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504564): avc: denied { getattr } for path="/proc/7" dev="proc" ino=103991 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504565): avc: denied { search } for name="7" dev="proc" ino=103991 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504566): avc: denied { search } for name="7" dev="proc" ino=103991 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504567): avc: denied { getattr } for path="/proc/8" dev="proc" ino=103992 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 11-03 10:10:27.591 16245 16245 W ps : type=1400 audit(0.0:504568): avc: denied { search } for name="8" dev="proc" ino=103992 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0 These stop when I "Force stop" the Snapdragon Profiler from the device. Cheers, Jani
  • Up0
  • Down0
jvaarala
Join Date: 7 Oct 15
Posts: 7
Posted: Tue, 2015-11-03 10:23

Wow.. The formatting in the 'disable rich text' mode was awful. Let's try this again.

 

Hi Carlos and thanks for the feedback. I'll have to try the toggle at the resources window once I get this working again. For some reason I can't use the wifi any longer for this (ADB drops the 'tcpip' connection immediately after I remove the USB cable).

Issue 3: it might be a binary you are right. We are using Unity and all of that code is hidden for sure.

Issue 4: I'll PM about it.

Issue 1: I have tried everything on that post you linked to. The problem is not that the device is not found. ADB works fine and I can see it connect to it in the terminal window to upload the snapdragon profiler APK stuff (I suspect anyway that's what it is) and I can see the device in the list of devices to connect to in the snapdragon profiler UI itself with a 'ok' tick. But... when I click the connect button it stays like that forever, I see 200% CPU usage from the snapdragon profiler and eventually my laptop heats up and starts spinning the fans. I see those two error messages on console (when I launch the snapdragon profiler from console window) about being unable to bind to address (I'm assuming it's trying to bound to TCPIP ports that are already in use).

Here is the console output again

 

0xfeedbabe:~ flame$ /Applications/SnapdragonProfiler.app/Contents/MacOS/run_sdp_mac 

0xfeedbabe:~ flame$ 

I: Device added: 00ba7b6253c21657 127.0.0.1

 

I: Device: 00ba7b6253c21657 Discovered.

4287 KB/s (3396427 bytes in 0.773s)

4988 KB/s (710040 bytes in 0.139s)

 

I: Device: 00ba7b6253c21657 Ready.

5561 KB/s (3396427 bytes in 0.596s)

6210 KB/s (742856 bytes in 0.116s)

5251 KB/s (3396427 bytes in 0.631s)

4529 KB/s (22180 bytes in 0.004s)

error: cannot bind to socket: Address already in use

error: cannot bind to socket: Address already in use

 

I: 0x00000001 Disconnected from tcp://127.0.0.1:5556.

 

 

And I see whole bunch of these on adb logcat:

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582587): avc: denied { getattr } for path="/proc/1" dev="proc" ino=131485 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:init:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582588): avc: denied { search } for name="1" dev="proc" ino=131485 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:init:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582589): avc: denied { search } for name="1" dev="proc" ino=131485 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:init:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582590): avc: denied { getattr } for path="/proc/2" dev="proc" ino=131486 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582591): avc: denied { search } for name="2" dev="proc" ino=131486 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582592): avc: denied { search } for name="2" dev="proc" ino=131486 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582593): avc: denied { getattr } for path="/proc/3" dev="proc" ino=131487 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582594): avc: denied { search } for name="3" dev="proc" ino=131487 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582595): avc: denied { search } for name="3" dev="proc" ino=131487 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582596): avc: denied { getattr } for path="/proc/5" dev="proc" ino=131488 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582597): avc: denied { search } for name="5" dev="proc" ino=131488 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582598): avc: denied { search } for name="5" dev="proc" ino=131488 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582599): avc: denied { getattr } for path="/proc/6" dev="proc" ino=131489 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582600): avc: denied { search } for name="6" dev="proc" ino=131489 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582601): avc: denied { search } for name="6" dev="proc" ino=131489 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582602): avc: denied { getattr } for path="/proc/7" dev="proc" ino=131490 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582603): avc: denied { search } for name="7" dev="proc" ino=131490 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582604): avc: denied { search } for name="7" dev="proc" ino=131490 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582605): avc: denied { getattr } for path="/proc/8" dev="proc" ino=131491 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

11-03 10:16:18.341 18477 18477 W ps      : type=1400 audit(0.0:582606): avc: denied { search } for name="8" dev="proc" ino=131491 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:r:kernel:s0 tclass=dir permissive=0

 

They stop after I "force stop" the snapdragon profiler from the Android device.

 

Cheers,

           Jani

  • Up0
  • Down0
prasannakarthik
Join Date: 27 Apr 16
Posts: 1
Posted: Tue, 2016-06-07 17:14

I face the same problem with Snapdragon Profiler 1.4 and Snapdragon Profiler 1.5 on Ubuntu 14.04.

Profiler Tool is buggy and not clean while connection and closing App( it takes forever).

It discovers the android device over adb. device gets disconnected as soon as I try connecting from the tool.

I: Device: XX Discovered.
2151 KB/s (1135476 bytes in 0.515s)
2782 KB/s (1168300 bytes in 0.409s)
2604 KB/s (3584679 bytes in 1.344s)
517 KB/s (22180 bytes in 0.041s)

I: Device: xx Ready.

I: 0x00000001 Disconnected from tcp://127.0.0.1:5556.


adb devices lists the device
List of devices attached
xxxxx    device

and if I kill-server, only then Profiler releases the socket.

adb kill-server
error: protocol fault (couldn't read status): Success
dev@ubuntu:~/Downloads/SnapdragonProfiler$ error: could not install *smartsocket* listener: Address already in use
error: device 'xx' not found
error: device 'x' not found
error: device 'x' not found
error: device 'x' not found
error: device 'x' not found
error: device 'x' not found
error: device 'x' not found
error: device 'x' not found
error: device 'x' not found
error: device 'x' not found
ADB server didn't ACK
* failed to start daemon *
error: device 'xx' not found
(SnapdragonProfiler:10460): GLib-CRITICAL **: Source ID 2095 was not found when attempting to remove it
(SnapdragonProfiler:10460): GLib-CRITICAL **: Source ID 2106 was not found when attempting to remove it
......
error: device 'xx' not found
error: device offline
error: device offline
 


 

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.