You are not logged in.

#1 2017-10-16 14:04:01

schard
Forum Moderator
From: Hannover
Registered: 2016-05-06
Posts: 1,975
Website

[SOLVED] Touch driver not working with latest Kernels

Hi all,

I have a PC with an ELO APR touchscreen.
The only working driver I found for this is the archived proprietary driver.
This one works with Kernel linux-lts 4.9.53-1 but not with any newer LTS kernel or the mainline kernel.
In those cases I get the following error:

[   32.445519] ------------[ cut here ]------------
[   32.445533] WARNING: CPU: 0 PID: 412 at drivers/usb/core/devio.c:1583 proc_do_submiturb+0x993/0xd60 [usbcore]
[   32.445533] Modules linked in: tun cfg80211 rfkill nf_log_ipv6 xt_hl ip6t_rt nf_conntrack_ipv6 nf_defrag_ipv6 nf_log_ipv4 nf_log_common xt_LOG coretemp input_leds hid_generic gpio_ich usbhid iTCO_wdt iTCO_vendor_support hid snd_hda_intel kvm led_class snd_hda_codec snd_hda_core xt_limit xt_tcpudp snd_hwdep i915 lpc_ich snd_pcm irqbypass xt_addrtype evdev mac_hid snd_timer nf_conntrack_ipv4 rng_core snd nf_defrag_ipv4 psmouse pcspkr i2c_i801 xt_conntrack video i2c_algo_bit drm_kms_helper drm syscopyarea sysfillrect sysimgblt fb_sys_fops intel_agp intel_gtt soundcore button atl1e shpchp agpgart acpi_cpufreq ip6table_filter ip6_tables nf_conntrack_netbios_ns nf_conntrack_broadcast nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack libcrc32c crc32c_generic iptable_filter sch_fq_codel ip_tables x_tables
[   32.445572]  ext4 crc16 mbcache jbd2 fscrypto sd_mod ata_generic pata_acpi serio_raw atkbd libps2 uhci_hcd i8042 serio ata_piix libata scsi_mod ehci_pci ehci_hcd usbcore usb_common
[   32.445584] CPU: 0 PID: 412 Comm: eloapr Not tainted 4.13.6-1-ARCH #1
[   32.445585] Hardware name: Elo TouchSystems ESYxxBx/IPX41-GS, BIOS 0501 07/07/2010
[   32.445586] task: ffff91a1b32a2a00 task.stack: ffffaca5407f8000
[   32.445589] RIP: 0010:proc_do_submiturb+0x993/0xd60 [usbcore]
[   32.445590] RSP: 0018:ffffaca5407fbd38 EFLAGS: 00010282
[   32.445592] RAX: 000000000000002a RBX: ffff91a1b3f1c780 RCX: ffffffff87a55328
[   32.445593] RDX: 0000000000000000 RSI: 0000000000000096 RDI: 0000000000000283
[   32.445594] RBP: ffffaca5407fbdc0 R08: 000000000000022a R09: ffffffff87ca68e0
[   32.445595] R10: 0000000000000200 R11: 0000000000000000 R12: 0000000000000000
[   32.445596] R13: ffff91a176bc10c0 R14: 0000000001e395e8 R15: ffffaca5407fbe00
[   32.445597] FS:  00007f08b09fe780(0000) GS:ffff91a1b7a00000(0000) knlGS:0000000000000000
[   32.445598] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   32.445599] CR2: 00000000030f7fa8 CR3: 0000000074250000 CR4: 00000000000406f0
[   32.445600] Call Trace:
[   32.445607]  usbdev_do_ioctl+0xa34/0x1170 [usbcore]
[   32.445613]  ? enqueue_hrtimer+0x3e/0xa0
[   32.445617]  usbdev_ioctl+0xe/0x20 [usbcore]
[   32.445620]  do_vfs_ioctl+0xa5/0x600
[   32.445622]  ? __fget+0x6e/0x90
[   32.445624]  SyS_ioctl+0x79/0x90
[   32.445627]  entry_SYSCALL_64_fastpath+0x1a/0xa5
[   32.445628] RIP: 0033:0x7f08aef84157
[   32.445629] RSP: 002b:00007fffa9c78ec8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[   32.445631] RAX: ffffffffffffffda RBX: 00007f08af248aa0 RCX: 00007f08aef84157
[   32.445632] RDX: 0000000001e395b0 RSI: 000000008038550a RDI: 000000000000000b
[   32.445633] RBP: 00007f08af248af8 R08: 0000000001e395b0 R09: 0000000000000001
[   32.445634] R10: 0000000001e51120 R11: 0000000000000246 R12: 00000000000012d0
[   32.445634] R13: 00000000000012c0 R14: 00007f08af248af8 R15: 0000000000000002
[   32.445636] Code: 00 c7 45 a8 00 00 00 00 48 c7 45 b8 00 00 00 00 0f 85 5e f8 ff ff 89 c2 48 c7 c7 40 3f 35 c0 c6 05 37 2b 01 00 01 e8 8e 5c d9 c6 <0f> ff 49 63 47 18 e9 3e f8 ff ff c7 45 8c 00 00 00 00 c7 45 98 
[   32.445663] ---[ end trace c15add185b5bc0e1 ]---

