QWSTslibMouseHandlerPrivate: ts_conf()failed with error...

Abhishek Ekhare
Hi,
I am trying to learn and program FriendlyARM Mini2440.
I refer to tutorials from <mini2440vietnam>.

For Upgrade Qt4.6.2 in mini2440, i referred:-
http://mini2440vietnam.blogspot.in/2011/04/upgrade-qt462-in-mini2440.html

For Programming application for mini2440 by Qt creator:-
http://mini2440vietnam.blogspot.in/2011/05/programming-application-for-m...

To run a demo application (Led + Touch Screen), i tried to run the
program:-
http://mini2440vietnam.blogspot.in/2012/06/control-leds-on-mini2440-by-q...

I can generate the binary file correctly and can see the push buttons on
the tft of friendly arm, which means my cross-compilation is correct.

But, i get the error:-
QWSTslibMouseHandlerPrivate: ts_conf()failed withe error "No such file or
directory. Please chack your tslib installation."
(as seen in the screenshot).

I have followed the steps correctly.

How can i get my touch screen to work ??

Abhishek Ekhare
Sorry, i failed to mention that my touch screen is not working.
As mentioned in the post, i had disabled the qtopia due to which touch
screen was not working.
But now, i have enabled qtopia again, but still touch screen is not
working.

Abhishek Ekhare
I think my issue is related to the export variables.

Where exactly should i paste these lines:-

export LD_LIBRARY_PATH=/usr/local/tslib/lib
export QTDIR=/usr/local/Qt                 
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal        
export TSLIB_CONFFILE=/usr/local/etc/ts.conf  
export TSLIB_CONSOLEDEVICE=none               
export TSLIB_FBDEVICE=/dev/fb0              
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_TSDEVICE=/usr/local/tslib/lib/ts 
export TSLIB_TSEVENTTYPE=INPUT                
export QWS_DISPLAY=LinuxFB:mmWidth=105:mmHeight=140

Should i paste them in /etc/init.d/rcS or should i paste them in
/etc/profile or should i paste them in both ??

davef
Did you check that tslib actually installed on the mini2440 as per the 1st
tutorial?

I would try /etc/init.d/rcS, does the tutorial not specify where?

Abhishek Ekhare
Hi,
One tutorial says /etc/profile and the other says /etc/init.d/rcS

I removed it from /etc/profile and pasted it /etc/init.d/rcS.
Now the  QWSTslibMouseHandlerPrivate: ts_conf()failed with error... is
gone.

But the touch screen is still not working.

Abhishek Ekhare
Also, the rcS file starts the "/etc/rc.d/init.d/leds start" program.

Is this the reason why i am not able to run my own led_blinking program on
the board. Should i comment the below lines from the rcS file ??

syslogd
/etc/rc.d/init.d/netd start
echo "                        " > /dev/tty1
echo "Starting networking..." > /dev/tty1
sleep 1
/bin/chmod 0600 /usr/local/etc/ssh_*_key
/usr/local/sbin/sshd &
echo "                        " > /dev/tty1
echo "Starting ssh daemon..." > /dev/tty1
sleep 1
/etc/rc.d/init.d/httpd start
echo "                        " > /dev/tty1
echo "Starting web server..." > /dev/tty1
sleep 1
/etc/rc.d/init.d/leds start
echo "                        " > /dev/tty1
echo "Starting leds service..." > /dev/tty1
echo "                        "
sleep 1

davef
Have you done a ts_calibrate?

Yes, you can comment out the stuff you don't want.  Can't say if you have a
conflict with your LED program

In terminal the printenv command is useful to see how your environment is
set up.

Abhishek Ekhare
How much ever i try, i cannot make my led program work.
I compiled it from terminal using make command and loaded it into
FriendlyARM via pen drive, but it didn't work.
I compiled the program in codeblocks and loaded the binary again, but no
luck.

One thing to notice is that i can run the programs to print some lines in
the terminal. Even in my led program, i can print statements like "leds
starting" (when i on them) and "leds stopping" (when i off them).
The statements get printed, but the leds wont budge!!

Abhishek Ekhare
No, i have not done ts_calibrate.
Touch screen not working is still an issue.
How are the environment variables related to touch screen not working ??

davef
Post the results of the printenv command.

Also it might be worthwhile checking your binary using the readelf -a
command and post the last 10 lines of the output.

Abhishek Ekhare
Results of printenv command :-

