Some Linux help needed please: trying to configure a touch screen

Posted by: BartDG

Some Linux help needed please: trying to configure a touch screen - 08/09/2014 18:47

Hi all,

Some of you might remember this post about me trying to get my touch screen working with a Raspberry Pi. The idea is to use this touch screen as a terminal for my home automation system.

I eventually got it to work, but it turned out the RPi lacked the horsepower to make this a success. Navigating was painfully slow, so I decided to try something else and turned the RPi into an XBMC machine.
So then I tried an ODROID U3, a Banana Pi and a Cubieboard 3. All those were powerful enough to do what I wanted them to do, some even came with Android pre-installed. But they also all failed me, because they were not able to feed the touch screen a proper video signal, so it didn't work. As it turned out, these things works great with a recent tv or monitor, as long as you've got a HDMI interface. My touch screen has only got VGA and DVI, and a converter didn't work. Trust me, I tried several.

So then I decided to bite the bullet and I bought new mini-ITX board with a recent Intel Atom on it (J1900) and 4GB of RAM. I still had a leftover Intel SSD drive laying around, so I was able to set up a completely silent mini-PC. The whole idea was to put Linux on it, AND an Android emulator, which could then run the Android app of my home automation on it. That would be sweet.

So I started by putting the most recent version of Linux Mint (XFCE) on it. That all went pretty smooth. The touch screen was even detected out of the box. Sweet. The only problem is, the calibration is way off. I remembered this from the RPi setup, and I got the "xinput_configuration" utility working. But, as opposed to with the RPi, even after calibration, the screen still is not usable. Bummer.

I figured maybe the drivers weren't very recent. So I checked the eGalax website, and found pretty recent drivers for this model. But now the challenge is getting this driver installed. I was already stumped on page 3, where it tells me to use "make menuconfig" to install and remove a couple of things befor I can install the driver. Whatever I've tried so far hasn't worked. How can I do this?

I would really appreciate it if somebody in the know could have a look at this driver package and give me a few pointers. In the ZIP file you'll find a file called "EETI_eGTouch_Linux_Programming_Guide_v2.5f.PDF" in the /Guide directory which is a how-to for installing this driver.

Thanks a lot!
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 08:09

Still no further. Whenever I type the command "make menuconfig", I get the message : "make: *** There is no rule to make target 'menuconfig'. Stopped"

I tried Googling, but came up empty. The only thing I could find was somebody have similar problems, but didn't understand the solution. blush I did figure that it had something to do with 64bit vs 32bit , so then I installed 32bit Xubuntu. Unfortunately with the same result. frown

I'm now seriously considering purchasing a Windows 8 licence, but this seems such a stupid cost since this system will only be used for one thing. Then again, my time is not limitless and it's clear I'm trying something above my understanding here.

I would love to be able to find some sort of course which could explain the in-depths of Linux more to me. So far I've never found one. It can't all be trial and error for sure? I actually did do a Linux course for two years, but that emphasized on the desktop use, while I know the real power is in the command line and that's what I'm more interested in. Everytime I try this, it ends the same: I'm in awe about the long command line functions, with often lots of parameters and flags. Every time I think then: "how does someone know and remember this? How does someone put such long commands together? There must be a system to it?" But so far, I've never been able to untangle that system.

I read an interview with Linus Torvalds last month, in which he says the desktop really is the only market where Linux still plays second (or third) fiddle and he still believes this may change in the future. Well Linus, I'm not saying it's got to become "Apple-simple", but it does need to become simpler than this for this to succeed. I consider myself a power user, but this is really above my understanding (and I hate it! frown )

Help? blush grin
Posted by: mtempsch

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 09:30

Originally Posted By: Archeon
Whenever I type the command "make menuconfig", I get the message : "make: *** There is no rule to make target 'menuconfig'. Stopped"


From vague memories - been quite a while since I built anything using make, but IIRC that'd mean that there's no section in the makefile that describes what is supposed to be done in the case make is called with the argument 'menuconfig'. Might be that your makefile's been mangled...