Previously I also got memory corruption warnings in dmesg, which I was able to suppress by setting memory_corruption_check_size=512K, that looked like this:

[   61.063564] ------------[ cut here ]------------
[   61.063571] WARNING: CPU: 0 PID: 23 at arch/x86/kernel/check.c:141 check_for_bios_corruption+0xab/0x100
[   61.063572] Modules linked in: tun cfg80211 rfkill nf_log_ipv6 xt_hl ip6t_rt nf_conntrack_ipv6 nf_defrag_ipv6 nf_log_ipv4 nf_log_common xt_LOG i915 coretemp video xt_limit i2c_algo_bit kvm drm_kms_helper drm xt_tcpudp gpio_ich syscopyarea irqbypass input_leds xt_addrtype hid_generic sysfillrect iTCO_wdt iTCO_vendor_support atl1e usbhid evdev hid mac_hid pcspkr nf_conntrack_ipv4 sysimgblt nf_defrag_ipv4 psmouse fb_sys_fops xt_conntrack i2c_i801 snd_hda_intel snd_hda_codec led_class snd_hda_core snd_hwdep lpc_ich snd_pcm snd_timer snd rng_core soundcore intel_agp intel_gtt shpchp agpgart button ip6table_filter acpi_cpufreq ip6_tables nf_conntrack_netbios_ns nf_conntrack_broadcast nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack libcrc32c crc32c_generic iptable_filter sch_fq_codel ip_tables x_tables
[   61.063612]  ext4 crc16 mbcache jbd2 fscrypto sd_mod ata_generic pata_acpi serio_raw atkbd libps2 uhci_hcd ata_piix libata scsi_mod ehci_pci ehci_hcd usbcore usb_common i8042 serio
[   61.063624] CPU: 0 PID: 23 Comm: kworker/0:1 Tainted: G        W       4.13.6-1-ARCH #1
[   61.063625] Hardware name: Elo TouchSystems ESYxxBx/IPX41-GS, BIOS 0501 07/07/2010
[   61.063627] Workqueue: events check_corruption
[   61.063629] task: ffff882e3495e200 task.stack: ffffb803403fc000
[   61.063630] RIP: 0010:check_for_bios_corruption+0xab/0x100
[   61.063631] RSP: 0018:ffffb803403ffe10 EFLAGS: 00010282
[   61.063632] RAX: 0000000000000028 RBX: ffff882dc0020000 RCX: 0000000000000006
[   61.063633] RDX: 0000000000000000 RSI: 0000000000000082 RDI: ffff882e37a0dc70
[   61.063634] RBP: ffffb803403ffe40 R08: 000000000000029e R09: 0000000000000004
[   61.063635] R10: 000000000000023b R11: ffffffffb0ca64cd R12: 0000000000000000
[   61.063636] R13: ffffffffb0c9b1d0 R14: 0000000000000001 R15: 0000000080000000
[   61.063637] FS:  0000000000000000(0000) GS:ffff882e37a00000(0000) knlGS:0000000000000000
[   61.063638] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   61.063639] CR2: 00000000e016b000 CR3: 00000000740c3000 CR4: 00000000000406f0
[   61.063640] Call Trace:
[   61.063644]  check_corruption+0xe/0x40
[   61.063646]  process_one_work+0x1de/0x430
[   61.063648]  worker_thread+0x47/0x3f0
[   61.063650]  kthread+0x125/0x140
[   61.063651]  ? process_one_work+0x430/0x430
[   61.063652]  ? kthread_create_on_node+0x70/0x70
[   61.063655]  ret_from_fork+0x25/0x30
[   61.063656] Code: c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d c3 f3 c3 80 3d 01 31 a8 00 00 75 e6 48 c7 c7 c0 fd 92 b0 c6 05 f1 30 a8 00 01 e8 f6 a5 07 00 <0f> ff eb cf 48 89 da 4c 01 fa 72 35 4c 89 c0 48 2b 05 2f 87 9d 
[   61.063680] ---[ end trace 7d7c65d409a0a70c ]---