abhishek@abhishek-X200MA ~ $ printenv 
XDG_VTNR=7
SSH_AGENT_PID=1800
XDG_SESSION_ID=c1
COMP_WORDBREAKS=   
"'><;|&(:
GPG_AGENT_INFO=/run/user/1000/keyring-daVxX1/gpg:0:1
TERM=xterm
SHELL=/bin/bash
VTE_VERSION=3409
XDG_SESSION_COOKIE=0b4bb2928793504193d3e7df5621421c-1459845204.852573-235931426
GJS_DEBUG_OUTPUT=stderr
WINDOWID=29360135
GNOME_KEYRING_CONTROL=/run/user/1000/keyring-daVxX1
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
USER=abhishek
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd
=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=0
1;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.
tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz
=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.d
eb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31
:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=0
1;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.x
bm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;
35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mk
v=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;3
5:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=0
1;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd
=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*
.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00
;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga
=00;36:*.spx=00;36:*.xspf=00;36:
SSH_AUTH_SOCK=/run/user/1000/keyring-daVxX1/ssh
SESSION_MANAGER=local/abhishek-X200MA:@/tmp/.ICE-unix/1650,unix/abhishek-X200MA:
/tmp/.ICE-unix/1650
USERNAME=abhishek
DEFAULTS_PATH=/usr/share/gconf/default.default.path
XDG_CONFIG_DIRS=/etc/xdg/xdg-default:/etc/xdg
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/us
r/local/games:/opt/FriendlyARM/toolschain/4.4.3/bin
DESKTOP_SESSION=default
GDM_XSERVER_LOCATION=local
PWD=/home/abhishek
GNOME_KEYRING_PID=1574
LANG=en_IN
MANDATORY_PATH=/usr/share/gconf/default.mandatory.path
MDM_XSERVER_LOCATION=local
GDMSESSION=default
CINNAMON_VERSION=2.2.13
SHLVL=1
XDG_SEAT=seat0
HOME=/home/abhishek
LANGUAGE=en_IN:en
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
XDG_SESSION_DESKTOP=default
LOGNAME=abhishek
XDG_DATA_DIRS=/usr/share/default:/usr/share/gnome:/usr/local/share/:/usr/share/:
/usr/share/mdm/
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-B0MHt1kHrJ,guid=1d12c3a09a5774e
878532a1257037856
MDMSESSION=default
TEXTDOMAIN=im-config
WINDOWPATH=7
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=:0
MDM_LANG=en_IN
XDG_CURRENT_DESKTOP=X-Cinnamon
TEXTDOMAINDIR=/usr/share/locale/
COLORTERM=gnome-terminal
XAUTHORITY=/tmp/.mdmBT5MFY
_=/usr/bin/printenv

Abhishek Ekhare
Results of readelf -a ex1 :-

  0x9b      vsp = r11
  0x43      vsp = vsp - 16
  0x84 0x87 pop {r4, r5, r6, r11, r14}
  0xb0      finish
  0xb0      finish
  0xb0      finish

0xb734 <_ZN13Ui_MainWindow13retranslateUiEP11QMainWindow>: @0xbd34
  Personality routine: 0xa840 <__gxx_personality_v0@@CXXABI_1.3>
  0x9b      vsp = r11
  0x42      vsp = vsp - 12
  0x84 0x83 pop {r4, r5, r11, r14}
  0xb0      finish
  0xb0      finish
  0xb0      finish

0xb83c <_ZN6QFlagsIN2Qt10WindowTypeEEC1EPPv>: 0x1 [cantunwind]

0xb8d4 <_ZN10MainWindow11qt_metacastEPKc>: @0xbdc8
  Compact model index: 1
  0x9b      vsp = r11
  0x40      vsp = vsp - 4
  0x84 0x80 pop {r11, r14}
  0xb0      finish
  0xb0      finish

0xb944 <_ZN10MainWindow11qt_metacallEN11QMetaObject4CallEiPPv>: @0xbdd4
  Compact model index: 1
  0x9b      vsp = r11
  0x40      vsp = vsp - 4
  0x84 0x80 pop {r11, r14}
  0xb0      finish
  0xb0      finish

0xb9a8 <_Z7qt_noopv>: 0x1 [cantunwind]


Symbol table '.dynsym' contains 116 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 00000000     0 FUNC    GLOBAL DEFAULT  UND
__aeabi_unwind_cpp_pr1@GCC_3.5 (2)
     2: 00000000     0 FUNC    GLOBAL DEFAULT  UND
__aeabi_unwind_cpp_pr0@GCC_3.5 (2)
     3: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
     4: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
     5: 0000a960     0 FUNC    GLOBAL DEFAULT  UND strcmp@GLIBC_2.4 (3)
     6: 0000a84c     0 FUNC    GLOBAL DEFAULT  UND
_ZN6QLabel7setTextERK7QSt
     7: 0000a8e8     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMainWindow15createP
     8: 0000a750     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMainWindow10setMenu
     9: 0000a7f8     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget11changeEventE
    10: 0000aa14     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget14mouseMoveEve
    11: 0000a66c     0 FUNC    GLOBAL DEFAULT  UND _ZN12QApplicationD1Ev
    12: 000141cc     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_end__
    13: 0000a918     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget14setWindowTit
    14: 0000b83c    52 FUNC    WEAK   DEFAULT   13
_ZN6QFlagsIN2Qt10WindowTy
    15: 0000b9a8    20 FUNC    WEAK   DEFAULT   13 _Z7qt_noopv
    16: 0000a780     0 FUNC    GLOBAL DEFAULT  UND
