I am trying to get refind to work with a Kaby Lake tablet (Cube Mix Plus).
Everything works find except for the touch input part, which makes it rather problematic if I dont have a keyboard attached.
I'm trying to figure out how I might get started in adding the necessary driver/support into refind.
Since I can boot into linux, I tought I might start by looking at what hardware is being detected.
These are the relevant parts I could find in the boot logs :
[ 11.431621] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:18/PNP0C09:00/PNP0C0D:00/input/input0
[ 11.432206] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1
[ 11.432263] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2
[ 11.432319] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
[ 11.489282] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
[ 22.702861] input: Intel Virtual Button driver as /devices/pci0000:00/0000:00:1f.0/PNP0C09:00/INT33D6:00/input/input8
[ 23.860963] input: Wacom HID 104 Pen as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-WCOM4002:01/0018:056A:0104.0004/input/input14
[ 23.947469] input: FTSC1000:00 2808:5012 as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-FTSC1000:00/0018:2808:5012.0003/input/input17
[ 23.947567] hid-multitouch 0018:2808:5012.0003: input,hidraw3: I2C HID v1.00 Device [FTSC1000:00 2808:5012] on i2c-FTSC1000:00
As far as modules go, the relevant parts of lsmod would be :
Since touch seems to work under X, I also looked at Xorg logs and found this :
[ 28.913] (**) FTSC1000:00 2808:5012: Applying InputClass "evdev touchscreen catchall"
[ 29.113] (--) evdev: FTSC1000:00 2808:5012: Found absolute multitouch axes
[ 29.113] (--) evdev: FTSC1000:00 2808:5012: Found absolute touchscreen
[ 29.113] (II) evdev: FTSC1000:00 2808:5012: Configuring as touchscreen
[ 29.113] (II) XINPUT: Adding extended input device "FTSC1000:00 2808:5012" (type: TOUCHSCREEN, id 12)
CTL-461/S, Bamboo Touch, CTH-460/K, CTH-461/S, CTH-661/S1, CTH-461/L,
Intuos4 WL Bluetooth Endpoint, Intuos5 touch S, Intuos5 touch M,
Intuos5 touch L, Intuos5 S, Intuos5 M, Intuos Pro S, Intuos Pro M,
Cintiq 24HD, Cintiq 22HD, Cintiq 24HD touch (EMR digitizer),
[ 29.130] (EE) Wacom HID 104 Pen stylus: Invalid type 'touch' for this device.
I may be wrong on this but from what I can gather, it looks like the Wacom surface doesnt even come into play at the X level (given the last error in Xorg logs. For the rest, it looks like the touch surface (FTSC ?) is pretty standard and is handled by the default hid_multitouch driver in the linux kernel.
Is it possible that because the device is i2c instead of USB, it doesnt get initialized at boot and is therefore unseen at the EFI level ?
Is there anything I may do to lookup devices within an EFI shell ?
Any tips or hints will be grately appreciated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
First, note that rEFInd's touch support requires that the enable_touch option be uncommented in refind.conf. If you haven't already done that, please try it.
Beyond that, it's possible that finding and loading the right driver will get your tablet's touch panel to work in rEFInd; however, I can't promise that such a driver even exists, much less that you'll be able to find it and get it working on your system. It's also conceivable that a driver exists, but doesn't provide the features upon which rEFInd relies.
If you have sufficient coding experience, you could try writing your own driver for your tablet, but I don't really have much advice on how to get started. Although rEFInd includes several filesystem drivers, I didn't write any of them, and I have yet to delve far enough into that topic to be able to provide guidance.
In an EFI shell, you can type drivers (or drivers -b to get paged output) to see the drivers that are currently loaded.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have the same device of Guillaume Giraudon (Cube Mix Plus tablet), refind work well, I had uncomment enable_touch option in the refind.conf file, but touch screen does not work. When sistem boot into linux touch screen works perfectly with module hid_multitouch, indeed, I get system log files pretty similar to the mr. Giraudon. I boot in EFI Shell and run the command drivers, I attach the output, driver for touch is listed as C0, Integrated Touch Driver. Thanks in advance!
T D
D Y C I
R P F A
V VERSION E G G #D #C DRIVER NAME IMAGE NAME
== ======== = = = == == =================================== ===================
1A 0000000A ? - - - - TPM Driver Tcg2Dxe
57 00000010 D - - 1 - AMI USB Driver Uhcd
59 00000010 B - - 1 5 USB bus Uhcd
5A 00000002 D - - 2 - USB Hid driver Uhcd
5B 00000001 ? - - - - USB Mass Storage driver Uhcd
6B 00010000 D - - 2 - AMI NTFS Driver NTFS
6F 00000001 B - - 1 1 AMI AHCI BUS Driver Ahci
71 00000010 ? - - - - <UNKNOWN> SerialIo
AB 00000010 D - - 1 - Intel(R) PCH Serial ATA Controller SataController
AC 00000010 ? - - - - PCI Serial Driver SerialOverLan
B7 00000010 B - - 1 1 AMI Console Splitter Text Out Drive ConSplitter
B8 00000010 B - - 2 2 AMI Console Splitter Text In Driver ConSplitter
B9 00000010 B - - 2 2 AMI Console Splitter Pointer Driver ConSplitter
BC 00000010 D - - 1 - AMI Graphic Console Driver GraphicsConsole
BD 0000000A D - - 6 - Generic Disk I/O Driver DiskIoDxe
BE 0000000B B - - 1 5 Partition Driver(MBR/GPT/El Torito) PartitionDxe
C0 00000000 ? - - - - Integrated Touch Driver IntegratedTouch
C2 00000001 ? - - - - AMI IDE BUS Driver IdeBusSrc
C4 00A5010B B - - 1 22 <UNKNOWN> PciBus
C6 00000010 D - - 2 - AMI PS/2 Driver Ps2Main
C8 00000010 ? - - - - <UNKNOWN> TerminalSrc
C9 0000000A ? - - - - Simple Network Protocol Driver SnpDxe
CA 0000000A ? - - - - MNP Network Service Driver MnpDxe
CB 0000000A ? - - - - ARP Network Service Driver ArpDxe
CC 0000000A ? - - - - TCP Network Service Driver TcpDxe
CD 0000000A ? - - - - TCP Network Service Driver TcpDxe
CE 0000000A ? - - - - UEFI PXE Base Code Driver UefiPxeBcDxe
CF 0000000A ? - - - - UEFI PXE Base Code Driver UefiPxeBcDxe
D0 0000000A ? - - - - UEFI HTTP Boot Driver HttpBootDxe
D1 0000000A ? - - - - UEFI HTTP Boot Driver HttpBootDxe
D2 0000000A ? - - - - HttpDxe HttpDxe
D3 0000000A ? - - - - HttpDxe HttpDxe
D4 00000000 ? - - - - DNS Network Service Driver DnsDxe
D5 00000000 ? - - - - DNS Network Service Driver DnsDxe
D6 0000000A ? - - - - DHCP Protocol Driver Dhcp4Dxe
D7 0000000A ? - - - - IP4 Network Service Driver Ip4Dxe
D8 0000000A ? - - - - MTFTP4 Network Service Mtftp4Dxe
D9 0000000A ? - - - - UDP Network Service Driver Udp4Dxe
DD 0000000A D - - 1 - FAT File System Driver Fat
EC 0000000A ? - - - - ASIX AX88179 Ethernet Driver 2.2.0 FvFile(B15239D6-6A
12E 00000010 D - - 2 - AMI SDIO Driver SdioDriver
137 0900041D B - - 1 1 Intel(R) GOP Driver [9.0.1053] MemoryMapped(0x3,0
Last edit: Link Sekera 2017-06-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have some basic knowledge in C, but I have not programmed in EFI. I am reading UEFI specification and other documentations for EDK II. I noticed from source code of refind at EfiLib/AbsolutePointer.h that EFI_ABSOLUTE_POINTER_PROTOCOL is used to handle touch screen devices, I run the command guid in EFI Shell, the AbsolutePointer protocol seems to be present with the same identifier that is in the code, I attach the complete output:
I don't know if refind has some kind of vervose mode, in order to see where is problem, or if there exist some tool for EFI Shell to test the device support and/or state of it.
I don't know how to increase to esposure of this publication, or if I should start a new topic. I hope CJ Vaughter or another developer can guide us to solve the touch screen support on refind. Thanks in advance!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's a good sign that the touch driver shows up. I've submitted a merge request with some changes that may enable your touchscreen, but it's hard to say for sure. I've attached a binary with those changes. Try it and let me know if it works.
Thanks for the prompt response, I replaced the original binary /EFI/refind/refind_x64.efi for the attached in the your message. I test the binary and it works ok, but unfortunately without touch screen support.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It should open all devices that support the protocol, so your firmware may not support it. Without access to your machine it's hard to say, and there's not much I can do.
Does the touchscreen work in the system setup utility (what some people still refer to as the BIOS settings)?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The system setup utility (BIOS settings) does not make use of touch screen or any other pointer, it is like old usual DOS menu without graphical interface (American Megatrens). It was a clever solution, at least we know the problem may be due to the firmware and move on, indeed I think so becuse the touchpad of external logitech keyboard works well with this binary. I appreciate very much your time for response, and in general the work of Mr Smith and other all developers of refind, it is the better efi boot manager, thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello everyone,
I am trying to get refind to work with a Kaby Lake tablet (Cube Mix Plus).
Everything works find except for the touch input part, which makes it rather problematic if I dont have a keyboard attached.
I'm trying to figure out how I might get started in adding the necessary driver/support into refind.
Since I can boot into linux, I tought I might start by looking at what hardware is being detected.
These are the relevant parts I could find in the boot logs :
As far as modules go, the relevant parts of lsmod would be :
Since touch seems to work under X, I also looked at Xorg logs and found this :
I may be wrong on this but from what I can gather, it looks like the Wacom surface doesnt even come into play at the X level (given the last error in Xorg logs. For the rest, it looks like the touch surface (FTSC ?) is pretty standard and is handled by the default hid_multitouch driver in the linux kernel.
Is it possible that because the device is i2c instead of USB, it doesnt get initialized at boot and is therefore unseen at the EFI level ?
Is there anything I may do to lookup devices within an EFI shell ?
Any tips or hints will be grately appreciated.
First, note that rEFInd's touch support requires that the
enable_touch
option be uncommented inrefind.conf
. If you haven't already done that, please try it.Beyond that, it's possible that finding and loading the right driver will get your tablet's touch panel to work in rEFInd; however, I can't promise that such a driver even exists, much less that you'll be able to find it and get it working on your system. It's also conceivable that a driver exists, but doesn't provide the features upon which rEFInd relies.
If you have sufficient coding experience, you could try writing your own driver for your tablet, but I don't really have much advice on how to get started. Although rEFInd includes several filesystem drivers, I didn't write any of them, and I have yet to delve far enough into that topic to be able to provide guidance.
In an EFI shell, you can type
drivers
(ordrivers -b
to get paged output) to see the drivers that are currently loaded.any new? I own this exact thing too
Last edit: おとめ座 ひなたぼっこ 2017-03-20
Can you post the output you get from
drivers
?I have the same device of Guillaume Giraudon (Cube Mix Plus tablet), refind work well, I had uncomment enable_touch option in the refind.conf file, but touch screen does not work. When sistem boot into linux touch screen works perfectly with module hid_multitouch, indeed, I get system log files pretty similar to the mr. Giraudon. I boot in EFI Shell and run the command drivers, I attach the output, driver for touch is listed as C0, Integrated Touch Driver. Thanks in advance!
Last edit: Link Sekera 2017-06-14
I have some basic knowledge in C, but I have not programmed in EFI. I am reading UEFI specification and other documentations for EDK II. I noticed from source code of refind at EfiLib/AbsolutePointer.h that EFI_ABSOLUTE_POINTER_PROTOCOL is used to handle touch screen devices, I run the command guid in EFI Shell, the AbsolutePointer protocol seems to be present with the same identifier that is in the code, I attach the complete output:
I don't know if refind has some kind of vervose mode, in order to see where is problem, or if there exist some tool for EFI Shell to test the device support and/or state of it.
I don't know how to increase to esposure of this publication, or if I should start a new topic. I hope CJ Vaughter or another developer can guide us to solve the touch screen support on refind. Thanks in advance!
It's a good sign that the touch driver shows up. I've submitted a merge request with some changes that may enable your touchscreen, but it's hard to say for sure. I've attached a binary with those changes. Try it and let me know if it works.
Thanks for the prompt response, I replaced the original binary /EFI/refind/refind_x64.efi for the attached in the your message. I test the binary and it works ok, but unfortunately without touch screen support.
It should open all devices that support the protocol, so your firmware may not support it. Without access to your machine it's hard to say, and there's not much I can do.
Does the touchscreen work in the system setup utility (what some people still refer to as the BIOS settings)?
The system setup utility (BIOS settings) does not make use of touch screen or any other pointer, it is like old usual DOS menu without graphical interface (American Megatrens). It was a clever solution, at least we know the problem may be due to the firmware and move on, indeed I think so becuse the touchpad of external logitech keyboard works well with this binary. I appreciate very much your time for response, and in general the work of Mr Smith and other all developers of refind, it is the better efi boot manager, thanks!
Sorry for off topic, but anyone here with linux on Mix Plus has OmniVision Webcam work?