summaryrefslogtreecommitdiffstats
path: root/src/doc/src/qtee-troubleshooting.qdoc
blob: efd008362e7f753743c75f35ec7f44cca6d1e472 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc
** All rights reserved.
** For any questions to Digia, please use the contact form at
** http://www.qt.io
**
** This file is part of Qt Enterprise Embedded.
**
** Licensees holding valid Qt Enterprise licenses may use this file in
** accordance with the Qt Enterprise License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** the contact form at http://www.qt.io
**
****************************************************************************/

/*!
    \page qtee-troubleshooting.html
    \title Troubleshooting
    \previouspage qtee-changelog.html
    \nextpage qtee-known-issues.html

    See also the list of \l {Known Issues}.

    \table
    \header \li \b {General Issues}
    \row \li \l{ts-01}{I have problems deploying/launching the application in Qt Creator}
    \row \li \l{ts-02}{I have problems deploying/launching a Qt or Qt Quick example application}
    \row \li \l{ts-03}{I have problems launching or running applications on hardware after updating the SDK}
    \row \li \l{ts-04}{Booting BD-SL-i.MX6 stops with '6x_bootscript not found' error}
    \row \li \l{nexus-factory-reset}{How do I restore my Nexus 7 to factory settings}
    \row \li \l{ts-06}{How do I shut down the Nexus 7?}
    \row \li \l{ts-07}{How do I get HDMI output working properly on BeagleBone Black?}
    \row \li \l{ts-08}{Trying to build for the emulator target fails with error message 'make: i686-android-linux-g++: Command not found'}
    \row \li \l{ts-09}{Something crashed!}
    \row \li \l{ts-10}{Mouse or touch input does not work}
    \row \li \l{ts-11}{Application stops with 'EGLFS: OpenGL windows cannot be mixed with others.'}
    \row \li \l{ts-12}{I cannot edit the contents of appcontroller.conf on the device}
    \row \li \l{ts-13}{C++11 features do not work on Android}
    \header \li \b {Connectivity Issues}
    \row \li \l{ts-14}{I cannot connect to my hardware device via USB}
    \row \li \l{ts-15}{adb fails with "error: more than one device and emulator"}
    \row \li \l{ts-16}{The emulator cannot connect to the Internet}
    \row \li \l{ts-17}{The emulator is stuck in \e{Waiting for display data} or fails to start properly}
    \row \li \l{ts-18}{What are the user and password to access my embedded Linux device?}
    \row \li \l{ts-19}{Boundary Devices Android Jellybean i.MX6 image deployment issues}
    \endtable

    \section1 General Issues

    \target ts-01
    \b{I have problems deploying/launching the application in Qt Creator}

    Check that the device is properly connected to the development host via USB
    or Ethernet (depending on the device).
    See \l{Connectivity Issues}.

    If using the emulator, see \l{Installing VirtualBox}.

    \target ts-02
    \b{I have problems deploying/launching a Qt or Qt Quick example application}

    Because of a technical peculiarity in \c{qmake}, it is not
    possible to get correct deployment setup for any application that
    is placed inside a Qt source code tree.

    The workaround is to copy the example sources to a location
    outside the Qt source tree, and open this copy of the example
    application instead.

    \target ts-03
    \b{I have problems launching or running applications on hardware after updating the SDK}

    Remember to repeat the process of updating also your device with the latest
    version of \B2Q. See \l{Installing Boot to Qt on Target Devices}.

    \target ts-04
    \b{Booting BD-SL-i.MX6 stops with '6x_bootscript not found' error}

    Check the U-Boot version number. It should start with either \c{2012} or \c{2013}.
    If it is \c{2009.xx}, an upgrade of the bootloader is required. For more
    information, see:

    \list
        \li \l http://boundarydevices.com/6q_bootscript/
        \li \l http://boundarydevices.com/switching-u-boot-versions-on-i-mx6/
    \endlist

    \target nexus-factory-reset
    \b{How do I restore my Nexus 7 to factory settings}

    Go to \l{https://developers.google.com/android/nexus/images} and
    download the correct file for your device. Unpack it, and then enter the
    following commands:

    \badcode
        <INSTALL_DIR>/Tools/b2qt/adb reboot bootloader
        <INSTALL_DIR>/Tools/b2qt/fastboot -w update <image-file>.zip
    \endcode

    \target ts-06
    \b{How do I shut down the Nexus 7?}

    If the \B2Q demo launcher is running, start the \b {Launcher
    Settings} app, and select \b {Shut Down} to power off the device.

    Otherwise, make sure the Nexus 7 is connected to the development host, and run
    the following command in a terminal:
    \badcode
        <INSTALL_DIR>/Tools/b2qt/adb shell reboot -p
    \endcode

    If the device is in the fastboot mode, use the volume button to display the
    \b {Power off} option and press the power button to power off the device.

    Alternatively, press and hold the power button for 10
    seconds. This will force a reboot.

    \target ts-07
    \b{How do I get HDMI output working properly on BeagleBone Black?}

    Depending on the HDMI monitor, the cable, and the build variant of
    the BeagleBone Black device, it may not be able to drive an HDMI display in a
    stable way; the image may disappear or stutter. These issues are not caused by
    the \B2Q stack.

    More details and possible solutions can be found
    \l {http://www.elinux.org/Beagleboard:BeagleBoneBlack_HDMI}{here}.

    \target ts-08
    \b{Trying to build for the emulator target fails with error message 'make: i686-android-linux-g++: Command not found'}

    You need to install support libraries in order to run 32-bit programs in a
    64-bit Linux operating system.

    See \l{Installing 32-bit Support Libraries}.

    \target ts-09
    \b{Something crashed!}

    The following command shows the system log:
    \badcode
        <INSTALL_DIR>/Tools/b2qt/adb logcat
    \endcode

    \note When terminating an application from Qt Creator, you may see the
    message \e {Terminating application. Error running process: Process crashed}.
    This is normal and does not indicate a problem in your code; a SIGTERM
    signal is sent to the application, and Qt interprets it as a crash.

    \target ts-10
    \b{Mouse or touch input does not work}

    See \l{Customization}.

    \note Hotplugging does not currently work, and therefore, any input device
    must be present at boot time to be recognized.

    \target ts-11
    \b{Application stops with 'EGLFS: OpenGL windows cannot be mixed with others.'}

    OpenGL and Qt Quick 2 applications can only have one
    fullscreen window existing at a time. Trying to create another
    OpenGL window, or trying to mix an OpenGL window with a raster one
    will display the above message and abort the application.

    \note For raster windows (software rendered content based on QWidget or
    QPainter), there is no such limitation.

    \target ts-12
    \b{I cannot edit the contents of appcontroller.conf on the device}

    The file system where this file is located may be mounted as read-only.

    See \l{Customization}.

    \target ts-13
    \b{C++11 features do not work on Android}

    To enable C++11 features in the compiler, add \e{CONFIG += c++11} to the .pro file.
    On Embedded Linux this will be enough because there the toolchain contains a more
    recent version of gcc (4.8.x). On Embedded Android however the toolchain is based on
    gcc 4.6. This offers limited support for C++11 and Qt's own C++11 support is disabled,
    meaning that adding \e{c++11} to \e{CONFIG} will have no effect. There is still a
    possibility however to manually enable some level of C++11 support just for the
    application, by adding \e{QMAKE_CXXFLAGS += -std=c++11} to the .pro file.

    \section1 Connectivity Issues
    \target ts-14
    \b{I cannot connect to my hardware device via USB}

    See \l{5. Setting up USB Access to Embedded Devices}.

    \target ts-15
    \b{adb fails with "error: more than one device and emulator"}

    You have to specify which Android device you want \c{adb} to talk
    to, using adb's \c{-s <serial-number>} option. Use the following
    command to find to see the serial number of the connected
    devices:

    \badcode
        <INSTALL_DIR>/Tools/b2qt/adb devices
    \endcode

    \target ts-16
    \b{The emulator cannot connect to the Internet}

    By default, the VirtualBox is configured to use a host-only network, so external
    connections do not work in the emulator.

    You may be able to enable Internet connectivity with another
    virtual network adapter in NAT mode by adapting
    \l{http://askubuntu.com/questions/293816/in-virtualbox-how-do-i-set-up-host-only-virtual-machines-that-can-access-the-in}{these}
    instructions.

    \target ts-17
    \b{The emulator is stuck in \e{Waiting for display data} or fails to start properly}

    Check the output of the following command:

    \badcode
        <INSTALL_DIR>/Tools/b2qt/adb devices
    \endcode

    If the emulator (192.168.56.101) is not listed there, try connecting to it:

    \badcode
        <INSTALL_DIR>/Tools/b2qt/adb connect 192.168.56.101
    \endcode

    If the emulator is already listed, try disconnecting it:
    \badcode
        <INSTALL_DIR>/Tools/b2qt/adb disconnect 192.168.56.101
    \endcode

    And then close the emulator and retry.

    \target ts-18
    \b{What are the user and password to access my embedded Linux device?}

    Embedded Linux devices can be accessed using user \c{root} and an empty password.

    \target ts-19
    \b{Boundary Devices Android Jellybean i.MX6 image deployment issues}

    On some hosts running the mksdcard.sh script results in the following failure messages:

    \badcode
    Cannot find device with major:minor 8:20: No such device
    cp: target ‘/media/BOOT/’ is not a directory
    \endcode

    This means that flashing an SD card has failed, even if the scripts seemingly runs to the end.
    The issue can be worked around by adding \c sleep call before \c {udisks --mount} loop (search at
    the end of the script):

    \badcode
    sleep 2
    for n in 1 2 4 ; do
       udisks --mount ${diskname}${prefix}${n}
    done
    \endcode
*/

