rationale of i2c_i801 driver blacklist

Asked by Ewan on 2015-07-17

file:
/etc/modprobe.d/blacklist.conf

contains the text:
# causes failure to suspend on HP compaq nc6000 (Ubuntu: #10306)
blacklist i2c_i801

However:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/10306

Appears to document an issue in apt.

This blacklisting breaks the touchpad on Acer C710. It also seems to cause at least a small number of other issues as per https://bugs.launchpad.net/ubuntu/+source/module-init-tools/+bug/857175

How can I determine why this module is blacklisted?

thanks

Manfred Hampl (m-hampl) said : #1

related bug number seems to be in fact Bug #16602 from 2005

Ewan (ewann) said : #2

thanks for the extra info. It seems the black listing was done on the basis of:

"Communicating with the system i2c bus. There's no reason whatsoever to do this
in a default setup. In theory there may be hardware sensors on there, but in
general there aren't."

I'll summarize what I understand to be the situation:

- 1 user reported a problem with this module on 1 specific model of laptop in 2005
- 2 users reported a problem caused by the blacklisting of this module on a standard laptop configuration in 2011
- 1 user (me) has experienced a problem caused by the blacklisting of this module on a custom laptop (chromebook with custom seabios) in 2015. (I point out I'm using a custom config as I suggest is could reduce the weight of any argument to support it. On the other hand, it is easy to find examples of people asking for a solution to this issue - eg http://www.reddit.com/r/chrubuntu/comments/34d6qs/help_acer_c710_touchpad_support_with_ubuntu_1504/)

What options are available in this situation?

I can understand the original decision, however the statement "There's no reason whatsoever to do this in a default setup" no longer appears to hold true.

https://www.kernel.org/doc/Documentation/i2c/busses/i2c-i801
http://www.synaptics.com/en/intertouch.php

Perhaps it is possible to evaluate this blacklist entry at kmod package install time, so that it is only inserted on detection of nc6000 hardware. Or, if the preference is to minimise change risk to devices that need this module: evaluate removal of the module from the blacklist at kmod package install time (eg some variation of sudo dmidecode | grep -i "product name")

Or just maybe, it might be acceptable to just remove this module from the blacklist?

Should I convert this question to a bug, or perhaps https://bugs.launchpad.net/ubuntu/+source/module-init-tools/+bug/857175 should be moved to kmod team?

thanks in advance

Best Manfred Hampl (m-hampl) said : #3

What you write sounds absolutely reasonable to me.

It might well be that the "blacklist i2c_i801" now has negative effects on more systems (Acer C710) than the number of system where it helps (HP nc6000 seems quite old and most probably will be very rare today).

The source package for bug #16602 was hotplug (not existing in current Ubuntu releases any more).
Bug #857175 is against module-init-tools (existing only for precise).
As far as I can see the blacklist.conf file now is provided by kmod (replaces module-init-tools, according to http://bugs.debian.org/681285 )

Adding a new task for kmod to Bug #857175 seems justified, but you might also consider creating a new bug report.

Ewan (ewann) said : #4
Ewan (ewann) said : #5

Thanks Manfred Hampl, that solved my question.