__libc_start_main@GLIBC_2.4 (3)
    17: 00014198    44 OBJECT  GLOBAL DEFAULT   25
_ZTVN10__cxxabiv120__si_c@CXXABI_1.3 (5)
    18: 0000aa2c     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMainWindowC2EP7QWid
    19: 0000a684     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget13dragMoveEven
    20: 0000a618     0 FUNC    GLOBAL DEFAULT   11 _init
    21: 0000a9d8     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QObject16disconnectNo
    22: 0000a7e0     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget21mouseDoubleC
    23: 0000a7a4     0 FUNC    GLOBAL DEFAULT  UND
_ZNK7QWidget16inputMethod
    24: 0000a984     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMainWindow12setStat
    25: 0000a90c     0 FUNC    GLOBAL DEFAULT  UND
_ZNK7QWidget14heightForWi
    26: 000141cc     0 NOTYPE  GLOBAL DEFAULT  ABS _bss_end__
    27: 0000a9c0     0 FUNC    GLOBAL DEFAULT  UND abort@GLIBC_2.4 (3)
    28: 0000a6e4     0 FUNC    GLOBAL DEFAULT  UND
_ZNK7QObject10objectNameE
    29: 0000a6b4     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMainWindow5eventEP6
    30: 0000a774     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QObject11customEventE
    31: 0000aa44     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget9moveEventEP10
    32: 0000a7bc     0 FUNC    GLOBAL DEFAULT  UND _ZNK7QWidget8sizeHintEv
    33: 0000a8ac     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMainWindow11qt_meta
    34: 0000a864     0 FUNC    GLOBAL DEFAULT  UND
_ZThn8_NK7QWidget6metricE
    35: 0000a9cc     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QString4freeEPNS_4Dat
    36: 0000a9fc     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget15mousePressEv
    37: 0000a744     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget11setGeometryE
    38: 0000a948     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget10closeEventEP
    39: 0000a840     0 FUNC    GLOBAL DEFAULT  UND
__gxx_personality_v0@CXXABI_1.3 (5)
    40: 00014174     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
    41: 0000a708     0 FUNC    GLOBAL DEFAULT  UND
_ZNK7QWidget11paintEngine
    42: 0000a894     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMainWindow16setCent
    43: 0000a9b4     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget11tabletEventE
    44: 0000bde0     0 NOTYPE  GLOBAL DEFAULT  ABS __exidx_start
    45: 0000a6fc     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QObject10childEventEP
    46: 0000a828     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget18focusNextPre
    47: 0000a810     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QObject13connectNotif
    48: 0000a8c4     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget10fontChangeER
    49: 0000a7d4     0 FUNC    GLOBAL DEFAULT  UND
_ZNK7QWidget15minimumSize
    50: 0000a6cc     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget16inputMethodE
    51: 0000a768     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget11actionEventE
    52: 0000af40   116 FUNC    WEAK   DEFAULT   13
_ZN15QBasicAtomicInt5dere
    53: 0000a6d8     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget11styleChangeE
    54: 0000a888     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget13enabledChang
    55: 0000a978     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidgetC1EPS_6QFlagsI
    56: 0000a900     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget14dragLeaveEve
    57: 0000a6f0     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget17mouseRelease
    58: 0000abe4    60 FUNC    WEAK   DEFAULT   13 _ZN7QWidget4showEv
    59: 0000afb4    60 FUNC    WEAK   DEFAULT   13 _ZNK7QString7isEmptyEv
    60: 0000a8f4     0 FUNC    GLOBAL DEFAULT  UND
_ZN6QLabelC1EP7QWidget6QF
    61: 0000aa08     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget12focusInEvent
    62: 0000a8dc     0 FUNC    GLOBAL DEFAULT  UND
_ZNK7QWidget6metricEN12QP
    63: 0000aa38     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QObject13setObjectNam
    64: 0000a9a8     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget14languageChan
    65: 0000a648     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget22windowActiva
    66: 0000a96c     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QObject11eventFilterE
    67: 0000a990     0 FUNC    GLOBAL DEFAULT  UND
__cxa_end_cleanup@CXXABI_1.3 (5)
    68: 000141cc     0 NOTYPE  GLOBAL DEFAULT  ABS __end__
    69: 0000a7c8     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMainWindow10addTool
    70: 00014178    16 OBJECT  GLOBAL DEFAULT   25
_ZN11QMainWindow16staticM
    71: 0000a6c0     0 FUNC    GLOBAL DEFAULT  UND _ZN11QMainWindowD2Ev
    72: 0000b08c   120 FUNC    WEAK   DEFAULT   13 _ZN5QRectC1Eiiii
    73: 00014174     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start__
    74: 0000a660     0 FUNC    GLOBAL DEFAULT  UND
_ZN10QStatusBarC1EP7QWidg
    75: 0000b104    72 FUNC    WEAK   DEFAULT   13 _ZN7QWidget6resizeEii
    76: 0000a63c     0 FUNC    GLOBAL DEFAULT  UND