/*!
    \page qtee-known-issues.html
    \title Known Issues
    \previouspage qtee-troubleshooting.html
    \nextpage qtee-licenses.html

    \table
    \header \li \b {Common Issues}
    \row \li \l{ki-01}{Qt Sensors: Sensor Support Depends on Hardware}
    \row \li \l{ki-02}{Qt WebEngine: Widget-based Web View not Available}
    \row \li \l{ki-03}{Qt WebKit: No Support on Embedded Android}
    \row \li \l{ki-04}{No Sound on Embedded Android Devices}
    \row \li \l{ki-05}{Limited Support for Multiple Top-Level Windows}
    \row \li \l{ki-06}{QML Debugging not Functional with Qt Quick Compiler}
    \header \li \b {Device-Specific Issues}
    \row \li \l{ki-07}{Sabre Lite i.MX6: Device Stops Working After Disconnecting the Micro-USB Cable}
    \row \li \l{ki-08}{Sabre Lite i.MX6: Internet Radio Demo Causes Device to Freeze}
    \row \li \l{ki-09}{BeagleBone Black: No Qt Multimedia Support}
    \row \li \l{ki-10}{BeagleBone Black: C++ Debugging Fails on Embedded Android}
    \row \li \l{ki-11}{BeagleBone Black: Unstable HDMI output}
    \header \li \b {Emulator-Specific Issues}
    \row \li \l{ki-12}{Networking on Embedded Android Emulator}
    \row \li \l{ki-13}{Qt WebEngine not Available for Emulator}
    \row \li \l{ki-14}{Qt Quick Compiler Fails on Emulator}
    \row \li \l{ki-15}{Switching Between Emulators from Different Boot to Qt Versions}
    \row \li \l{ki-16}{Emulator: Limited Support for Qt Multimedia}
    \row \li \l{ki-17}{Emulator: Broken Virtual Keyboard Layout}
    \endtable

    \section1 Common Issues

    \target ki-01
    \b{Qt Sensors: Sensor Support Depends on Hardware}

    With the sole exception of Nexus 7, reference devices have no built-in sensor hardware.
    \note Sensors can be tested on emulator targets.

    \target ki-02
    \b{Qt WebEngine: Widget-based Web View not Available}

    The \l{Qt WebEngine} API are available only for Qt Quick 2 based applications at the moment.
    The QWidget-based equivalent, such as QWebEngineView, will become supported in a future
    release. For the time being, use the WebEngineView QML type.

    \target ki-03
    \b{Qt WebKit: No Support on Embedded Android}

    Qt WebKit currently does not build on embedded Android.

    \target ki-04
    \b{No Sound on Embedded Android Devices}

    When connecting a headphone or speakers while the device is running, the
    audio may not be properly routed to the correct output. As a workaround,
    connect the headphone or speakers before turning on the device.

    \target ki-05
    \b{Limited Support for Multiple Top-Level Windows}

    OpenGL and Qt Quick 2 applications can only have one full screen window existing at a time.
    Trying to create another OpenGL window, or trying to mix an OpenGL window with a raster one
    will display an error message and abort the application.

    \note Raster windows (software rendered content based on \c QWidget or \c QPainter) do not
          have this limitation.

    \target ki-06
    \b{QML Debugging not Functional with Qt Quick Compiler}

    QML debugging is not fully functional when Qt Quick Compiler is enabled. Support
    for this is planned for a later release.

    \section1 Device-Specific Issues

    \target ki-07
    \b{Sabre Lite i.MX6: Device Stops Working After Disconnecting the Micro-USB Cable}

    The device does not respond to touch input after connecting to a host computer via USB, and
    then disconnecting the Micro-USB cable.

    \target ki-08
    \b{Sabre Lite i.MX6: Internet Radio Demo Causes Device to Freeze}

    Trying to start playback in Internet Radio application from Qt 5 Everywhere demo causes the
    device to not react to touch input on embedded Android.

    \target ki-09
    \b{BeagleBone Black: No Qt Multimedia Support}

    Qt Multimedia features (audio and video playback) do not currently work on BeagleBone Black
    device. This issue affects both embedded Android and Linux.

    \target ki-10
    \b{BeagleBone Black: C++ Debugging Fails on Embedded Android}

    Trying to debug C++ code fails on BeagleBone Black on embedded Android.

    \note QML debugging works, provided that C++ debugging is disabled in Qt Creator project
          settings.

    \target ki-11
    \b{BeagleBone Black: Unstable HDMI output}

    Depending on the HDMI monitor, the cable used, and the build variant of the BeagleBone Black
    device, it may not be able to drive the an HDMI display in a stable way; the image may
    disappear or stutter. These issues are not caused by the Boot to Qt stack. More details and
    possible solutions can be found at \l {http://elinux.org/Beagleboard:BeagleBoneBlack_HDMI}.

    \section1 Emulator-Specific Issues

    \target ki-12
    \b{Networking on Embedded Android Emulator}

    Internet access on embedded Android emulator may not work by default, as the dhcpcd daemon
    unnecessarily adds a default route for the eth0 interface. As a workaround, this route can
    be removed manually. Start the emulator, and use the following command:

    \badcode
    <INSTALL_DIR>/Tools/b2qt/adb shell ip route del default dev eth0
    \endcode

    \target ki-13
    \b{Qt WebEngine not Available for Emulator}

    \l{Qt WebEngine} is not currently available for the emulators, neither embedded Linux
    nor embedded Android. This is planned to be addressed in a later release.

    \target ki-14
    \b{Qt Quick Compiler Fails on Emulator}

    The Qt Quick Compiler is not yet functional in the emulator environment, and projects
    are likely to fail to build or run when compilation is enabled. Support for the
    emulators is planned for a later release.

    \target ki-15
    \b{Switching Between Emulators from Different Boot to Qt Versions}

    Switching between multiple Boot to Qt virtual machines is likely to introduce instability,
    emulator startup problems and graphical issues. To avoid these problems, close the previous
    emulator before launching a new one.

    \target ki-16
    \b{Emulator: Limited Support for Qt Multimedia}

    The emulator for embedded Android does not properly support multimedia functionality
    (playback of audio and video, accessing camera).

    \target ki-17
    \b{Emulator: Broken Virtual Keyboard Layout}

    When switching between supported languages, the virtual keyboard in emulators sometimes
    displays an inconsistent/broken layout. This happens only the first time after booting up
    an emulator, after restarting the application that uses the virtual keyboard the issue is no
    longer observed.
*/