You are not logged in.
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)
Inofficial first vice president of the Rust Evangelism Strike Force
Offline
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
@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.
Inofficial first vice president of the Rust Evangelism Strike Force
Offline