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 GmelinReceived 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