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 ??
QWSTslibMouseHandlerPrivate: ts_conf()failed with error...
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.
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 ??
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?
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.
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
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.
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!!
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 ??
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.
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
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
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
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
Ohh sorry!! I will send you the printenv from Mini2440. How did you make out from file attributes that i have cross-compiled correctly ??
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.
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
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.
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.
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 ???
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.
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.
Yes, both these files are present on the unmodified file system. I will try the sync command and get back.
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.
You are rebooting after making those changes? Else how /etc/profile or /etc/rcS run and produce a modified environment.
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 ???
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.
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.
Also, notice my comment about bind in this thread: http://www.friendlyarm.net/forum/topic/916 Is that line present in rcS?
http://billforums.station51.net/viewtopic.php?f=8&t=15 See you tomorrow.
Sorry for replying late, i couldn't work on FriendlyARM for past 3 days. I will go through the links and reply soon.
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 ??
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
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
After pasting the export variables in both /etc/profile and /etc/init.d/rcS and executing printenv i get the following result:-
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.
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.
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 ??
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.
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.
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.
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.
> 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
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
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.
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.
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 ??
So, -mouse-qvfb did not work. I believe you need to disable Qtopia when you run Qt4 applications. Tslib works in my Qt4 app
https://suchakra.wordpress.com/2011/05/17/qt-on-mini2440/ Should i follow this link and do the whole stuff again ??
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...
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