As to those impressive command lines - you know and remember what you use...
Over time you find and learn what various tools there are and what they in general do, switch details and detailed behaviour is found in the man-pages.
Often, at least for me, the long command lines are grown in stages, ie run first part and see what you get out, figure out what is needed to process that output further into the next stage, tack on that command, rinse and repeat until you have the wanted final output. It's programming, only that the stages are stacked horizontally and separated by pipes (|)rather than vertically and by newlines.
the various command line programs are essentially the same as functions in a programming language.
The shell, just like plain C, offers some basic functionality for loops, comditionals etc, but the power to do much, without a lot of effort/coding, lies in the function libraries / command line programs.
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 09:39

Okay, I'm pacing along. I've actually managed to run the "make menuconfig" command successfully. I've also made the necessary changes in the menu the install manual is talking about.

But now it also asks me to make changes to the source code. Now I'm completely stuck. Could somebody please help me and tell me how to do this?

The manual says:

6-1-2 Kernel source patch If your Linux kernel version is 3.8.0 upwards and using resistive or SCAP touch controller, please comment the following RED section in your source code.

/SourceCode/drivers/hid/hid-core.c
bool hid_ignore(struct hid_device *hdev)

------------------------------------------------------------------------------------------------------------------------------------------------
{

switch (hdev->vendor) {

/*case USB_VENDOR_ID_DWAV:*/
/* These are handled by usbtouchscreen. hdev->type is probably
* HID_TYPE_USBNONE, but we say !HID_TYPE_USBMOUSE to match
* usbtouchscreen. */
/*if ((hdev->product == USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER ||
hdev->product == USB_DEVICE_ID_DWAV_TOUCHCONTROLLER) &&
hdev->type != HID_TYPE_USBMOUSE)
return true;
break;*/


}

}
------------------------------------------------------------------------------------------------------------------------------------------------
After that, I need to rebuild the kernel.

Could somebody please help me with this? Where so I make these changes and how do I rebuild the kernel?

Thanks!!
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 09:43

Thanks for your help Michael. In my search I was finally able to run the "make menuconfig" command in the /usr/src/linux* directory. It took me a while before I found that out. I know usually it's "not done" to go about editing that directory directly (I case I screw up, I could break the install), but since this is a brand new install on a new system that could be easily re-installed, I figured what the heck. smile
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 10:26

Originally Posted By: Archeon
Well Linus, I'm not saying it's got to become "Apple-simple", but it does need to become simpler than this for this to succeed.

You are NOT struggling with "the Desktop" here. Rather, you are trying to do embedded systems development without being familiar with the development environment, in the same way that I might were I trying do do this same task on a Microsoft platform.

Cheers
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 10:30

Originally Posted By: Archeon
I would love to be able to find some sort of course which could explain the in-depths of Linux more to me.


Simple: Visit The Linux Foundation site and click on the Training tab. RedHat also has a solid curriculum of their own, as do some other Linux vendors.

Your local book store probably has a dozen or so introductory volumes for Linux and Linux Development as well.

Cheers
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 10:43

Wow.. so I just now downloaded the "driver" (not really a "driver", by the way) package from http://home.eeti.com.tw/LinuxDriverDownload.html to have a look.

It's HORRID!! The instructions given are incredibly complex for something so simple. Like they were translated from one language to another, to a third, and finally to English.

And even allowing for Lost In Translation effects, they're just so bizarre in what they want one to do. This isn't Linux, this is just a company with clueless developers or doc writers.

I don't see why they have you reconfiguring the kernel in the first place, since their package doesn't actually include a kernel driver or code -- it appears to just use stuff that is already built-into your kernel.

My sympathies to you.. Good Luck!
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 10:47

Originally Posted By: mlord
Originally Posted By: Archeon
Well Linus, I'm not saying it's got to become "Apple-simple", but it does need to become simpler than this for this to succeed.

You are NOT struggling with "the Desktop" here. Rather, you are trying to do embedded systems development without being familiar with the development environment, in the same way that I might were I trying do do this same task on a Microsoft platform.

Ah, so this isn't something simple to do for a Linux savvy person after all? Thanks Mark, that makes me feel better about myself! smile