_ZThn8_NK7QWidget7devType
    77: 00014174     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
    78: 0000a78c     0 FUNC    GLOBAL DEFAULT  UND _ZN8QToolBarC1EP7QWidget
    79: 0000a8a0     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QString8fromUtf8EPKci
    80: 000141c8     4 OBJECT  WEAK   DEFAULT   25
_ZGVZ13qvariant_castI8QVa
    81: 0000a9f0     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMetaObject18connect
    82: 0000ba5c     0 FUNC    GLOBAL DEFAULT   14 _fini
    83: 0000aff0    88 FUNC    WEAK   DEFAULT   13 _ZN7QStringD1Ev
    84: 0000a954     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget15keyReleaseEv
    85: 0000a8d0     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget10setVisibleEb
    86: 0000a720     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMainWindow11qt_meta
    87: 0000a87c     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget9hideEventEP10
    88: 0000a690     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget9showEventEP10
    89: 0000a6a8     0 FUNC    GLOBAL DEFAULT  UND
_ZThn8_NK7QWidget11paintE
    90: 0000be88     0 NOTYPE  GLOBAL DEFAULT  ABS __exidx_end
    91: 0000a870     0 FUNC    GLOBAL DEFAULT  UND
_ZN12QApplicationC1ERiPPc
    92: 0000a924     0 FUNC    GLOBAL DEFAULT  UND
_ZN11QMainWindow16context
    93: 000141cc     0 NOTYPE  GLOBAL DEFAULT  ABS _end
    94: 0000a7b0     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget10leaveEventEP
    95: 00014188    12 OBJECT  GLOBAL DEFAULT   25 _ZTI11QMainWindow
    96: 0000a834     0 FUNC    GLOBAL DEFAULT  UND _Znwj@GLIBCXX_3.4 (4)
    97: 0000a7ec     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget11resizeEventE
    98: 0000a858     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget9dropEventEP10
    99: 0000a804     0 FUNC    GLOBAL DEFAULT  UND _ZdlPv@GLIBCXX_3.4 (4)
   100: 0000a81c     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget10wheelEventEP
   101: 0000a654     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget8qwsEventEP8QW
   102: 0000a714     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget13keyPressEven
   103: 0000aa20     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget13paletteChang
   104: 0000b048    68 FUNC    WEAK   DEFAULT   13 _ZN5QSizeC1Eii
   105: 0000b9bc    44 FUNC    WEAK   DEFAULT   13
_ZNK14QScopedPointerI11QO
   106: 0000a69c     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget6resizeERK5QSi
   107: 0000a72c     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget14dragEnterEve
   108: 0000a75c     0 FUNC    GLOBAL DEFAULT  UND _ZNK7QWidget7devTypeEv
   109: 0000a8b8     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget10enterEventEP
   110: 0000a930     0 FUNC    GLOBAL DEFAULT  UND _ZN12QApplication4execEv
   111: 0000a678     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget10paintEventEP
   112: 0000a738     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QObject10timerEventEP
   113: 0000a9e4     0 FUNC    GLOBAL DEFAULT  UND
_ZN16QCoreApplication9tra
   114: 0000a99c     0 FUNC    GLOBAL DEFAULT  UND _ZN8QMenuBarC1EP7QWidget
   115: 0000a93c     0 FUNC    GLOBAL DEFAULT  UND
_ZN7QWidget13focusOutEven

...stripped-down

Abhishek Ekhare
Histogram for bucket list length (total of 221 buckets):
 Length  Number     % of total  Coverage
      0  125        ( 56.6%)
      1  80         ( 36.2%)     69.6%
      2  13         (  5.9%)     92.2%
      3  3          (  1.4%)    100.0%

