Re: [request for testing] isl, cyapa on chromebooks

From: Michael Gmelin <grembo_at_freebsd.org>
Date: Mon, 3 Oct 2016 18:07:50 +0200
On Mon, 3 Oct 2016 14:05:52 +0300
Andriy Gapon <avg_at_FreeBSD.org> wrote:

> If you have a Chromebook where you are currently able to use isl and
> cyapa drivers, could you please test the following code change?
> https://people.freebsd.org/~avg/ig4-i2c.diff
> 
> The change moves the drivers from the SMBus to the I2C bus and as
> such some configuration changes are required.
> Namely, you will now need iicbus driver either in the kernel
> configuration or as a module.  For now the smbus driver is also
> required. You also need to add some entries to /boot/device.hints:
> hint.isl.0.at="iicbus0"
> hint.isl.0.addr=0x88
> hint.isl.1.at="iicbus1"
> hint.isl.1.addr=0x88
> hint.cyapa.0.at="iicbus0"
> hint.cyapa.0.addr=0xce
> hint.cyapa.1.at="iicbus1"
> hint.cyapa.1.addr=0xce
> 
> The hints are required because auto-probing (either via the bus
> enumeration or self-identification) is disabled for now for safety
> reason. Also, as I understand, the Intel chipset used in the
> supported Chromebooks provides to i2c buses (possibly in addition in
> an smbus) and I am not sure on which of the i2c buses the devices
> reside.
> 
> The changes are build tested only, because I do not have access to
> the hardware. So, kernel panics, etc are not unexpected.
> 
> Please let me know if drivers attach at all and if there are any
> issues with them. A verbose dmesg would be of great help.  That could
> be obtained by booting in a verbose mode if the drivers are
> auto-loaded or by setting debug.bootverbose=1 before loading the
> drivers if that's done manually.
> 
> Please also note that ig4 driver is changed, so it too has to be
> rebuilt if you are going to build individual modules rather than do a
> kernel + modules build.
> 
> I will appreciate your testing and feedback.
> Thank you!

Thanks for working on this.

I have currently access to two c720 Chromebooks, one with a cyapa
touchpad, the other with a (yet) unsupported replacement I'm planning to
work on.

I upgraded the latter the r306641, applied your patches (cleanly) and
ran "make kernel" (GENERIC kernel), added the entries to device.hints
and rebooted. Unfortunately ig4 won't load:

# kldload ig4
link_elf_obj: symbol iicbus_transfer_desc undefined
linker_load_file: Unsupported file type

I also noticed that isl cannot be built from the module source
directory:

# cd /usr/src/sys/modules/i2c/isl
# make
...
/usr/src/sys/sys/vnode.h:571:10: fatal error: 'vnode_if.h' file not
found
#include "vnode_if.h"
         ^
1 error generated
*** Error code 1

This can be easily fixed by removing "#include <sys/vnode.h>" from
isl.c (line 56).

Best,
Michael

-- 
Michael Gmelin
Received on Mon Oct 03 2016 - 14:14:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:08 UTC