Originally Posted By: mlord

Simple: Visit The Linux Foundation site and click on the Training tab. RedHat also has a solid curriculum of their own, as do some other Linux vendors.

Ah! Thanks much for that, I'll have a look into it. Looks promising! smile

Originally Posted By: mlord
Wow.. so I just now downloaded the "driver" (not really a "driver", by the way) package from http://home.eeti.com.tw/LinuxDriverDownload.html to have a look.

It's HORRID!! The instructions given are incredibly complex for something so simple. Like they were translated from one language to another, to a third, and finally to English.

And even allowing for Lost In Translation effects, they're just so bizarre in what they want one to do. This isn't Linux, this is just a company with clueless developers or doc writers.

I don't see why they have you reconfiguring the kernel in the first place, since their package doesn't actually include a kernel driver or code -- it appears to just use stuff that is already built-into your kernel.

My sympathies to you.. Good Luck!

Well, that's my hope out the window right there. frown If even you can't put this into layman's terms me for, then I guess I'm totally screwed.
Oh well, Windows 8 licence here I come I guess...
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 10:58

Originally Posted By: Archeon
The manual says:
...
6-1-2 Kernel source patch If your Linux kernel version is 3.8.0 upwards and using resistive or SCAP touch controller, please comment the following RED section in your source code.
[u]
/SourceCode/drivers/hid/hid-core.c
..
switch (hdev->vendor) {

/*case USB_VENDOR_ID_DWAV:*/
/* These are handled by usbtouchscreen. hdev->type is probably
* HID_TYPE_USBNONE, but we say !HID_TYPE_USBMOUSE to match
* usbtouchscreen. */
/*if ((hdev->product == USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER ||
hdev->product == USB_DEVICE_ID_DWAV_TOUCHCONTROLLER) &&
hdev->type != HID_TYPE_USBMOUSE)
return true;
break;*/



Ugh.. You don't really want to do that.
There's a whole mess of stuff that their "instructions" leave out, such as learning to configure, rebuild, and install the modified kernel and modules afterwards.

The entire section is bogus anyway -- there's a way to achieve what that "patch" does without actually patching anything. What they are struggling to do, is to tell the kernel not to manage their device, as they instead want to (quite sensibly) do it all from the application code instead. Their problem is, they know about as much about Linux development as you do. Next to nothing -- no offence intended, to you anyway. smile

Gimme a sec or two to look up the simple method for this.
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 11:09

laugh Thanks a lot Mark!

I don't know if this makes any difference, but when I used the "xinput_calibrator" with the Raspberry Pi, after the calibration of the screen, the screen already worked as it should. In Mint, even after the calibration procedure, it still doesn't work. (the cursor does not follow the movements of my finger, it goes haywire)
Posted by: mtempsch

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 11:16

Originally Posted By: Archeon


The manual says:

6-1-2 Kernel source patch If your Linux kernel version is 3.8.0 upwards and using resistive or SCAP touch controller, please comment the following RED section in your source code.

/SourceCode/drivers/hid/hid-core.c
bool hid_ignore(struct hid_device *hdev)

------------------------------------------------------------------------------------------------------------------------------------------------
{

switch (hdev->vendor) {

/*case USB_VENDOR_ID_DWAV:*/
/* These are handled by usbtouchscreen. hdev->type is probably
* HID_TYPE_USBNONE, but we say !HID_TYPE_USBMOUSE to match
* usbtouchscreen. */
/*if ((hdev->product == USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER ||
hdev->product == USB_DEVICE_ID_DWAV_TOUCHCONTROLLER) &&
hdev->type != HID_TYPE_USBMOUSE)
return true;
break;*/




They're asking you to find that part of the code in the source file.
Ie the
switch (hdev->vendor) { statement, and in that switch statement, the
case USB_VENDOR_ID_DWAV:
part/section, and add the shown /* */ so that it looks like what's in the instruction.
The compiler ignores stuff between the comment markers, /*ignoredstuff*/
The same way many script language interpreters ignore everything on a line that starts with a #
You could, with the same effect, delete the lines, but adding the comment markers allows an easier 'undo' if you'll ever want to.

/* These are handled by usbtouchscreen. hdev->type is probably
* HID_TYPE_USBNONE, but we say !HID_TYPE_USBMOUSE to match
* usbtouchscreen. */

This part probably already has the /* */, as that looks like an existing comment...

Edit - overtaken by events. And if Mark says it's BS, I wouldn't bet against him smile
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 11:19

Okay, not complete yet, as I am uncertain exactly which driver they want to control the touchscreen. But a bit of experimentation might flush that out.

Here is a shell script. Save it to a file called, say, /usr/local/bin/rebind_touchscreen.sh and make it executable:

chmod a+rx /usr/local/bin/rebind_touchscreen.sh

Then run it and see what it does. Maybe even post the output here. I have "debug trace" (aka. "set -x") enabled in the script to help with things.

Code:
#!/bin/bash
set -x
#
# Tell usbtouchscreen driver to not manage the touchscreen.
# Then tell the hid-generic driver to take it over,
# so that it can be run from userspace, ala libusb.

# Note: "hid" stands for "Human Interface Device".

USBTOUCHSCREEN=/sys/bus/hid/drivers/usbtouchscreen
HID=/sys/bus/hid/drivers/hid-generic

modprobe hid-generic
modprobe usbtouchscreen

if [ -d $HID -a -e $USBTOUCHSCREEN/unbind ]; then
        cd $USBTOUCHSCREEN
        for dev in [0-9]*[-0-9A-F] ; do
                if [ -e "$dev" ]; then
                        echo "$dev" > unbind
                        echo "$dev" > $HID/bind
                fi
        done
fi
exit 0


The uncertainty, is exactly which USB driver needs to be given ownership of the touchscreen. I'm guessing at "hid-generic", but it might instead be "usbhid" or even just plain "hid". That subsystem confuses me, even though I have written (and actively support) some drivers that use the same framework.

So.. ignore all of their kernel suggestions, and just continue along with the rest of the instructions to actually get the touchscreen going. If nothing works, post more info here and I'll have another look after work.

Cheers
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 11:24

Originally Posted By: Archeon
I don't know if this makes any difference, but when I used the "xinput_configuration" with the Raspberry Pi, after the calibration of the screen, the screen already worked as it should. In Mint, even after the calibration procedure, it still doesn't work. (the cursor does not follow the movements of my finger, it goes haywire)


Mint probably has a lot more "stuff" installed that the RPi system, which means a lot more stuff that can go wrong. smile

What kernel version does the RPi use? Command: uname -r
And similarly, what version is your Mint using: same command!

Cheers
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 11:25

OK, I'm currently re-installing Mint to be completely sure I didn't touch anything important through that "make menuconfig" venture.

This should not take longer than 10 minutes, since I install from a USB stick. I'll immediately try your script after that. I suppose after that I just run setup.sh from their "driver" to install it?

Give me 20 minutes and I'll report back. Thanks!
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 11:30

Note: These days, if I wanted a (single) touchscreen interface for something around the home, I would probably just purchase a 5" Android smartphone from China for under $100 and use that. Maybe even write a custom app for it.

The advantages are huge: built-in wifi, USB OTG port, battery backup, rich GUI and development environment, etc.

Cheers
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 11:30

Originally Posted By: mlord

Mint probably has a lot more "stuff" installed that the RPi system, which means a lot more stuff that can go wrong. smile

Xubuntu showed the same problem. smile I opted to re-install Mint though, because it felt faster to me.

Originally Posted By: mlord

What kernel version does the RPi use? Command: uname -r
And similarly, what version is your Mint using: same command!

For the RPi I couldn't say : it's hooked up to my TV set upstairs and I'd have to connect a keyboard onto it to do that. (it's an XBMC Pi now, for which I don't need a keyboard - works great by the way) Do you really need to know this? If so, I'll run upstairs.

Mint uses 3.13.0-24-generic


Cheers [/quote]
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 11:31

Originally Posted By: Archeon
Give me 20 minutes and I'll report back. Thanks!


I'm off to work now.. so play around and post the output from that script.

Cheers
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 11:35

Script output:

Code:
# /usr/local/bin $ rebind_touchscreen.sh
+ USBTOUCHSCREEN=/sys/bus/hid/drivers/usbtouchscreen
+ HID=/sys/bus/hid/drivers/hid-generic
+ modprobe hid-generic
+ modprobe usbtouchscreen
+ '[' -d /sys/bus/hid/drivers/hid-generic -a -e /sys/bus/hid/drivers/usbtouchscreen/unbind ']'
+ exit 0


I then ran their setup.sh file. Didn't work, this is what it said:
Code:
(Q) Which interface controller do you use?
(I) [1] RS232 [2] USB [3] PS2 : 2   
(I) Please confirm the touch controller is linked with your device. Press [Enter] key to continue..........

(I) Found /etc/rc.local file.
(W) Found a non-HID compliant touch controller.
(W) This driver doesn't support non-HID touch controller.
(W) Please update touch driver.
(E) The driver archive has been removed already.
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 11:37

Originally Posted By: mlord
Note: These days, if I wanted a (single) touchscreen interface for something around the home, I would probably just purchase a 5" Android smartphone from China for under $100 and use that. Maybe even write a custom app for it.

The advantages are huge: built-in wifi, USB OTG port, battery backup, rich GUI and development environment, etc.

Cheers

I know and I agree. I can control my home automation with my phone, that's not the issue.
It's just that I already bought this screen several years ago (before being able to control it with my phone), with the intention of implementing it into my living room. Even cut a hole in the wall especially for it. It's been 5 years now, and I would really like to start using it. smile
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 12:15

Originally Posted By: Archeon
Script output:

Code:
# /usr/local/bin $ rebind_touchscreen.sh
+ USBTOUCHSCREEN=/sys/bus/hid/drivers/usbtouchscreen
+ HID=/sys/bus/hid/drivers/hid-generic
+ modprobe hid-generic
+ modprobe usbtouchscreen
+ '[' -d /sys/bus/hid/drivers/hid-generic -a -e /sys/bus/hid/drivers/usbtouchscreen/unbind ']'
+ exit 0


Okay, so the script didn't find the device. I wondered if it would or not. smile
If you can still set it up on the RPi board, that would be useful to help puzzle out the basics for me. Once set up there, post the output from this:

ls -lF /sys/bus/hid/drivers/*

And maybe do the same for the Mint system first. EDIT: do this on the Mint system before issuing that command:
modprobe usbtouchscreen hid-generic
Posted by: K447

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 12:26

Originally Posted By: Archeon
... I already bought this screen several years ago ... It's been 5 years now ...
Perhaps you could imagine you had never bought that five year old technology touch screen.

What would you be buying today, instead?

Buy that, move on.
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 13:04

Ok, this took me a while to set back up (and find the right SD card back - fortunatly it still works... with this image the touch screen functions properly.

Ok, here is the output:

Code:

pi@raspberrypi ~ $ ls -lF /sys/bus/hid/drivers/*
/sys/bus/hid/drivers/hid-generic:
totaal 0
--w------- 1 root root 4096 sep  9 17:01 bind
--w------- 1 root root 4096 sep  9 17:01 new_id
--w------- 1 root root 4096 sep  9 17:01 uevent
--w------- 1 root root 4096 sep  9 17:01 unbind

/sys/bus/hid/drivers/logitech-djdevice:
totaal 0
lrwxrwxrwx 1 root root    0 sep  9 17:01 0003:046D:C52B.0004 -> ../../../../devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.2/0003:046D:C52B.0003/0003:046D:C52B.0004/
lrwxrwxrwx 1 root root    0 sep  9 17:01 0003:046D:C52B.0005 -> ../../../../devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.2/0003:046D:C52B.0003/0003:046D:C52B.0005/
--w------- 1 root root 4096 sep  9 17:01 bind
lrwxrwxrwx 1 root root    0 sep  9 17:01 module -> ../../../../module/hid_logitech_dj/
--w------- 1 root root 4096 sep  9 17:01 new_id
--w------- 1 root root 4096 sep  9 17:01 uevent
--w------- 1 root root 4096 sep  9 17:01 unbind

/sys/bus/hid/drivers/logitech-djreceiver:
totaal 0
lrwxrwxrwx 1 root root    0 sep  9 17:01 0003:046D:C52B.0003 -> ../../../../devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.2/0003:046D:C52B.0003/
--w------- 1 root root 4096 sep  9 17:01 bind
lrwxrwxrwx 1 root root    0 sep  9 17:01 module -> ../../../../module/hid_logitech_dj/
--w------- 1 root root 4096 sep  9 17:01 new_id
--w------- 1 root root 4096 sep  9 17:01 uevent
--w------- 1 root root 4096 sep  9 17:01 unbind


I'll now hook the Mint box back on and issue that same command.
The result:
Code:
er@desktop ~ $ modprobe usbtouchscreen hid-generic
er@desktop ~ $ 
er@desktop ~ $ ls -lF /sys/bus/hid/drivers/*
totaal 0
lrwxrwxrwx 1 root root    0 sep  9 17:07 0003:0D62:001C.0002 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/0003:0D62:001C.0002/
lrwxrwxrwx 1 root root    0 sep  9 17:07 0003:0D62:001C.0003 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.1/0003:0D62:001C.0003/
lrwxrwxrwx 1 root root    0 sep  9 17:07 0003:413C:3012.0001 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:413C:3012.0001/
--w------- 1 root root 4096 sep  9 17:07 bind
lrwxrwxrwx 1 root root    0 sep  9 17:07 module -> ../../../../module/hid_generic/
--w------- 1 root root 4096 sep  9 17:07 new_id
--w------- 1 root root 4096 sep  9 17:06 uevent
--w------- 1 root root 4096 sep  9 17:07 unbind



Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 13:18

Originally Posted By: K447
Originally Posted By: Archeon
... I already bought this screen several years ago ... It's been 5 years now ...
Perhaps you could imagine you had never bought that five year old technology touch screen.

What would you be buying today, instead?

Buy that, move on.

I don't think I would buy it today if that is what you mean. But back in the days when I bought it, smartphones were almost non-existent, let alone anybody could predict what their possibilities would be in the future. (like eg. controlling the home automation)
But now the house is finally coming together, and this is one of those things on the "to do" list. Hardly imperative, since I can command my home automation with my phone and iPad as said... but I have it, it cost me 600 euro back in the days and I would like to be able to use it now. It will add an additional level of comfort. Besides, it's been sitting in my wall for years now and everybody that comes in bugs me with a "hell, did you get that thing to work already?" crazy
Posted by: K447

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 13:45

Originally Posted By: Archeon
I don't think I would buy it today ...

... I can command my home automation with my phone and iPad ...

... it cost me 600 euro back in the days ...
Is that a sunk cost fallacy perspective?
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 14:11

No, more of a "I would like to finally be able to use this thing" kind of perspective.
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 19:19

Well, crap.. gave you the wrong command earlier. Apologies.

Try this instead: find /sys/bus/hid/drives -ls

That should give similar output, except with the full pathnames included (which is what I really wanted).

Thanks
Posted by: Shonky

Re: Some Linux help needed please: trying to configure a touch screen - 09/09/2014 22:31

Originally Posted By: mlord
Originally Posted By: Archeon
Well Linus, I'm not saying it's got to become "Apple-simple", but it does need to become simpler than this for this to succeed.

You are NOT struggling with "the Desktop" here. Rather, you are trying to do embedded systems development without being familiar with the development environment, in the same way that I might were I trying do do this same task on a Microsoft platform.

Cheers


I disagree. He's trying to install a driver which is a reasonable exercise for the desktop. I know you could install a Windows driver no problem. The fact that Linux sometimes requires compilation of kernel modules etc makes Linux a difficult proposition for many. To be user friendly, the command line should not be required for simple tasks like this.

Even if this particular driver is a mess that shouldn't really come into it. Maybe they shouldn't be pushing the user to do this low level "development" just to get a driver/hardware working.
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 10/09/2014 03:54

Originally Posted By: mlord
Well, crap.. gave you the wrong command earlier. Apologies.

Try this instead: find /sys/bus/hid/drives -ls

That should give similar output, except with the full pathnames included (which is what I really wanted).

Thanks

I'm at work right now (it's 8 AM here now), but when I get home tonight it'll be the first thing I do! Thanks!

Edit: do I also need to redo that "modprobe usbtouchscreen hid-generic" command before?
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 10/09/2014 04:16

Originally Posted By: Shonky

I disagree. He's trying to install a driver which is a reasonable exercise for the desktop. I know you could install a Windows driver no problem. The fact that Linux sometimes requires compilation of kernel modules etc makes Linux a difficult proposition for many. To be user friendly, the command line should not be required for simple tasks like this.

Even if this particular driver is a mess that shouldn't really come into it. Maybe they shouldn't be pushing the user to do this low level "development" just to get a driver/hardware working.

Well, yes, that was what I meant. The Linux desktop itself isn't harder at all than a Windows one. Some things are even easier, like installing programs (with the help of the repositories). But when it comes to installing drivers or hardware that is not supported out of the box it's often not so simple, unfortunately. There seem to be multiple ways of doing the same thing, which may be a good thing if you're really techie, but it scares normal users away. There really should be a uniform way of installing drivers in Linux too. Mark will probaby now say "there is" smile , but the problem is there are always loopholes to do it in a different way, so the uniformity is compromised. (and sloppy programmers like the ones that made the driver for my touch screen get away easy). IMO they should develop a truly uniform way to do this, and also make it impossible to do it otherwise. But I don't know if this is even possible anymore due to the open nature of Linux.

That said, this whole endevour has given me the opportunity (or better: a new reason wink ) to tinker with a Linux distro I've never used before (in this case Mint). I must say I really like it. It's got a pretty familiar feeling to it and all I've tried (well, with the exception of getting that friggin' touch screen working) works really well. I think I'll play around with it some more. smile
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 10/09/2014 11:38

All I know, is that I haven't had to "install a driver" on Linux for at least 10 years or so (other than drivers I am developing). Yet the Microsoft users around me are continually struggling to get basic hardware (SATA controllers, USB3 adapters, USB devices, etc..) working with their machines. Example: android phone/tablets.. driverless for Linux, horridly complex on Windows.

But once in a while, yeah, somebody does have to "install a driver" on Linux. And like Microsoft systems, how easy or difficult that is, depends on the hardware vendor supplying the driver. Except on Linux, it doesn't normally include 100MB+ of bloatware along with the driver.

Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 10/09/2014 16:15

Ok, another try... here's the resullt of the Pi:
Code:

pi@raspberrypi ~ $ find /sys/bus/hid/drivers -ls
  2947    0 drwxr-xr-x   5 root     root            0 sep 10 20:20 /sys/bus/hid/drivers
  2950    0 drwxr-xr-x   2 root     root            0 sep 10 20:20 /sys/bus/hid/drivers/hid-generic
  2953    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/hid-generic/bind
  2954    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/hid-generic/new_id
  2951    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/hid-generic/uevent
  2952    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/hid-generic/unbind
  3683    0 drwxr-xr-x   2 root     root            0 sep 10 20:20 /sys/bus/hid/drivers/logitech-djreceiver
  3718    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/logitech-djreceiver/bind
  3713    0 lrwxrwxrwx   1 root     root            0 sep 10 20:20 /sys/bus/hid/drivers/logitech-djreceiver/module -> ../../../../module/hid_logitech_dj
  3719    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/logitech-djreceiver/new_id
  3684    0 lrwxrwxrwx   1 root     root            0 sep 10 20:20 /sys/bus/hid/drivers/logitech-djreceiver/0003:046D:C52B.0003 -> ../../../../devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.2/0003:046D:C52B.0003
  3716    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/logitech-djreceiver/uevent
  3717    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/logitech-djreceiver/unbind
  3720    0 drwxr-xr-x   2 root     root            0 sep 10 20:20 /sys/bus/hid/drivers/logitech-djdevice
  3725    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/logitech-djdevice/bind
  3721    0 lrwxrwxrwx   1 root     root            0 sep 10 20:20 /sys/bus/hid/drivers/logitech-djdevice/module -> ../../../../module/hid_logitech_dj
  3726    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/logitech-djdevice/new_id
  3733    0 lrwxrwxrwx   1 root     root            0 sep 10 20:20 /sys/bus/hid/drivers/logitech-djdevice/0003:046D:C52B.0004 -> ../../../../devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.2/0003:046D:C52B.0003/0003:046D:C52B.0004
  4281    0 lrwxrwxrwx   1 root     root            0 sep 10 20:20 /sys/bus/hid/drivers/logitech-djdevice/0003:046D:C52B.0005 -> ../../../../devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.2/0003:046D:C52B.0003/0003:046D:C52B.0005
  3723    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/logitech-djdevice/uevent
  3724    0 --w-------   1 root     root         4096 sep 10 20:20 /sys/bus/hid/drivers/logitech-djdevice/unbind


And the result of the Mint box:
Code:
er@desktop ~ $ modprobe usbtouchscreen hid-generic
er@desktop ~ $ find /sys/bus/hid/drivers -ls
 16869    0 drwxr-xr-x   3 root     root            0 sep 10 20:23 /sys/bus/hid/drivers
 16960    0 drwxr-xr-x   2 root     root            0 sep 10 20:23 /sys/bus/hid/drivers/hid-generic
 17057    0 --w-------   1 root     root         4096 sep 10 20:25 /sys/bus/hid/drivers/hid-generic/bind
 16961    0 lrwxrwxrwx   1 root     root            0 sep 10 20:25 /sys/bus/hid/drivers/hid-generic/0003:413C:3012.0001 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:413C:3012.0001
 17271    0 lrwxrwxrwx   1 root     root            0 sep 10 20:25 /sys/bus/hid/drivers/hid-generic/0003:0D62:001C.0002 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/0003:0D62:001C.0002
 17400    0 lrwxrwxrwx   1 root     root            0 sep 10 20:25 /sys/bus/hid/drivers/hid-generic/0003:0D62:001C.0003 -> ../../../../devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.1/0003:0D62:001C.0003
 17052    0 lrwxrwxrwx   1 root     root            0 sep 10 20:25 /sys/bus/hid/drivers/hid-generic/module -> ../../../../module/hid_generic
 17058    0 --w-------   1 root     root         4096 sep 10 20:25 /sys/bus/hid/drivers/hid-generic/new_id
 17055    0 --w-------   1 root     root         4096 sep 10 20:23 /sys/bus/hid/drivers/hid-generic/uevent
 17056    0 --w-------   1 root     root         4096 sep 10 20:25 /sys/bus/hid/drivers/hid-generic/unbind


Again, thanks for all your help Mark!
Posted by: mlord

Re: Some Linux help needed please: trying to configure a touch screen - 10/09/2014 18:08

That's odd. The touchscreen doesn't appear to show up there on either system, Did you have in a workable state on the RPi when you dumped that info?

Oh well. I could probably help a lot more if I had one here to sort out my lack of basic knowledge of the unit. Such a pity that the manufacturer doesn't provide a decent Linux install script for it, or hasn't bothered to get plug-and-play support into the kernel you're running.

Weird that the RPi kernel gets it fine though -- Linux is Linux, but perhaps the RPi has some extra patches for stuff like that (which makes sense).

Cheers
Posted by: BartDG

Re: Some Linux help needed please: trying to configure a touch screen - 10/09/2014 19:03

Yes, I also switched the USB cable of the touch screen to either the RPi and the Mint box and I tested it if it worked (albeit not calibrated) before I ran the commands.

I must admit: I also find it strange why the "xinput calibrator" works just fine on the RPi, but it doesn't succeed in calibrating the same screen correctly in Mint...When I run it in Mint, the cursor remains in the 4 corners when in tap it in the area of the corner, but is not able to reach the rest of the screen...

So I guess this is it: the only option I have left is to cave in and buy a Windows licence. I would have preferred avoiding this, but I guess I have no other choice now. Oh well...

Thanks a lot for all your help!