Histogram for `.gnu.hash' bucket list length (total of 161 buckets):
 Length  Number     % of total  Coverage
      0  70         ( 43.5%)
      1  71         ( 44.1%)     64.0%
      2  20         ( 12.4%)    100.0%

Version symbols section '.gnu.version' contains 116 entries:
 Addr: 000000000000a1e8  Offset: 0x0021e8  Link: 5 (.dynsym)
  000:   0 (*local*)       2 (GCC_3.5)       2 (GCC_3.5)       0 (*local*) 
  
  004:   0 (*local*)       3 (GLIBC_2.4)     0 (*local*)       0 (*local*) 
  
  008:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*) 
  
  00c:   1 (*global*)      0 (*local*)       1 (*global*)      1 (*global*)
  
  010:   3 (GLIBC_2.4)     5 (CXXABI_1.3)    0 (*local*)       0 (*local*) 
  
  014:   1 (*global*)      0 (*local*)       0 (*local*)       0 (*local*) 
  
  018:   0 (*local*)       0 (*local*)       1 (*global*)      3
(GLIBC_2.4)  
  01c:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*) 
  
  020:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*) 
  
  024:   0 (*local*)       0 (*local*)       0 (*local*)       5
(CXXABI_1.3) 
  028:   1 (*global*)      0 (*local*)       0 (*local*)       0 (*local*) 
  
  02c:   1 (*global*)      0 (*local*)       0 (*local*)       0 (*local*) 
  
  030:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*) 
  
  034:   1 (*global*)      0 (*local*)       0 (*local*)       0 (*local*) 
  
  038:   0 (*local*)       0 (*local*)       1 (*global*)      1 (*global*)
  
  03c:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*) 
  
  040:   0 (*local*)       0 (*local*)       0 (*local*)       5
(CXXABI_1.3) 
  044:   1 (*global*)      0 (*local*)       0 (*local*)       0 (*local*) 
  
  048:   1 (*global*)      1 (*global*)      0 (*local*)       1 (*global*)
  
  04c:   0 (*local*)       1 (*global*)      0 (*local*)       0 (*local*) 
  
  050:   1 (*global*)      0 (*local*)       1 (*global*)      1 (*global*)
  
  054:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*) 
  
  058:   0 (*local*)       0 (*local*)       1 (*global*)      0 (*local*) 
  
  05c:   0 (*local*)       1 (*global*)      0 (*local*)       0 (*local*) 
  
  060:   4 (GLIBCXX_3.4)   0 (*local*)       0 (*local*)       4
(GLIBCXX_3.4)
  064:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*) 
  
  068:   1 (*global*)      1 (*global*)      0 (*local*)       0 (*local*) 
  
  06c:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*) 
  
  070:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*) 
  

Version needs section '.gnu.version_r' contains 3 entries:
 Addr: 0x000000000000a2d0  Offset: 0x0022d0  Link: 6 (.dynstr)
  000000: Version: 1  File: libstdc++.so.6  Cnt: 2
  0x0010:   Name: CXXABI_1.3  Flags: none  Version: 5
  0x0020:   Name: GLIBCXX_3.4  Flags: none  Version: 4
  0x0030: Version: 1  File: libc.so.6  Cnt: 1
  0x0040:   Name: GLIBC_2.4  Flags: none  Version: 3
  0x0050: Version: 1  File: libgcc_s.so.1  Cnt: 1
  0x0060:   Name: GCC_3.5  Flags: none  Version: 2

Displaying notes found at file offset 0x00000188 with length 0x00000020:
  Owner                 Data size  Description
  GNU                  0x00000010  NT_GNU_ABI_TAG (ABI version tag)
    OS: Linux, ABI: 2.6.32
Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "4T"
  Tag_CPU_arch: v4T
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-1
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align_needed: 8-byte
  Tag_ABI_enum_size: int

davef
File Attributes
  Tag_CPU_name: "4T"
  Tag_CPU_arch: v4T

The good news is that you have cross-compiled it correctly.

Do printenv on the mini2440 using your terminal program not on the host

Abhishek Ekhare
Ohh sorry!! I will send you the printenv from Mini2440.

How did you make out from file attributes that i have cross-compiled
correctly ??

davef
File Attributes
  Tag_CPU_name: "4T"
  Tag_CPU_arch: v4T

The S3C2440 uses the v4t ARM architecture

Abhishek Ekhare
Attachment: MINI2440printenv.png (3.04 KB)
This is my MINI2440 printenv output

davef
I would have expected to see all your Qt environment variables as well. 
I'll dig the mini2440 out and see if it still works.

davef
root@mini2440:~ printenv
SHELL=/bin/sh
TERM=linux
USER=root
QWS_MOUSE_PROTO=MouseMan:/dev/input/mice Tslib:/dev/input/touchscreen
ENV=/etc/profile.environment
TSLIB_CONSOLEDEVICE=none
COLUMNS=80
PATH=/sbin:/usr/sbin:/bin:/usr/bin
PWD=/home
EDITOR=nano                                                                
    
LINES=24                                                                   
    
SHLVL=1                                                                    
    
HOME=/home                                                                 
    
QWS_KEYBOARD=LinuxInput:/dev/input/event2                                  
    
TSLIB_FBDEVICE=/dev/fb0                                                    
    
LOGNAME=root                                                               
    
TSLIB_TSDEVICE=/dev/input/touchscreen                                      
    
QWS_DISPLAY=LinuxFb:nographicsmodeswitch:tty=none:mmWidth=120:mmHeight=160 
    
HISTFILE=/tmp/.ash_history.root.1                                          
    
_=/bin/printenv  

Unfortunately, I am using another distro (Pengutronix mini2440 BSP) and my
environment variables are in /etc/profile.environment.

I think you need to see some display parameters when you do a printenv. 
For example, TSLIB_TSDEVICE=/dev/input/touchscreen

Abhishek Ekhare
How should i proceed now ??

davef
Interesting I posted a response last night.

Doesn't step 4 of the first tutorial you linked to work?

On 2nd thought ... after you modify the file do the following:

   sync

 then have another look at it to make sure the changes stick.

Abhishek Ekhare
Ohh, i am sorry, i will look through.

Abhishek Ekhare
I think we have a confusion here:-

Step 4 i Link-1 says,
$cd /etc/init.d/

$vi rcS
#comment last three lines:

#bin/qtopia&
#echo"                                 "> /dev/tty1
#ehco"Starting Qtopia, please waiting..." > /dev/tty1

And,
#Configure the environment in mini2440:
$cd /etc/
$vi profile
#add those lines at the end of file
export LD_LIBRARY_PATH=/usr/local/tslib/lib
export QTDIR=/usr/local/Qt                 
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal        
export TSLIB_CONFFILE=/usr/local/etc/ts.conf  
export TSLIB_CONSOLEDEVICE=none               
export TSLIB_FBDEVICE=/dev/fb0              
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_TSDEVICE=/usr/local/tslib/lib/ts 
export TSLIB_TSEVENTTYPE=INPUT                
export QWS_DISPLAY=LinuxFB:mmWidth=105:mmHeight=140
#save it.

Abhishek Ekhare
But Step-3 of Link-2 says,
$cd /etc/ 
$vi profile
Cut those line:
export LD_LIBRARY_PATH=/usr/local/tslib/lib
export QTDIR=/usr/local/Qt                 
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal        
export TSLIB_CONFFILE=/usr/local/etc/ts.conf  
export TSLIB_CONSOLEDEVICE=none               
export TSLIB_FBDEVICE=/dev/fb0              
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_TSDEVICE=/usr/local/tslib/lib/ts 
export TSLIB_TSEVENTTYPE=INPUT                
export QWS_DISPLAY=LinuxFB:mmWidth=105:mmHeight=140
Close and save it. Then:
$cd /etc/init.d/
$vi rcS
Paste above lines into the end of this rcS file, and add following line
into the end of rcS file too.


Now where exactly should i put these lines ??
In /etc/init.d/rcS or in /etc/profile ???

davef
OK, I have looked at the links and I think I see where the confusion is.

"Programming application for mini2440 by Qt creator" I see is a later date
and it appears he has changed the way he had the environment set up in
"Upgrade Qt4.6.2 in mini2440".

I would stick with "Upgrade Qt4.6.2 in mini2440". 

To clarify I should have said, "look at that profile file after you REBOOT
the mini2440" to make sure your changes are still there ... not just after
you have saved it.

Sometimes /etc was set up that you couldn't make changes to files in it.

Post the whole rcS file before modification.

davef
In the original FriendlyArm distro on the mini2440 I don't ever recall
doing anything with a /etc/profile file.

Are both of these files present on the unmodified root file system?

Maybe post the whole profile file before modification as well.

Abhishek Ekhare
Yes, both these files are present on the unmodified file system.
I will try the sync command and get back.

davef
sync is useful after editing a file on a SD card to ensure that your
changes are made before doing something like shutting the system down.

You might not be using one.  I do.

davef
You are rebooting after making those changes?  Else how /etc/profile or
/etc/rcS run and produce a modified environment.

Abhishek Ekhare
Just to clear my confusion (once again),

export LD_LIBRARY_PATH=/usr/local/tslib/lib
export QTDIR=/usr/local/Qt                 
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal        
export TSLIB_CONFFILE=/usr/local/etc/ts.conf  
export TSLIB_CONSOLEDEVICE=none               
export TSLIB_FBDEVICE=/dev/fb0              
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_TSDEVICE=/usr/local/tslib/lib/ts 
export TSLIB_TSEVENTTYPE=INPUT                
export QWS_DISPLAY=LinuxFB:mmWidth=105:mmHeight=140

Where should i actually paste my export variables, in /etc/init.d/rcS or in
/etc/profile ???

davef
By the way there were some really long threads on this forum about Qt.

Also, http://billforums.station51.net/ may be worth having a look around.

davef
Those export variables have to be placed in a file which the operating
system (Busybox init process) knows to go and look into.

As I do not know which one I can only suggest trying both.  After rebooting
do another printenv and see if something good happens.

davef
Post the contents of both of those unmodified files.

davef
Also, notice my comment about bind in this thread:

http://www.friendlyarm.net/forum/topic/916

Is that line present in rcS?

davef
http://billforums.station51.net/viewtopic.php?f=8&t=15

See you tomorrow.

Abhishek Ekhare
Sorry for replying late, i couldn't work on FriendlyARM for past 3 days.
I will go through the links and reply soon.

Abhishek Ekhare
I went through the links. There's some difference between the export
variables for touchscreen and mouse:-

Should i replace
export TSLIB_TSDEVICE=/usr/local/tslib/lib/ts
with
export TSLIB_TSDEVICE=/dev/input/touchscreen0

And
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
with
export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen0

??

Abhishek Ekhare
These are contents of my /etc/profiles file:-

# Ash profile 
# vim: syntax=sh

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]\# '
PATH=$PATH

HOSTNAME=`/bin/hostname`

export USER LOGNAME PS1 PATH


export LD_LIBRARY_PATH=/usr/local/tslib/lib
export QTDIR=/usr/local/Qt
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/usr/local/etc/ts.conf
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_TSDEVICE=/usr/local/tslib/lib/ts
export TSLIB_TSEVENTTYPE=INPUT
export QWS_DISPLAY=LinuxFB:mmWidth=105:mmHeight=140

Abhishek Ekhare
And these are /etc/init.d/rcS:-

#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel

#
#  Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
#
trap ":" INT QUIT TSTP
/bin/hostname FriendlyARM

/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys
/bin/mount -n -t usbfs none /proc/bus/usb
/bin/mount -t ramfs none /dev

echo /sbin/mdev > /proc/sys/kernel/hotplug
/sbin/mdev -s
/bin/hotplug
# mounting file system specified in /etc/fstab
mkdir -p /dev/pts
mkdir -p /dev/shm
/bin/mount -n -t devpts none /dev/pts -o mode=0622
/bin/mount -n -t tmpfs tmpfs /dev/shm
/bin/mount -n -t ramfs none /tmp
/bin/mount -n -t ramfs none /var
mkdir -p /var/empty
mkdir -p /var/log
mkdir -p /var/lock
mkdir -p /var/run
mkdir -p /var/tmp

/sbin/hwclock -s

syslogd
/etc/rc.d/init.d/netd start
echo "                        " > /dev/tty1
echo "Starting networking..." > /dev/tty1
sleep 1
/bin/chmod 0600 /usr/local/etc/ssh_*_key
/usr/local/sbin/sshd &
echo "                        " > /dev/tty1
echo "Starting ssh daemon..." > /dev/tty1
sleep 1
/etc/rc.d/init.d/httpd start
echo "                        " > /dev/tty1
echo "Starting web server..." > /dev/tty1
sleep 1
/etc/rc.d/init.d/leds start
echo "                        " > /dev/tty1
echo "Starting leds service..." > /dev/tty1
echo "                        "
sleep 1

/sbin/ifconfig lo 127.0.0.1
/etc/init.d/ifconfig-eth0


export LD_LIBRARY_PATH=/usr/local/tslib/lib
export QTDIR=/usr/local/Qt
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/usr/local/etc/ts.conf
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_TSDEVICE=/usr/local/tslib/lib/ts
export TSLIB_TSEVENTTYPE=INPUT
export QWS_DISPLAY=LinuxFB:mmWidth=105:mmHeight=140

#/bin/qtopia &
#echo "                                  " > /dev/tty1
#echo "Starting Qtopia, please waiting..." > /dev/tty1

Abhishek Ekhare
After pasting the export variables in both /etc/profile and /etc/init.d/rcS
and executing printenv i get the following result:-

Abhishek Ekhare
But touch screen still doesn't work, although i get display on tft:-

Abhishek Ekhare
I do not have the "mount -o bind /tmp/etc /etc" statement in rcS file.

davef
But touch screen still doesn't work, although i get display on tft:-

Are you saying the you get a display but the touch function does not work? 
If so, then for each entry in /dev, ie /dev/input/touchscreen0

cd to /dev
cat touchscreen0

and move your finger over the screen and you should see characters appear
on the screen.

There are 3 aspects to the touchscreen:
- the frame buffer fb0
- the mouse input
- the touch or stylus input.

Can't make the images big enough to read what is on them.

Abhishek Ekhare
Attachment: 2016-04-12 09.48.57.jpg (34.79 KB)
I have referred mini2440vietnam's tutorial for Qt, and implemented it on my
FriendlyARM. 
I am uploading an image which shows that the code works fine and shows
display on the tft.
But the touch screen does not work.

I will follow your steps and get back.

Abhishek Ekhare
One more thing, when i pasted the export variables in both files, i have
started getting the QWSTslibMouseHandlerPrivate: ts_conf()failed... error 
(which you can see in the screen shots above).

Since i am exporting
export TSLIB_CONFFILE=/usr/local/etc/ts.conf
i checked for ts.conf in the Mini, and the file exists in the location
/usr/local/etc/

Why do i still get this error ??

davef
Post the contents of ts.conf

You have Googled <ts_conf()failed> ?

davef
I hope this doesn't confuse matters, but here are the relevant parts of my
"environment file".


# Mini2440 related settings
MINI2440_FBDEV=/dev/fb0
MINI2440_KEYEVENT=/dev/input/event2
MINI2440_TOUCHEVENT=/dev/input/touchscreen
#

# touchscreen relevant settings
export TSLIB_TSDEVICE=${MINI2440_TOUCHEVENT}
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=${MINI2440_FBDEV}
#export TSLIB_CALIBFILE
#export TSLIB_CONFFILE
#export TSLIB_PLUGINDIR

# Qt relevant settings
#export QWS_MOUSE_PROTO=Tslib:${MINI2440_TOUCHEVENT}
export QWS_MOUSE_PROTO="MouseMan:/dev/input/mice
Tslib:${MINI2440_TOUCHEVENT}"

export QWS_DISPLAY
export QWS_KEYBOARD=LinuxInput:${MINI2440_KEYEVENT}

*****

Note the TOUCHEVENT is /dev/input/touchscreen.

Now this might have defined in a special way by Pengutronix.  There is not
a /dev/touchscreen0.

By the way I noticed that there is no reference to touchscreen (as in the
stylus input) in your rcS or profile files.

Abhishek Ekhare
Yes, i googled it and found this link:-
http://www.friendlyarm.net/forum/topic/4779

in which the OP says that he fixed this error by doing:-
"I fixed this by removing this line from profile:

export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts"

Maybe my touch screen might not be working because of this.

I will try removing this line and check if it works.

Abhishek Ekhare
I removed the line:-
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts

so the error
QWSTslibMouseHandlerPrivate: ts_conf()failed with error...
is gone!!

But the touch screen is still not working.

Abhishek Ekhare
Actually i started using Qt because the tutorials for Mini2440 were based
on Qt.

Anyways, as for now, i have decided to stop using Qt and focus more on
learning Linux and The Mini2440.

I will open a new thread about this.

Thanks a ton Davef!!
Your help is truly appreciated.

davef
> By the way I noticed that there is no reference to touchscreen (as in the
> stylus input) in your rcS or profile files.

List all the entries in /dev/input

Dave Festing
Attachment: PTXdist_Qt and Browser.zip (28 KB)
This is my document on getting all the touchscreen inputs working using the
Pengutronix distro.  Rename it to a .doc extension.

Note: ptxdist kernelconfig is the same as kernelconfig and make sure you
have all the virtual terminal stuff sorted.  Then re-compile the kernel.

ptxdist menuconfig is equivalent to all the options you put in the
./configure statement

You will notice that there are quite a few /dev/

event0 are the button keys
event1 is the stylus
event2 is the attached USB mouse
event3 is the USB keyboard
mice = stylus + USB mouse
mouse0 is stylus
mouse1 is the attached USB mouse

I can't tell you which options you have to add to your ./configure line.

Another area where things might not work as expected is that the above is
done with a much later kernel than the FriendlyArm distro.

We could compare kernel ./config files and see if you missing something

davef
OK, I had a look through the qt4.make file used in the Pengutronix BSP.

#mouse drivers

QT4_AUTOCONF-$(call ptx/qt, MOUSE_PC)      += mouse-pc
QT4_AUTOCONF-$(call ptx/qt, MOUSE_INPUT)    += mouse-linuxinput
QT4_AUTOCONF-$(call ptx/qt, MOUSE_LINUXTP)    += mouse-linuxtp
QT4_AUTOCONF-$(call ptx/qt, MOUSE_TSLIB)    += mouse-tslib
QT4_AUTOCONF-$(call ptx/qt, MOUSE_QVFB)      += mouse-qvfb 

In the mini2440vietnam tutorial I only see:

-qt-mouse-tslib -qt-mouse-linuxinput

Maybe try adding -qt-mouse-qvfb to your ./configure statement and see what
happens.  Maybe, first read the help menu for Qt4 and see it is mentions
-mouse-qvfb

Likewise with -mouse-linuxtp and lastly -mouse-pc if the first one fails to
do the job.

Abhishek Ekhare
Attachment: Pic-1.jpg (136.38 KB)
Hi Davef,
I think i need to bring something to your notice.
I have used the link
https://importgeek.wordpress.com/2012/04/09/compiling-qt-and-tslib-for-m...
for compiling Qt in Mini2440.

Please refer the attached pic. One of the user faced same problem as me
(display working but touchscreen not working), to which the Original Poster
replied "i think when we disable qtopia tslib wont work".
But nobody confirmed this.

Abhishek Ekhare
Also, i found this link
https://suchakra.wordpress.com/2011/05/17/qt-on-mini2440/
wherein even the OP does not mention anything about commenting Qtopia.

Does disabling Qtopia result in touch screen not working ??

davef
So, -mouse-qvfb did not work.

I believe you need to disable Qtopia when you run Qt4 applications.  Tslib
works in my Qt4 app

Abhishek Ekhare
https://suchakra.wordpress.com/2011/05/17/qt-on-mini2440/

Should i follow this link and do the whole stuff again ??

Abhishek Ekhare
Attachment: PIC-2.jpg (24.31 KB)
Hi Davef,
I think maybe i found the reason for touchscreen to not work. I will
implement and verify this.
Please see the attachment. It is from the mini2440vietnam tutorial.

There is no need for me to re-compile the entire thing. I think i have done
it correctly.

Btw, i will send you the /dev/input/ contents in a while...

Abhishek Ekhare
Even changing export TSLIB_TSDEVICE=/dev/input/event0  from
/usr/local/tslib/lib/ts doesn't work !!

The contents of my /dev/input are
event0     mice