And this:

[   61.063368] Corrupted low memory at ffff882dc0001000 (1000 phys) = fffc0000fffdffff
[   61.063374] Corrupted low memory at ffff882dc0001008 (1008 phys) = 5000600000004
[   61.063376] Corrupted low memory at ffff882dc0001010 (1010 phys) = 2000800040004
[   61.063378] Corrupted low memory at ffff882dc0001018 (1018 phys) = 2000700010009
[   61.063380] Corrupted low memory at ffff882dc0001020 (1020 phys) = ffff0003ffff0007
[   61.063382] Corrupted low memory at ffff882dc0001028 (1028 phys) = 2ffff0003
[   61.063384] Corrupted low memory at ffff882dc0001030 (1030 phys) = fff80002fffb0003
[   61.063385] Corrupted low memory at ffff882dc0001038 (1038 phys) = fff90001fff9fffc
[   61.063387] Corrupted low memory at ffff882dc0001040 (1040 phys) = fff7fffdfff80001
[   61.063389] Corrupted low memory at ffff882dc0001048 (1048 phys) = fffbfffdfffafffd
[   61.063391] Corrupted low memory at ffff882dc0001050 (1050 phys) = fffdfff6
[   61.063393] Corrupted low memory at ffff882dc0001068 (1068 phys) = fffcfffdfffafffd
[   61.063395] Corrupted low memory at ffff882dc0001070 (1070 phys) = fffffffffffdfffe
[   61.063397] Corrupted low memory at ffff882dc0001078 (1078 phys) = fffe00000000fffe
[   61.063399] Corrupted low memory at ffff882dc0001080 (1080 phys) = 2fffaffff0000
[   61.063401] Corrupted low memory at ffff882dc0001088 (1088 phys) = 2fffe0002fffe
[   61.063403] Corrupted low memory at ffff882dc0001090 (1090 phys) = fffe00040000
[   61.063405] Corrupted low memory at ffff882dc0001098 (1098 phys) = fffffffe0001fffc
[   61.063406] Corrupted low memory at ffff882dc00010a0 (10a0 phys) = fffefffeffff
[   61.063408] Corrupted low memory at ffff882dc00010a8 (10a8 phys) = fffcfffafffaffff
[   61.063410] Corrupted low memory at ffff882dc00010b0 (10b0 phys) = fff6fffcfff5fffd
[   61.063412] Corrupted low memory at ffff882dc00010b8 (10b8 phys) = fff5fff6fff8fff9
[   61.063414] Corrupted low memory at ffff882dc00010c0 (10c0 phys) = fffafff2fff8fff5
[   61.063416] Corrupted low memory at ffff882dc00010c8 (10c8 phys) = fffffff3fffcfff4
[   61.063418] Corrupted low memory at ffff882dc00010d0 (10d0 phys) = 5fff30000fff3
[   61.063420] Corrupted low memory at ffff882dc00010d8 (10d8 phys) = 8fff60006fff5
[   61.063421] Corrupted low memory at ffff882dc00010e0 (10e0 phys) = afff50006fff4
[   61.063423] Corrupted low memory at ffff882dc00010e8 (10e8 phys) = 8fff2000afff3
[   61.063425] Corrupted low memory at ffff882dc00010f0 (10f0 phys) = 8fffa000afff6
[   61.063427] Corrupted low memory at ffff882dc00010f8 (10f8 phys) = dfffb000bfffa
[   61.063429] Corrupted low memory at ffff882dc0001100 (1100 phys) = 8fffd0008fffc
[   61.063431] Corrupted low memory at ffff882dc0001108 (1108 phys) = 7fff90007fffd
[   61.063433] Corrupted low memory at ffff882dc0001110 (1110 phys) = 6fffb0009fff9
[   61.063435] Corrupted low memory at ffff882dc0001118 (1118 phys) = 0004fffa
[   61.063437] Corrupted low memory at ffff882dc0001130 (1130 phys) = 2fffb0003fffc
[   61.063438] Corrupted low memory at ffff882dc0001138 (1138 phys) = 4fffd00030001
[   61.063440] Corrupted low memory at ffff882dc0001140 (1140 phys) = 100050000
[   61.063442] Corrupted low memory at ffff882dc0001148 (1148 phys) = 6000000020000
[   61.063444] Corrupted low memory at ffff882dc0001150 (1150 phys) = 5000100040000
[   61.063446] Corrupted low memory at ffff882dc0001158 (1158 phys) = 6000300050000
[   61.063448] Corrupted low memory at ffff882dc0001160 (1160 phys) = 3000600040005
[   61.063450] Corrupted low memory at ffff882dc0001168 (1168 phys) = 1000600020007
[   61.063451] Corrupted low memory at ffff882dc0001170 (1170 phys) = ffff000000020003
[   61.063453] Corrupted low memory at ffff882dc0001178 (1178 phys) = 10003ffff0002
[   61.063455] Corrupted low memory at ffff882dc0001180 (1180 phys) = fffc0002ffff0004
[   61.063457] Corrupted low memory at ffff882dc0001188 (1188 phys) = fffcfffffffd0002
[   61.063459] Corrupted low memory at ffff882dc0001190 (1190 phys) = fffa0000fffcfffe
[   61.063461] Corrupted low memory at ffff882dc0001198 (1198 phys) = fffbfffdfffbfffd
[   61.063463] Corrupted low memory at ffff882dc00011a0 (11a0 phys) = fffd0000fffefffd
[   61.063465] Corrupted low memory at ffff882dc00011a8 (11a8 phys) = 10000fffefffe
[   61.063467] Corrupted low memory at ffff882dc00011b0 (11b0 phys) = 7000200050002
[   61.063468] Corrupted low memory at ffff882dc00011b8 (11b8 phys) = b000200070002
[   61.063470] Corrupted low memory at ffff882dc00011c0 (11c0 phys) = bfffd000afffd
[   61.063472] Corrupted low memory at ffff882dc00011c8 (11c8 phys) = afffb000c0000
[   61.063474] Corrupted low memory at ffff882dc00011d0 (11d0 phys) = 8fffa000afffa
[   61.063476] Corrupted low memory at ffff882dc00011d8 (11d8 phys) = 5fffd0004fffb
[   61.063478] Corrupted low memory at ffff882dc00011e0 (11e0 phys) = fffbfffa
[   61.063480] Corrupted low memory at ffff882dc00011f8 (11f8 phys) = fffdfffa0006fffb
[   61.063482] Corrupted low memory at ffff882dc0001200 (1200 phys) = fffdfffb0000fffe
[   61.063484] Corrupted low memory at ffff882dc0001208 (1208 phys) = fffbfffcfff9ffff
[   61.063486] Corrupted low memory at ffff882dc0001210 (1210 phys) = fff6fffffff8ffff
[   61.063487] Corrupted low memory at ffff882dc0001218 (1218 phys) = fffafffbfff7fffc
[   61.063489] Corrupted low memory at ffff882dc0001220 (1220 phys) = fffefff9fffbfff8
[   61.063491] Corrupted low memory at ffff882dc0001228 (1228 phys) = 6fffb0005fffa
[   61.063493] Corrupted low memory at ffff882dc0001230 (1230 phys) = afff70007fffa
[   61.063495] Corrupted low memory at ffff882dc0001238 (1238 phys) = 6fffd0007fffa
[   61.063497] Corrupted low memory at ffff882dc0001240 (1240 phys) = 800030009fffc
[   61.063499] Corrupted low memory at ffff882dc0001248 (1248 phys) = 4000200060005
[   61.063501] Corrupted low memory at ffff882dc0001250 (1250 phys) = 4000100060002
[   61.063503] Corrupted low memory at ffff882dc0001258 (1258 phys) = 1fffe00030001
[   61.063504] Corrupted low memory at ffff882dc0001260 (1260 phys) = fffc0000fffe0000
[   61.063506] Corrupted low memory at ffff882dc0001268 (1268 phys) = fffe0001fffb0001
[   61.063508] Corrupted low memory at ffff882dc0001270 (1270 phys) = fffa0001fffb0002
[   61.063510] Corrupted low memory at ffff882dc0001278 (1278 phys) = fffe0000fffd0002
[   61.063512] Corrupted low memory at ffff882dc0001280 (1280 phys) = fffdfffdfffefffe
[   61.063514] Corrupted low memory at ffff882dc0001288 (1288 phys) = 2fffc0000fffc
[   61.063516] Corrupted low memory at ffff882dc0001290 (1290 phys) = 5fffb0004fffd
[   61.063518] Corrupted low memory at ffff882dc0001298 (1298 phys) = c000000060000
[   61.063519] Corrupted low memory at ffff882dc00012a0 (12a0 phys) = a0001000cffff
[   61.063521] Corrupted low memory at ffff882dc00012a8 (12a8 phys) = 00010003
[   61.063556] Memory corruption detected in low memory

