Albert
2018-06-02 00:14:06 UTC
Hi all,
I'd like to start out by saying that I'm a newcomer to FreeBSD, but I've
been running Linux for years now and I'm still having a few issues
transitioning. Despite that. I've been having a blast setting things up
for myself, and I'm hopeful I can get this resolved soon enough.
I'm trying to get FreeBSD running on my laptop, an "Acer Chromebook 14"
(EDGAR), and although I've managed to overcome most of the problems I've
faced along the way (needing to upgrade to a UEFI, misnamed wireless
modules, video drivers not working on RELEASE nor STABLE), I just can't
seem to get the touchpad on this thing to work.
For reference, EDGAR is an Intel Celeron N3160 SoC. Pretty much the only
thing in it that isn't Intel are the case, the keyboard, the webcam and
the touchpad. On Linux, the touchpad appears in _/proc_ as
I: Bus=0018 Vendor=04f3 Product=0055 Version=0000
N: Name="Elan Touchpad"
P: Phys=
S: Sysfs=/devices/pci0000:00/808622C1:05/i2c-1/i2c-ELAN0000:00/input/input5
U: Uniq=
H: Handlers=mouse0 event4
B: PROP=5
B: EV=b
B: KEY=e520 10000 0 0 0 0
B: ABS=663800013000003
It seems _dmesg_ confirms this:
[ 18.416171] input: Elan Touchpad as /devices/pci0000:00/808622C1:05/i2c-1/i2c-ELAN0000:00/input/input5
and it can be seen from _lsmod_ as *elan_i2c*. The source for the
corresponding driver can be found here: Google ChromeOS Git.
<https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/chromeos-elan-3.14/drivers/input/mouse/elan_i2c_core.c>
Now on FreeBSD, it's as though it didn't even exist. Without applying
any of the changes I've tried to get it working, here's the (verbose)
output to _dmesg_ on FreeBSD: (vdmesg-nochanges
<https://gist.github.com/dsifriend/7d3635937f0d16ced7ef572cdb6ba02d#file-vdmesg-nochanges-txt>).
With the knowledge I have so far, this is to be expected, as it seems
FreeBSD requires the *ig4* module to work with *i2c* devices. Loading it
at boot does seem to make the buses visible, but the touchpad still
doesn't appear (or not properly, I don't know all these codes):
(vdmesg-ig4
<https://gist.github.com/dsifriend/7d3635937f0d16ced7ef572cdb6ba02d#file-vdmesg-ig4-txt>).
The obvious solution is to enable support for elantech devices with
_hw.psm.elantech_support_, but nada: (vdmesg-elantech
<https://gist.github.com/dsifriend/7d3635937f0d16ced7ef572cdb6ba02d#file-vdmesg-elantech-txt>).
The only difference is _sysctl_ shows that option is enabled. Aside from
that, it seems I'm not the only one who's had this sort of issue before,
so support has been worked on and is claimed to be working. Loading the
recommended cyapa and chromebook_platform modules at boot does not fix
this issue: (vdmesg-chromebook
<https://gist.github.com/dsifriend/7d3635937f0d16ced7ef572cdb6ba02d#file-vdmesg-chromebook-txt>).
The reason appears, at least to me, to be that the cyapa driver isn't a
proper elan driver. These are /different/ devices.
I'm determined to get this working /somehow/, so any help would be
appreciated. It feels like there's a solution here somewhere and I'm
either too dumb to find it or it's just not there quite yet. If it's the
latter, I'm willing to put some work into porting the right driver with
a little guidance. (I have plenty of experience with C but none of this
driver stuff.)
- Albert
PS. External mice are working perfectly, so it's nothing to do with the
base install.
I'd like to start out by saying that I'm a newcomer to FreeBSD, but I've
been running Linux for years now and I'm still having a few issues
transitioning. Despite that. I've been having a blast setting things up
for myself, and I'm hopeful I can get this resolved soon enough.
I'm trying to get FreeBSD running on my laptop, an "Acer Chromebook 14"
(EDGAR), and although I've managed to overcome most of the problems I've
faced along the way (needing to upgrade to a UEFI, misnamed wireless
modules, video drivers not working on RELEASE nor STABLE), I just can't
seem to get the touchpad on this thing to work.
For reference, EDGAR is an Intel Celeron N3160 SoC. Pretty much the only
thing in it that isn't Intel are the case, the keyboard, the webcam and
the touchpad. On Linux, the touchpad appears in _/proc_ as
I: Bus=0018 Vendor=04f3 Product=0055 Version=0000
N: Name="Elan Touchpad"
P: Phys=
S: Sysfs=/devices/pci0000:00/808622C1:05/i2c-1/i2c-ELAN0000:00/input/input5
U: Uniq=
H: Handlers=mouse0 event4
B: PROP=5
B: EV=b
B: KEY=e520 10000 0 0 0 0
B: ABS=663800013000003
It seems _dmesg_ confirms this:
[ 18.416171] input: Elan Touchpad as /devices/pci0000:00/808622C1:05/i2c-1/i2c-ELAN0000:00/input/input5
and it can be seen from _lsmod_ as *elan_i2c*. The source for the
corresponding driver can be found here: Google ChromeOS Git.
<https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/chromeos-elan-3.14/drivers/input/mouse/elan_i2c_core.c>
Now on FreeBSD, it's as though it didn't even exist. Without applying
any of the changes I've tried to get it working, here's the (verbose)
output to _dmesg_ on FreeBSD: (vdmesg-nochanges
<https://gist.github.com/dsifriend/7d3635937f0d16ced7ef572cdb6ba02d#file-vdmesg-nochanges-txt>).
With the knowledge I have so far, this is to be expected, as it seems
FreeBSD requires the *ig4* module to work with *i2c* devices. Loading it
at boot does seem to make the buses visible, but the touchpad still
doesn't appear (or not properly, I don't know all these codes):
(vdmesg-ig4
<https://gist.github.com/dsifriend/7d3635937f0d16ced7ef572cdb6ba02d#file-vdmesg-ig4-txt>).
The obvious solution is to enable support for elantech devices with
_hw.psm.elantech_support_, but nada: (vdmesg-elantech
<https://gist.github.com/dsifriend/7d3635937f0d16ced7ef572cdb6ba02d#file-vdmesg-elantech-txt>).
The only difference is _sysctl_ shows that option is enabled. Aside from
that, it seems I'm not the only one who's had this sort of issue before,
so support has been worked on and is claimed to be working. Loading the
recommended cyapa and chromebook_platform modules at boot does not fix
this issue: (vdmesg-chromebook
<https://gist.github.com/dsifriend/7d3635937f0d16ced7ef572cdb6ba02d#file-vdmesg-chromebook-txt>).
The reason appears, at least to me, to be that the cyapa driver isn't a
proper elan driver. These are /different/ devices.
I'm determined to get this working /somehow/, so any help would be
appreciated. It feels like there's a solution here somewhere and I'm
either too dumb to find it or it's just not there quite yet. If it's the
latter, I'm willing to put some work into porting the right driver with
a little guidance. (I have plenty of experience with C but none of this
driver stuff.)
- Albert
PS. External mice are working perfectly, so it's nothing to do with the
base install.