ts_config() problem

stalin yennaboina
I have cross compiled Qt4.6.2 and tslib successfully.
I have trafered the compiled tslib and Qt to Micro2440
But when run ./fluidlauncher program.

It is give following error.

Couldnt load module input                                                  
    
No raw modules loaded.                                                     
    
QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file
or di'
Please check your tslib installation!  

Some one help me come out of this issue

davef
Can you do a ts_calibrate before running the program?  I see a ts_config()
in ts_config.c and that's where the error messages are coming from.  

Have you uncommented the first line in /usr/local/tslib/etc/ts.conf\\

davef
Have you uncommented the first line in /usr/local/tslib/etc/ts.conf

Juergen Beisert
Did you also copy tslib's input modules to your target? The complete
package contains the libts itself, the config file ts.conf and all modules
in usr/lib/ts/*

stalin yennaboina
yes i have uncommented the first line ts.conf
i have copied all the contents of tslib

still it is giving same error

Juergen Beisert
When you run one of the two tslib utilities (ts_calibrate or ts_test), do
you get the same error? If yes, you can try to run it with "strace" to see,
what fails in the background.

stalin yennaboina
yes i am getting same message when i run tslib utilities (ts_calibrate or
ts_test)

strace not fount in commands

davef
Did you use the -qt-mouse-tslib switch and get no errors with
cross-compiling Qt?

Is ts.conf in /etc?

You did check that ts_calibrate is an armv4t binary?

davef
Here's a tutorial that works except I found things run slow compared to
another pre-built Qt cross-compilation I have.

Also, fluidlauncher doesn't work for me.

davef
And the missing link:

http://mini2440vietnam.blogspot.com/

stalin yennaboina
yes i am using -qt-mouse-tslib and got no compilation errors

I am doing all these stuff from the same link
http://mini2440vietnam.blogspot.com/ 

Can u please provide the pre built cross compiled Qt . So that i will
proceed with it.

fluid launcher is working but, touchscreen is not working for me

I dont know how to come out of this issue.

davef
He has a link to pre-built Qt and tslib using the 4.3.2 cross compiler.

I don't think my cross-compiled Qt is working properly, so there is no
point is sending you a copy.

You haven't said which toolchain you have compiled your kernel, QT and
tslib with.

stalin yennaboina
cross compiler is 4.3.2 only;

His images also giving same problem.

Suchakra
The problem surely lies with the environment variables. I've solved it
today only. Please check the environment variables and provide correct
values. Don't forget to source the env file after saving your variables.
After that run the ts_calibrate from the tslib/bin directory before
executing your program. The TS_TSDEVICE variable on the
http://mini2440vietnam.blogspot.com/ should be /dev/input/<your device>
Then it will work.

davef
I can't get fluidlauncher to work with my cross-compilation.  The
/demo/browser seems to be working fairly well in the full screen mode.

Now, there are a few other things you might have to do in tslib, check this
page out:

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

at the bottom. Note: copying contents of tslib/lib/ts into tslib/lib 

I can't get ts_calibrate to work, the error is <ts_open: No such file or
directory>  This seems to be a problem that has generated a lot of bug
reports.

Have you got a pointercal file in tslib/etc?  Fortunately, I got one with a
pre-compiled tslib for a 64M machine.

18180 11 -1633018 -79 -25051 23358250 65536 240 3200

CUtomorrow,

Dave

Juergen Beisert
stalin yennaboina:
You could try my BSP[1] for the Mini2440. Enable qt and the qt examples.
This will build all required dependencies (including tslib) of qt-4.6.3 and
seems to work out of the box on my Mini2440 hardware. Maybe its easier for
you to work with a build system, instead of copying binaries from different
sources and hoping they will work together.

[1] http://www.oselas.org/oselas/bsp/pengutronix/mini2440_bsp_en.html

Tiramisu
Excuse me all,

i have the same problem, is there a clue yet?

thanks

Sushant
run on mini2440 
cd /bin
./ts_calibrate
run this file
Generate a error

Couldnt open tslib config file: No such file or directory
ts_config: Illegal seek

Sushant
./app -qws

QWSTslibMouseHandlerPrivate: ts_open() failed with error: 'No such file or
direc
tory'
Please check your tslib installation!

Juergen Beisert
> Couldnt open tslib config file: No such file or directory

You should just fix what the program tells you...

smith
QWSTslibMouseHandlerPrivate: ts_open() failed with error: 'No such file or
direc
tory'
Please check your tslib installation!

same problem is generated How to solve this problem

Juergen Beisert
Run your program with "strace" and see what it misses for a complete
installation.

bluscape
I'm having a hard time getting the TS to work on the P35 display. I've
implemented everything as explained in:

But I get similar errors:

root@mini2440:/usr/lib cd ts/
root@mini2440:/usr/lib/ts ls
arctic2.so            h3600.so              pthres.so
collie.so             input.so              touchkit.so
corgi.so              linear.so             ucb1x00.so
dejitter.so           linear_h2200.so       variance.so
dmc.so                mk712.so
galax.so              one-wire-ts-input.so
root@mini2440:/usr/lib/ts ts_calibrate
ts_open: No such file or directory
root@mini2440:/usr/lib/ts ts_test
/dev/touchscreen-1wire: No such file or directory
root@mini2440:/usr/lib/ts

Running strace on ts_calibrate produces:

root@mini2440:/usr/lib/ts strace ts_calibrate
execve("/usr/bin/ts_calibrate", ["ts_calibrate"], [/* 21 vars */]) = 0
brk(0)                                  = 0x1993000
uname({sys="Linux", node="mini2440", ...}) = 0
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = -1 ENOENT (No such file or
directory)
open("/lib/tls/v4l/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/tls/v4l", 0xbe9c2328)      = -1 ENOENT (No such file or
directory)
open("/lib/tls/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/tls", 0xbe9c2328)          = -1 ENOENT (No such file or
directory)
open("/lib/v4l/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/v4l", 0xbe9c2328)          = -1 ENOENT (No such file or
directory)
open("/lib/libts-0.0.so.0", O_RDONLY)   = -1 ENOENT (No such file or
directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/tls/v4l/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file
or directory)
stat64("/usr/lib/tls/v4l", 0xbe9c2328)  = -1 ENOENT (No such file or
directory)
open("/usr/lib/tls/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/usr/lib/tls", 0xbe9c2328)      = -1 ENOENT (No such file or
directory)
open("/usr/lib/v4l/libts-0.0.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/usr/lib/v4l", 0xbe9c2328)      = -1 ENOENT (No such file or
directory)
open("/usr/lib/libts-0.0.so.0", O_RDONLY) = 3
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\374\t\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=6988, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40099000
mmap2(NULL, 39632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x40192000
mprotect(0x40194000, 28672, PROT_NONE)  = 0
mmap2(0x4019b000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x4019b000
close(3)                                = 0
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\t\0\0004\0\0\0"..., 512)
= 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=9672, ...}) = 0
mmap2(NULL, 41136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x40084000
mprotect(0x40086000, 28672, PROT_NONE)  = 0
mmap2(0x4008d000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x4008d000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\230X\1\0004\0\0\0"..., 512)
= 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1209460, ...}) = 0
mmap2(NULL, 1246440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x4019c000
mprotect(0x402bf000, 32768, PROT_NONE)  = 0
mmap2(0x402c7000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x123) = 0x402c7000
mmap2(0x402ca000, 9448, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x402ca000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40015000
set_tls(0x400154c0, 0x40015b98, 0x400ce048, 0x400154c0, 0x400ce000) = 0
mprotect(0x402c7000, 8192, PROT_READ)   = 0
mprotect(0x4008d000, 4096, PROT_READ)   = 0
mprotect(0x400cd000, 4096, PROT_READ)   = 0
rt_sigaction(SIGSEGV, {0x8c00, [SEGV], SA_RESTART|0x4000000}, {SIG_DFL, [],
0}, 8) = 0
rt_sigaction(SIGINT, {0x8c00, [INT], SA_RESTART|0x4000000}, {SIG_DFL, [],
0}, 8) = 0
rt_sigaction(SIGTERM, {0x8c00, [TERM], SA_RESTART|0x4000000}, {SIG_DFL, [],
0}, 8) = 0
brk(0)                                  = 0x1993000
brk(0x19b4000)                          = 0x19b4000
open("/dev/touchscreen-1wire", O_RDONLY) = -1 ENOENT (No such file or
directory)
dup(2)                                  = 3
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fstat64(3, {st_mode=S_IFCHR|0600, st_rdev=makedev(204, 64), ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo
...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x400c8000
_llseek(3, 0, 0xbe9c28b0, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
write(3, "ts_open: No such file or directo"..., 35ts_open: No such file or
directory
) = 35
close(3)                                = 0
munmap(0x400c8000, 4096)                = 0
exit_group(1)                           = ?
root@mini2440:/usr/lib/ts

Rofique Anowar
Hi,
  Anyone got the solution please share it.
Thanks.

bluscape
The problem is with the new displays they are using 1-wire.
For some reason the 1-wire file is not accessible when a Qt app is
executing.

Luckily the LCD board makes provision to switch to the analog touch screen.

Modify the board: http://www.friendlyarm.net/forum/topic/6101

Megha
I am able to see the same image as you posted while trying to ts_test and
ts_calibrate. But I am not able to move crosshair. while touching it gives
me a value of x and y coordinate. But cursor is not moving. Plz help me in
that case.

davef
From memory ... you have to touch the crosshair exactly in the centre, with
a sharp object, before it will move to the next position.

Megha
I was already try with sharp object still the crosshair could not be move.
But while running ts_calibrate it only display the below message untill i
forcefully stop it.
root@linaro-alip:/home/linaro/dev/tslib_arm/bin# ./ts_calibrate 
xres = 720, yres = 1280
^C*** Error in `./ts_calibrate': double free or corruption (!prev):
0x00000000034191f0 ***
Aborted

davef
What are using for the target device?

Also do a:
   readelf -a ts_calibrate

on your host machine and post the last 10 lines.

Megha
I am using himax8526 fro touchscreen.
Here are the last few lines from command  'readelf -a ts_calibrate' :-

Version needs section '.gnu.version_r' contains 1 entries:
 Addr: 0x0000000000400a08  Offset: 0x000a08  Link: 6 (.dynstr)
  000000: Version: 1  File: libc.so.6  Cnt: 1
  0x0010:   Name: GLIBC_2.17  Flags: none  Version: 2

Displaying notes found at file offset 0x000001e4 with length 0x00000020:
  Owner                 Data size       Description
  GNU                  0x00000010       NT_GNU_ABI_TAG (ABI version tag)
    OS: Linux, ABI: 3.7.0

Displaying notes found at file offset 0x00000204 with length 0x00000024:
  Owner                 Data size       Description
  GNU                  0x00000014       NT_GNU_BUILD_ID (unique build ID
bitstring)
    Build ID: 0b000ddbb6b63f8cb535df46ec87ff13df41eceb

davef
What FriendlyArm product is driving the touchscreen controller?

That readelf output does not look familiar to me.  In the last 10 lines or
so you should see which ARM architecture the file has been compiled for.

try:
   readelf -A ts_calibrate

Megha
readelf -A ts_calibrate -> This command does not print anything.

I am using 'aarch64-linux-gnu' toolchain for compiling the tslib source.
The actual command is :
./configure --prefix=/home/linaro/dev/tslib_arm --host=aarch64-linux-gnu

from evtest /dev/input/event1 -> it is printing the correct coordinates for
x and y.

I think there may be a problem in X11 configuration. I already added the
node for himax 8526 in /usr/share/X11/xorg.conf.d/99-calibration.conf

 Section "InputClass"
            Identifier      "calibration"
            MatchProduct    "himax8526"
            Option  "Calibration"   "0 720 0 1280"
    #        Option  "SwapAxes"      "1"
    EndSection

Still crosshair is not moving.

davef
root/usr/bin$ readelf -A ts_calibrate 
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_FP_arch: VFPv2
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_rounding: Needed
  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_align_preserved: 8-byte, except leaf SP
  Tag_ABI_enum_size: int
  Tag_DIV_use: Not allowed

Tag_CPU_arch: v4T -> tells you it has been cross-compiled for the mini2440.

You didn't answer my question about which FA product you are using.

Good luck!

Megha
while lscpu command I got 
Architecture:          aarch64

I am not using friendlyArm product. I am using different board.
And for tslib source I clone it from below site: 

http://tuxamito.com/wiki/index.php/Build_Tslib_for_ARM