Those memory corruption warnings only appear when I boot the newest kernels (linux-lts-4.9.56-1, linux-4.13.6-1) but not with linux-lts 4.9.53-1.

What is the problem with the newer kernels and (how) can I fix it?

Last edited by schard (2017-11-09 13:03:26)


macro_rules! yolo { { $($tokens:tt)* } => { unsafe { $($tokens)* } }; }

Offline

#2 2017-10-21 02:10:36

GenkiSky
Member
From: This account is henceforth dis
Registered: 2017-04-04
Posts: 82

Re: [SOLVED] Touch driver not working with latest Kernels

The kernel does not have a stable driver interface. So chances are the developers of the driver simply have not updated to work on the newest kernels (this wouldn't be a problem if it were upstream, of course). Have you tried contacting the developer of the driver to ask?

Last edited by GenkiSky (2017-10-21 02:36:22)

Offline

#3 2017-11-09 13:02:41

schard
Forum Moderator
From: Hannover
Registered: 2016-05-06
Posts: 1,975
Website

Re: [SOLVED] Touch driver not working with latest Kernels

@GenkiSky: The Systems are seven years old an the drivers no longer supported (hence I mentioned "archived") by the manufacturer.

The touch screen works again wih Kernel 4.9.61-1-lts. So I suspect that it was a bug in Kernel linux-lts-4.9.56-1.


macro_rules! yolo { { $($tokens:tt)* } => { unsafe { $($tokens)* } }; }

Offline

Board footer

Powered by FluxBB