Linux On A Toshiba Click Mini...

Nicolas Huillard nicolas at huillard.net
Thu Mar 10 19:04:52 CET 2016


I all !

I see we're all working on this today ;-) I still have Win8 on the
machine, but it's really useless as a real tool...

My approach is to first get a working keyboard/trackpad with the latest
Debian kernel. What I do is, on my desktop which happen to run Debian
jessie :
* from backports : apt-get install linux-source-4.4
* in some working directory : tar -xaf /usr/src/linux-source-4.4.tar.xz
* tweak the config : make gconfig
* create the Debian packages : make deb-pkg
* copy the *.deb files to the TCM, install them, reboot, remote check :
journalctl --boot

As of now, I can see there is at least a missing firmware file for the
sound SoC system, which I can't locate yet (it's not a priority). I
wonder where the linux-firmware-image*.deb packages should come from).

Re. keyboard/trackpad, what I see is :
* both keyboard + trackpad seems to be driven by the ELAN0800 device
(aka 0018:04F3:0401.0001 or 04F3:0401, i2c_hid kernel module), attached
to i2c on the SoC (I'm not sure if the DesignWare device is really
involved or not - i2c_designware kernel module, 80860F41 device, and
dw_dmac (DMA controller) module, INTL9C60 device)
* there are 2 other HID i2c devices : ITE8350 (0018:048D:8350.0001
device, i2c_hid and hid-sensor-hub modules : gyro, accel, etc.) and
SIS0817 (0018:0457:10FB.0002 device, i2c_hid and hid-multitouch : the
touchscreen)
* the sound device is also connected to an i2c bus (10EC5640,
byt-rt5640, rt5640 and sst-acpi modules, missing sst firmware)

With the kernel 4.2.6, the keyboard/trackpad works, but with en error in
the kernel logs :
bus: 'i2c': driver_probe_device: matched device i2c-ELAN0800:00 with driver i2c_hid
bus: 'i2c': really_probe: probing driver i2c_hid with device i2c-ELAN0800:00
i2c_hid i2c-ELAN0800:00: no default pinctrl state
acpi ELAN0800:00: GPIO: looking up 0 in _CRS
driver: 'i2c_hid': driver_bound: bound to device 'i2c-ELAN0800:00'
bus: 'i2c': really_probe: bound device i2c-ELAN0800:00 to driver i2c_hid
i2c_hid i2c-ELAN0800:00: error in i2c_hid_init_report size:633 / ret_size:7
i2c_hid i2c-ELAN0800:00: error in i2c_hid_init_report size:131 / ret_size:7
input: ELAN0800:00 04F3:0401 as /devices/platform/80860F41:00/i2c-0/i2c-ELAN0800:00/0018:04F3:0401.0001/input/input5

With 4.4, the keyboard/trackpad do not work, and the whole kernel boot
log is essentially the same, except :
bus: 'i2c': driver_probe_device: matched device i2c-ELAN0800:00 with driver i2c_hid
bus: 'i2c': really_probe: probing driver i2c_hid with device i2c-ELAN0800:00
i2c_hid i2c-ELAN0800:00: no default pinctrl state
devices_kset: Moving i2c-ELAN0800:00 to end of list
acpi ELAN0800:00: GPIO: looking up 0 in _CRS
i2c_hid: probe of i2c-ELAN0800:00 rejects match -19

This error code -19 is -ENODEV, just as if i2c_hid didn't find the
device it should handle, maybe because it can't fetch the correct device
details in ACPI (missing "acpi ELAN0800:00: GPIO: looking up 0 in _CRS"
with 4.4 - _CRS is "Current Resource Settings" in ACPI).

I will now try to add ACPI debugging info, then remove other i2c
devices, in order to help ELAN0800 or i2c_hid...
Since you have the same problem with 32bit kernels, I don't think it's a
64bit-related issue.

Cheers !

Le dimanche 31 janvier 2016 à 15:35 +0000, Paul Mansfield a écrit :
> On 31 January 2016 at 15:20, Wessel Dankers <wsl at fruit.je> wrote:
> > My current approach is to get the ubuntu wily 4.2 kernel working on it (in
> > 32-bit mode). I'm hitting a small snag in compiling it (or rather, in
> > building the package). Nothing that can't be overcome but I haven't found
> > the time to work around it.
> 
> what I've been doing is this, and quite possibly it's not the right
> thing to do, so please tell me if I am being an idiot
> 
> * using a virtual machine for development, currently Debian Jessie
> with backports apt source enabled
> * downloading the kernel source from kernel.org
> * unpacking the source in /usr/src
> * installing a similar kernel from the debian repository
> * using the Debian kernel packager's config - copy
> /boot/config-nn.nn.nn into /usr/src/linux-nn.nn.nn/.config
> * using make menuconfig to tweak the kernel:
>     set processor type to "Core 2/newer Xeon"
>     disabling anything AMD specific
>     disabling drivers that I am very sure are irrelevant
> * using "make -j 3 deb-pkg" to build the kernel package
> * renaming the .deb files to shorter names for convenience
> * install that kernel on my VM to verify it will boot
> * build the wifi drivers "make ; make strip"
> * copy kernel and wifi drivers across to the Tosh C.M., where I
> install it, boot it
> * if it boots, copy drivers up to my web site

-- 
Nicolas Huillard
nicolas at huillard.net
Fixe : +33 9 52 31 06 10
Mobile : +33 6 50 27 69 08

http://www.350.org/


More information about the click mailing list