eGalax Touchscreen on Debian 11, libinput playing with me

So maybe a rather esoteric problem, but I’ll post what I’m experiencing. I have a Debian 11 system that I upgraded from Debian 9. I got the latest driver from eGalax (eGalaxTouch Linux Driver - specifically https://www.eeti.com/touch_driver/Linux/20220318/eGTouch_v2.5.10703.L-x.tar.gz) and am running the latest kernel. It is a serial touchscreen assigned to /dev/ttyS3 and I can cat that file, touch the screen and get binary output.

Linux 00187da19e9d 5.10.0-13-amd64 #1 SMP Debian 5.10.106-1 (2022-03-17) x86_64 GNU/Linux

These installed packages may be relevant:

ii  xserver-xorg-input-all          1:7.7+22                         amd64        X.Org X server -- input driver metapackage
ii  xserver-xorg-input-libinput     0.30.0-1                         amd64        X.Org X server -- libinput input driver
ii  libinput-bin                    1.16.4-3                         amd64        input device management and event handling library - udev quirks
ii  libinput-dev:amd64              1.16.4-3                         amd64        input device management and event handling library - development files
ii  libinput-tools                  1.16.4-3                         amd64        input device management and event handling library - command line tools
ii  libinput10:amd64                1.16.4-3                         amd64        input device management and event handling library - shared library
ii  libevdev-dev:amd64              1.11.0+dfsg-1                    amd64        wrapper library for evdev devices - development files
ii  libevdev2:amd64                 1.11.0+dfsg-1                    amd64        wrapper library for evdev devices
ii  python3-libevdev                0.5-3                            all          Python 3 wrapper for libevdev

I have run the setup script and tried the both the libinput and non libinput versions of their xorg.conf. I have little understanding of linux input devices and xorg configs.

# /usr/share/X11/xorg.conf.d/52-egalax-virtual-libinput.conf
Section "InputClass"
	Identifier "eGalax touch class"
	MatchProduct "eGalax Inc.|Touchkit|eGalax_eMPIA Technology Inc."
	MatchDevicePath "/dev/input/event*"
	Driver "void"
	Option "Ignore"
EndSection

Section "InputClass"
	Identifier "eGalax mouse class"
	MatchProduct "eGalax Inc.|Touchkit|eGalax_eMPIA Technology Inc.|eGalaxTouch Virtual Device"
	MatchDevicePath "/dev/input/mouse*"
	Driver "void"
	Option "Ignore"
EndSection

Section "InputClass"
	Identifier "eGalax joystick class"
	MatchProduct "eGalax Inc.|Touchkit|eGalaxTouch Virtual Device"
	MatchDevicePath "/dev/input/js*"
	Driver "void"
	Option "Ignore"
EndSection

Section "InputClass"
	Identifier "eGalax virtual class"
	MatchProduct "eGalaxTouch Virtual Device"
	MatchDevicePath "/dev/input/event*"
	Driver "libinput"
EndSection

Also this, seemingly confirmed useless udev rule:

# /etc/udev/rules.d/99-egalax-udev.rules
ACTION=="add", ENV{ID_VENDOR_ID}=="0eef", ENV{ID_INPUT}=""

The best part is that there is a closed source daemon and service called eGTouchD running, I wonder if that is messing with it somehow.

X11 stuff

When looking in /var/log/Xorg.0.log I am seeing the following recurring over and over:

[   735.737] (II) config/udev: Adding input device eGalaxTouch Virtual Device for Single (/dev/input/mouse0)
[   735.737] (**) eGalaxTouch Virtual Device for Single: Ignoring device from InputClass "eGalax mouse class"
[   735.737] (II) config/udev: Adding input device eGalaxTouch Virtual Device for Single (/dev/input/js0)
[   735.737] (**) eGalaxTouch Virtual Device for Single: Ignoring device from InputClass "eGalax joystick class"
[   735.779] (II) config/udev: Adding input device eGalaxTouch Virtual Device for Single (/dev/input/event9)
[   735.779] (**) eGalaxTouch Virtual Device for Single: Applying InputClass "libinput pointer catchall"
[   735.779] (**) eGalaxTouch Virtual Device for Single: Applying InputClass "eGalax virtual class"
[   735.779] (**) eGalaxTouch Virtual Device for Single: Applying InputClass "eGalax virtual class"
[   735.779] (II) Using input driver 'libinput' for 'eGalaxTouch Virtual Device for Single'
[   735.779] (**) eGalaxTouch Virtual Device for Single: always reports core events
[   735.779] (**) Option "Device" "/dev/input/event9"
[   735.779] (**) Option "_source" "server/udev"
[   735.780] (II) event9  - eGalaxTouch Virtual Device for Single: is tagged by udev as: Mouse
[   735.780] (II) event9  - eGalaxTouch Virtual Device for Single: device is a pointer
[   735.780] (II) event9  - eGalaxTouch Virtual Device for Single: device removed
[   735.832] (**) Option "config_info" "udev:/sys/devices/virtual/input/input18/event9"
[   735.832] (II) XINPUT: Adding extended input device "eGalaxTouch Virtual Device for Single" (type: MOUSE, id 11)
[   735.832] (**) Option "AccelerationScheme" "none"
[   735.832] (**) eGalaxTouch Virtual Device for Single: (accel) selected scheme none/0
[   735.832] (**) eGalaxTouch Virtual Device for Single: (accel) acceleration factor: 2.000
[   735.832] (**) eGalaxTouch Virtual Device for Single: (accel) acceleration threshold: 4
[   735.833] (II) event9  - eGalaxTouch Virtual Device for Single: is tagged by udev as: Mouse
[   735.833] (II) event9  - eGalaxTouch Virtual Device for Single: device is a pointer

When it gets to this point, I am able to touch the screen and the mouse moves (not at the calibration point yet), but when I stop touching, about 2 seconds later I get:

[   777.465] (II) config/udev: removing device eGalaxTouch Virtual Device for Single
[   777.465] (II) event9  - eGalaxTouch Virtual Device for Single: device removed
[   777.500] (II) UnloadModule: "libinput"

This repeats over and over in the logs, so seems like the touchscreen is being removed since there’s no activity, which doesn’t quite make sense. I dug in a bit further with xinput, and found the following appears occasionally, in the time when I can visually see screen touches affecting the mouse cursor:

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ eGalaxTouch Virtual Device for Single   	id=11	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ USB2.0 Video Camera: USB2.0 Vid         	id=9	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=10	[slave  keyboard (3)]

ID=11 is constantly being added and removed every 30 odd seconds (unless I am touching the touchscreen to send activity on the serial line).

Libinput

So digging a bit deeper I added the libinput command, and ran libinput debug-events:

-event2   DEVICE_ADDED     Power Button                      seat0 default group1  cap:k
-event5   DEVICE_ADDED     Video Bus                         seat0 default group2  cap:k
-event1   DEVICE_ADDED     Power Button                      seat0 default group3  cap:k
-event4   DEVICE_ADDED     USB2.0 Video Camera: USB2.0 Vid   seat0 default group4  cap:k
-event0   DEVICE_ADDED     AT Translated Set 2 keyboard      seat0 default group5  cap:k

-event9   DEVICE_ADDED     eGalaxTouch Virtual Device for Single seat0 default group6  cap:p left scroll-nat calib
 event9   DEVICE_REMOVED   eGalaxTouch Virtual Device for Single seat0 default group6  cap:p

-event9   DEVICE_ADDED     eGalaxTouch Virtual Device for Single seat0 default group7  cap:p left scroll-nat calib
 event9   DEVICE_REMOVED   eGalaxTouch Virtual Device for Single seat0 default group7  cap:p
-event9   DEVICE_ADDED     eGalaxTouch Virtual Device for Single seat0 default group8  cap:p left scroll-nat calib
 event9   POINTER_MOTION_ABSOLUTE +133.449s	 61.62/ 42.48
 event9   POINTER_MOTION_ABSOLUTE +133.449s	 61.52/ 42.48
 event9   POINTER_MOTION_ABSOLUTE +133.473s	 61.33/ 43.55
 event9   DEVICE_REMOVED   eGalaxTouch Virtual Device for Single seat0 default group8  cap:p

You can see it being removed after I stop touching it.

Dmesg

Finally, in line with the additions/removals I’m seeing this constantly repeated in dmesg:

[   13.209696] input: eGalaxTouch Virtual Device for Single as /devices/virtual/input/input9
[   39.980094] input: eGalaxTouch Virtual Device for Single as /devices/virtual/input/input10
[   66.714542] input: eGalaxTouch Virtual Device for Single as /devices/virtual/input/input11
[   85.238652] input: eGalaxTouch Virtual Device for Single as /devices/virtual/input/input12
[  153.162989] input: eGalaxTouch Virtual Device for Single as /devices/virtual/input/input13

As I said, I have a giant blindspot in this area, but I’m still digging and learning.

Thanks for coming to my TED talk.

1 Like

Updates

udev

Also found that udev is adding/removing the same info from it’s database on the same cycle as running udevadm info --export-db | grep egalax -i -B 6 -A 100 will show the relevant info at the time when the device is present in the libinput/xinput etc.

P: /devices/virtual/input/input17
L: 0
E: DEVPATH=/devices/virtual/input/input17
E: SUBSYSTEM=input
E: PRODUCT=6/eef/1/1
E: NAME="eGalaxTouch Virtual Device for Single"
E: PHYS="/dev/ttyS3"
E: PROP=2
E: EV=b
E: KEY=30000 0 0 0 0
E: ABS=1b
E: MODALIAS=input:b0006v0EEFp0001e0001-e0,1,3,k110,111,ra0,1,3,4,mlsfw
E: USEC_INITIALIZED=338495392
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_SERIAL=noserial
E: TAGS=:seat:
E: CURRENT_TAGS=:seat:

P: /devices/virtual/input/input17/event9
N: input/event9
L: 0
E: DEVPATH=/devices/virtual/input/input17/event9
E: SUBSYSTEM=input
E: DEVNAME=/dev/input/event9
E: MAJOR=13
E: MINOR=73
E: USEC_INITIALIZED=338563544
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_SERIAL=noserial
E: LIBINPUT_DEVICE_GROUP=6/eef/1:/dev/ttyS3

P: /devices/virtual/input/input17/js0
N: input/js0
L: 0
E: DEVPATH=/devices/virtual/input/input17/js0
E: SUBSYSTEM=input
E: DEVNAME=/dev/input/js0
E: MAJOR=13
E: MINOR=0
E: USEC_INITIALIZED=338497738
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_SERIAL=noserial

P: /devices/virtual/input/input17/mouse0
N: input/mouse0
L: 0
E: DEVPATH=/devices/virtual/input/input17/mouse0
E: SUBSYSTEM=input
E: DEVNAME=/dev/input/mouse0
E: MAJOR=13
E: MINOR=32
E: USEC_INITIALIZED=338496512
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_SERIAL=noserial

udev rule

The aforementioned udev rule is useless, as commenting it out has no effect.

eGTouchD daemon

I tried stopping this and disabling it, and found it does stop the touchscreen being detected at all.

eGTouchD daemon ini file

It contains an ini file but messing with it seems to in any way seems to break everything.

I tried changing the baud rate to 9600 (which the manual says the serial type of touchscreen is), but it does nothing and dmesg still reports ttyS3 as having baud 115200.

[    0.947274] 00:08: ttyS3 at I/O 0x2e8 (irq = 7, base_baud = 115200) is a 16550A

evdev

I tried installing the evdev driver:

ii  libevdev-dev:amd64              1.11.0+dfsg-1                    amd64        wrapper library for evdev devices - development files
ii  libevdev-tools                  1.11.0+dfsg-1                    amd64        wrapper library for evdev devices - tools
ii  libevdev2:amd64                 1.11.0+dfsg-1                    amd64        wrapper library for evdev devices
ii  python3-libevdev                0.5-3                            all          Python 3 wrapper for libevdev
ii  xserver-xorg-input-evdev        1:2.10.6-2                       amd64        X.Org X server -- evdev input driver
ii  xserver-xorg-input-evdev-dev    1:2.10.6-2                       all          X.Org X server -- evdev input driver (development headers)

and used an xorg config for evdev:

Section "InputClass"
	Identifier "eGalax touch class"
	MatchProduct "eGalax Inc.|Touchkit|eGalax_eMPIA Technology Inc."
	MatchDevicePath "/dev/input/event*"
	Driver "void"
	Option "Ignore"
EndSection

Section "InputClass"
	Identifier "eGalax mouse class"
	MatchProduct "eGalax Inc.|Touchkit|eGalax_eMPIA Technology Inc.|eGalaxTouch Virtual Device"
	MatchDevicePath "/dev/input/mouse*"
	Driver "void"
	Option "Ignore"
EndSection

Section "InputClass"
	Identifier "eGalax joystick class"
	MatchProduct "eGalax Inc.|Touchkit|eGalaxTouch Virtual Device"
	MatchDevicePath "/dev/input/js*"
	Driver "void"
	Option "Ignore"
EndSection

Section "InputClass"
	Identifier "eGalax virtual class"
	MatchProduct "eGalaxTouch Virtual Device"
	MatchDevicePath "/dev/input/event*"
	Driver "evdev"
EndSection

But now it just unloads the evdev driver in the xorg log:

[   587.464] (II) config/udev: Adding input device eGalaxTouch Virtual Device for Single (/dev/input/mouse0)
[   587.464] (**) eGalaxTouch Virtual Device for Single: Ignoring device from InputClass "eGalax mouse class"
[   587.466] (II) config/udev: Adding input device eGalaxTouch Virtual Device for Single (/dev/input/js0)
[   587.466] (**) eGalaxTouch Virtual Device for Single: Ignoring device from InputClass "eGalax joystick class"
[   587.507] (II) config/udev: Adding input device eGalaxTouch Virtual Device for Single (/dev/input/event9)
[   587.507] (**) eGalaxTouch Virtual Device for Single: Applying InputClass "evdev pointer catchall"
[   587.507] (**) eGalaxTouch Virtual Device for Single: Applying InputClass "libinput pointer catchall"
[   587.507] (**) eGalaxTouch Virtual Device for Single: Applying InputClass "eGalax virtual class"
[   587.507] (II) Using input driver 'evdev' for 'eGalaxTouch Virtual Device for Single'
[   587.507] (**) eGalaxTouch Virtual Device for Single: always reports core events
[   587.507] (**) evdev: eGalaxTouch Virtual Device for Single: Device: "/dev/input/event9"
[   587.507] (--) evdev: eGalaxTouch Virtual Device for Single: Vendor 0xeef Product 0x1
[   587.507] (--) evdev: eGalaxTouch Virtual Device for Single: Found 3 mouse buttons
[   587.507] (--) evdev: eGalaxTouch Virtual Device for Single: Found absolute axes
[   587.507] (--) evdev: eGalaxTouch Virtual Device for Single: Found x and y absolute axes
[   587.507] (--) evdev: eGalaxTouch Virtual Device for Single: Found absolute touchscreen
[   587.507] (II) evdev: eGalaxTouch Virtual Device for Single: Configuring as touchscreen
[   587.507] (**) evdev: eGalaxTouch Virtual Device for Single: YAxisMapping: buttons 4 and 5
[   587.507] (**) evdev: eGalaxTouch Virtual Device for Single: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[   587.507] (**) Option "config_info" "udev:/sys/devices/virtual/input/input18/event9"
[   587.507] (II) XINPUT: Adding extended input device "eGalaxTouch Virtual Device for Single" (type: TOUCHSCREEN, id 11)
[   587.507] (II) evdev: eGalaxTouch Virtual Device for Single: initialized for absolute axes.
[   587.507] (**) eGalaxTouch Virtual Device for Single: (accel) keeping acceleration scheme 1
[   587.507] (**) eGalaxTouch Virtual Device for Single: (accel) acceleration profile 0
[   587.507] (**) eGalaxTouch Virtual Device for Single: (accel) acceleration factor: 2.000
[   587.507] (**) eGalaxTouch Virtual Device for Single: (accel) acceleration threshold: 4
... keep touching the screen at this time, to stop it being removed...
[   593.700] (II) config/udev: removing device eGalaxTouch Virtual Device for Single
[   593.724] (II) evdev: eGalaxTouch Virtual Device for Single: Close
[   593.724] (II) UnloadModule: "evdev"

As long I am touching the touchscreen and thus sending touch events, it won’t remove the device.

xinput

I was able to list the props at the time when the touchscreen was attached using xinput list-props 11:

Device 'eGalaxTouch Virtual Device for Single':
	Device Enabled (175):	1
	Coordinate Transformation Matrix (177):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (397):	0
	Device Accel Constant Deceleration (398):	1.000000
	Device Accel Adaptive Deceleration (399):	1.000000
	Device Accel Velocity Scaling (400):	10.000000
	Device Product ID (299):	3823, 1
	Device Node (298):	"/dev/input/event9"
	Evdev Axis Inversion (401):	0, 0
	Evdev Axis Calibration (402):	<no items>
	Evdev Axes Swap (403):	0
	Axis Labels (404):	"Abs X" (393), "Abs Y" (394), "Abs Rotary X" (395), "Abs Rotary Y" (396)
	Button Labels (405):	"Button Left" (178), "Button Unknown" (392), "Button Right" (180), "Button Wheel Up" (181), "Button Wheel Down" (182)
	Evdev Scrolling Distance (406):	0, 0, 0
	Evdev Middle Button Emulation (407):	0
	Evdev Middle Button Timeout (408):	50
	Evdev Middle Button Button (409):	2
	Evdev Third Button Emulation (410):	0
	Evdev Third Button Emulation Timeout (411):	1000
	Evdev Third Button Emulation Button (412):	3
	Evdev Third Button Emulation Threshold (413):	20
	Evdev Wheel Emulation (414):	0
	Evdev Wheel Emulation Axes (415):	0, 0, 4, 5
	Evdev Wheel Emulation Inertia (416):	10
	Evdev Wheel Emulation Timeout (417):	200
	Evdev Wheel Emulation Button (418):	4
	Evdev Drag Lock Buttons (419):	0

I also did the following command in this time: xinput enable 11 but it didn’t stop the inevitable unloading.

Driver logs

By chance I found the driver logs in /tmp:

[06:17:35:973]-: <Main> 
                        Thu Mar 31 06:17:35 2022
                        
[06:17:35:973]-: <Main> File: read - /etc/eGTouchL.ini
[06:17:35:973]-: <Main> Device[0] PID [null] was set to add to module.
[06:17:35:973]-: <Main> Device[1] PID [null] was set to add to module.
[06:17:35:973]-: <Main> Daemon Version: [2.5.10703]
[06:17:35:973]-: <Main> Run process as a background daemon
[06:17:35:974]-: <Main> ===============   Entering GetEnvironment   ===============
[06:17:35:974]-: <Main> Entering GetXVersion
[06:17:35:983]-: <Main> X server version=1.20.11
[06:17:35:983]-: <Main> Entering GetKernelVersion
[06:17:35:985]-: <Main> Kernel_Version = 5.10.0
[06:17:35:985]-: <Main> Entering GetCPUinfo
[06:17:35:987]-: <Main> CPU = x86_64
[06:17:35:987]-: <Main> Entering ListEETIUsbDevice
[06:17:35:001]-: <Main> ---------------  Done with GetEnvironment   ---------------
[06:17:35:001]-: <Main> Current PID = 27809
[06:17:35:002]-: <Main> Loop in endless scan
[06:17:35:002]-: <Main> Entering EndlessScanLoop
[06:17:43:912]-: <Main> Found a RS232 device at port [/dev/ttyS3]
[06:17:43:912]-: <Main> Entering AddandInitDevice
[06:17:43:912]-: <Main> DevInterface = RS232. Cmd header = 0A
[06:17:43:912]-: <Main> Leaving InitMember
[06:17:43:912]-: <Main> Entering DevIniRoutine
[06:17:43:913]-: <Main> Leave DevIniRoutine
[06:17:43:913]-: <Main> <Device thread start running>
[06:17:43:913]-: <Main> Set up SIGALRM to do stop beep. ret=0
[06:17:43:913]-: <Main> Set up SIGUSR1 handler to do thread kill. ret=0
[06:17:43:913]-: <Main> Set up SIGVTALRM handler to do monitor mapping. ret=0
[06:17:43:913]-: <Main> ==============  Entering DevGetDescriptorInfo  ==============
[06:17:47:021]-: <Main> ==============   Entering Device Info   ==============
[06:17:47:022]-: <Main> AllocateSeries: SERIES_UNKNOWN
[06:17:47:022]-: <Main> Type:UNKNOWN, Model:UNKNOWN , Version:UNKNOWN, IAP:1
[06:17:47:022]-: <Main> --------------   Done with Device Info  --------------
[06:17:48:523]-: <Main> Single point device, EventType = EETI_Multi protocol
[06:17:48:523]-: <Main> Single-uinput Device was created successfully
[06:17:50:025]-: <Main> ----------------- Device[/dev/ttyS3] Setup Done -----------------
[06:17:50:025]-: <Main> Entering DevRxLoop. Prepare to receive Points & Data

..... I can touch the screen here .......

[06:18:06:956]-: <Main> Entering DevicePnPCheck
[06:18:06:956]-: <Main> Entering IsDeviceRemoved
[06:18:08:569]-: <Main> RS232 Device [/dev/ttyS3] is removed

I can touch the screen at the point indicated and about 2 seconds after I stop, it goes to the removal stage. Rinse and repeat.

Ye olde socat

I thought I was smart. I figured if I can emulate activity on the touch screen the closed source driver wouldn’t remove it. I whipped out ye-olde socat and did the following:

/usr/bin/socat -d -d PTY,cfmakeraw,link=/dev/ttyVA00 PTY,cfmakeraw,link=/dev/ttyVB00
/usr/bin/socat -d -d /dev/ttyVA00,cfmakeraw,b9600 /dev/ttyS3,cfmakeraw,b9600

So that should have the effect of make a fake serial link, connect the touchscreen to one end (ttyVA00) and the driver to the other end (ttyVB00). Then I can feed nulls or something into ttyVA00 in order to keep traffic on the link, and thus stop it from being removed.

Although I got what I expected from ttyVB00, by catting it and touching the screen and seeing the traffic, the driver did not want to see it. It just stops at Entering EndlessScanLoop so I am guessing it is querying something from the touchscreen and socat is messing with that data somehow.

socat does work, but the driver snobs it

So still on the socat trail I started inspecting what the driver was sending to the touchscreen as part of it’s scanning routine. If I cat ttyVA00 while the driver is connected to ttyVB00 all I see is A repeated on newlines. Using hexdump I see this:

0000000 0a01 0a41 4101 010a 0a41 4101 010a 0a41
0000010 0a41 0a41 4101 010a 0a41 4101 010a 0a41
0000020 4101 010a 0a41 4101 010a 0a41 4101 010a
0000030 010a 0a41 4101 010a 0a41 4101 010a 010a
0000040 410a 010a 410a 410a 410a 010a 0a41 4101
0000050 010a 0a41 4101 010a 0a41 0a01 0a01 4101

So I tried to send this to the touchscreen by echoing A at it in a number of different ways and it responded. Doing echo -e "0x0A" > /dev/ttyS3 gives this response:

Hex:

0000000 000a 2afb f840 000a 2afb f840 000a 2afa
0000010 f988 080a 2afa f841 010a 2afb f840 000a
0000020 2afb f840 000a 2afb f840 000a 2afb f840

ASCII:

*@
*@
*A
*@
*@

And echo -e "0xA" > /dev/ttyS3 gives this response:

Hex:

0000100 fd40 4029 29fc fc40 8029 29fd fc40 4029
0000110 29fc fc40 4029 29fc fc40 4029 29fc fc40
0000120 4029 29fc fc40 4029 29fd fd40 4029 29fc

ASCII:

)@)@)@)@)@)@)@)@

The clincher is when I do this via the socat link, using ttyVB00 in place of ttyS3, it gives the exact same response. So I don’t know why the driver can’t scan it.

I’m at a dead end pretty much.

[06:17:47:022]-: AllocateSeries: SERIES_UNKNOWN
[06:17:47:022]-: Type:UNKNOWN, Model:UNKNOWN , Version:UNKNOWN, IAP:1

You may be a victim of piracy…

See I was suspecting it to be a problem since it couldn’t obtain the identifying info for serial device, whether the serial version of the touchscreen doesn’t have one, or the driver is having trouble getting it I’m not sure.

But I’m sure I have seen this identified in the Debian 6 system as eGalax in the udev database.

Not sure how it could be piracy when the driver came direct from the vendors website and the hardware runs fine under Debian 6?

I think it’s just Hesung strikes again, with a crappy closed source C driver.