[Lucid] kernel 2.6.32-22 module i2c-core missing

Bug #597743 reported by ingo
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Won't Fix
Undecided
Unassigned
Nominated for Lucid by ingo

Bug Description

When trying to further dig into bug #575296 (no module for 2nd i2c-bus on ASUS nForce boards), I had to realize that in Lucid's kernel the module

i2c-core

is missing. So I cannot force to load module i2c-nforce2 at address 0x1c40 (like Hardy does automatically). This results in following error message on boot-up Lucid:

ACPI: resource nForce2_smbus [0x1c40-0x1c7f] conflicts with ACPI region SM00 [0x1c40-0x1c45]
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

While Hardy correctly assignes the i2c-nforce2 to both i2c-busses:

i2c-adapter i2c-0: nForce2 SMBus adapter at 0x1c00
i2c-adapter i2c-1: nForce2 SMBus adapter at 0x1c40

In Hardy module i2c-nforce2 depends on i2c-core, not so in Lucid. Lucid only provides i2c-core for the EC2-kernel:

apt-file search i2c-core
 linux-image-2.6.32-305-ec2: /lib/modules/2.6.32-305-ec2/kernel/drivers/i2c/i2c-core.ko
 linux-image-2.6.32-306-ec2: /lib/modules/2.6.32-306-ec2/kernel/drivers/i2c/i2c-core.ko

As a result I cannot pass any arguments to i2c-core to bind to a certain I/O.
---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: ingo 1675 F.... pulseaudio
 /dev/snd/controlC1: ingo 1675 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'NVidia'/'HDA NVidia at 0xfe024000 irq 21'
   Mixer name : 'Analog Devices AD1988B'
   Components : 'HDA:11d4198b,104381f6,00100200'
   Controls : 48
   Simple ctrls : 26
Card1.Amixer.info:
 Card hw:1 'U0x46d0x9a4'/'USB Device 0x46d:0x9a4 at usb-0000:00:02.1-9, high speed'
   Mixer name : 'USB Mixer'
   Components : 'USB046d:09a4'
   Controls : 2
   Simple ctrls : 1
Card1.Amixer.values:
 Simple mixer control 'Mic',0
   Capabilities: cvolume cvolume-joined cswitch cswitch-joined penum
   Capture channels: Mono
   Limits: Capture 0 - 14
   Mono: Capture 0 [0%] [23.75dB] [on]
DistroRelease: Ubuntu 10.04
HibernationDevice: #RESUME=UUID=ceab86c8-3e16-4896-b9fc-dcf21d30a7ce
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100427.1)
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
MachineType: System manufacturer System Product Name
NonfreeKernelModules: nvidia
Package: linux (not installed)
ProcCmdLine: root=/dev/sda9 ro splash
ProcEnviron:
 LANG=de_DE.utf8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-22.36-generic 2.6.32.11+drm33.2
Regression: Yes
RelatedPackageVersions: linux-firmware 1.34
Reproducible: Yes
RfKill:

Tags: lucid kconfig regression-release needs-upstream-testing
Uname: Linux 2.6.32-22-generic x86_64
UserGroups: adm cdrom dialout lpadmin plugdev sambashare
dmi.bios.date: 09/25/2006
dmi.bios.vendor: Phoenix Technologies, LTD
dmi.bios.version: ASUS M2N-E ACPI BIOS Revision 0402
dmi.board.name: M2N-E
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: 1.XX
dmi.chassis.asset.tag: 123456789000
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnPhoenixTechnologies,LTD:bvrASUSM2N-EACPIBIOSRevision0402:bd09/25/2006:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnM2N-E:rvr1.XX:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer

Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Hi ingo,

Please be sure to confirm this issue exists with the latest development release of Ubuntu. ISO CD images are available from http://cdimage.ubuntu.com/releases/ . If the issue remains, please run the following command from a Terminal (Applications->Accessories->Terminal). It will automatically gather and attach updated debug information to this report.

apport-collect -p linux 597743

Also, if you could test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

    [This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: needs-kernel-logs
tags: added: needs-upstream-testing
tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
ingo (ingo-steiner) wrote :

here the upstream test - Debian-Squeeze does contain module i2c-core with same kernel 2.6.32:

ingo@squeeze:~$ locate i2c-core
/lib/modules/2.6.32-5-amd64/kernel/drivers/i2c/i2c-core.ko
ingo@squeeze:~$ uname -a
Linux squeeze 2.6.32-5-amd64 #1 SMP Tue Jun 1 04:34:03 UTC 2010 x86_64 GNU/Linux
ingo@squeeze:~$

and it loads the module as well:

lsmod | grep i2c_core
i2c_core 15712 2 drm,i2c_nforce2

Conclusion: it is Ubuntu-specific

Revision history for this message
ingo (ingo-steiner) wrote : AlsaDevices.txt

apport information

tags: added: apport-collected
description: updated
Revision history for this message
ingo (ingo-steiner) wrote : AplayDevices.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : ArecordDevices.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : BootDmesg.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : Card0.Amixer.values.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : Card0.Codecs.codec.0.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : CurrentDmesg.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : Lspci.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : Lsusb.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : PciMultimedia.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : ProcInterrupts.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : ProcModules.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : UdevDb.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : UdevLog.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote : WifiSyslog.txt

apport information

Revision history for this message
ingo (ingo-steiner) wrote :

The apport information has been collected with Lucid (to which this bug has been assigned to).
Lucid is considered already a release and will suvive Maverick by far with regard to updates and fixes.

Revision history for this message
ingo (ingo-steiner) wrote :

If you need mor or different logs, please let me know

Revision history for this message
ingo (ingo-steiner) wrote :
Revision history for this message
ingo (ingo-steiner) wrote :

I do not understand why such detailled information and logs are required, as everybody having Lucid can easily confirm that module i2c-core is neither available as module, nor compiled into the kernel (there even is no option about it in the kernel configuration as supplied with Lucid):

ingo@pp:/boot$ cat config-2.6.32-22-generic | grep -i i2c
CONFIG_MOUSE_SYNAPTICS_I2C=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_HELPER_AUTO is not set
# I2C Algorithms
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m
# I2C Hardware Bus support
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
CONFIG_I2C_SCMI=m
# I2C system bus drivers (mostly embedded / system-on-chip)
CONFIG_I2C_GPIO=m
CONFIG_I2C_OCORES=m
CONFIG_I2C_SIMTEC=m
# External I2C/SMBus adapter drivers
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m
# Graphics adapter I2C/DDC channel drivers
CONFIG_I2C_VOODOO3=m
# Other I2C/SMBus bus drivers
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_STUB=m
# Miscellaneous I2C Chip support
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
# I2C GPIO expanders:
CONFIG_MFD_WM8350_I2C=m
CONFIG_VIDEO_IR_I2C=m
CONFIG_I2C_SI4713=m
CONFIG_I2C_SI470X=m
CONFIG_FB_NVIDIA_I2C=y
CONFIG_FB_RIVA_I2C=y
CONFIG_FB_MATROX_I2C=m
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_3DFX_I2C=y
CONFIG_SND_SOC_I2C_AND_SPI=m
# I2C RTC drivers
# I2C encoder or helper chips
CONFIG_DRM_I2C_CH7006=m
CONFIG_LIRC_I2C=m

Moreover checking the kernel-parameters.txt does not offer the needed options to configure it.

Changed in linux (Ubuntu):
status: Incomplete → Triaged
tags: added: kernel-core kernel-needs-review
removed: needs-kernel-logs needs-upstream-testing
Revision history for this message
Andy Whitcroft (apw) wrote :

It appears that the module was built-in in lucid. You should still be able to change the module parameters from the kernel command line <modulename>.<parameter>=<value> should allow you to change the io parameters in a similar manner to doing so in the modprobe configuration. Could you try that and let me know here in the bug.

tags: added: kernel-reviewed
removed: kernel-needs-review
Revision history for this message
ingo (ingo-steiner) wrote :

Hi Andy,

yozu are right, i2c-core is compiled into the kernel in lucid. I did search for available options to attach with i2c-nforce2 to the 3 SMBusses in my nVidia nForce 570-Ultra = MCP55:

lspci -v |grep -A8 SMB
00:01.1 SMBus: nVidia Corporation MCP55 SMBus (rev a2)
 Subsystem: ASUSTeK Computer Inc. Unknown device 8239
 Flags: 66MHz, fast devsel, IRQ 10
 I/O ports at fc00 [size=64]
 I/O ports at 1c00 [size=64]
 I/O ports at 1c40 [size=64]
 Capabilities: [44] Power Management version 2

By default only second bus (0x1c00) ist used by i2c-nforce2. Meanwhile I succeeded to attach also to 3rd bus (1c40) with kernel parameter "acpi_enforce_resources=lax". But I am unable to attach to 1st one at 0xfc00.

So I installed Debian-Squeeze with similar kernel to obtain "modinfo":

# modinfo i2c-core
filename: /lib/modules/2.6.32-5-amd64/kernel/drivers/i2c/i2c-core.ko
license: GPL
description: I2C-Bus main module
author: Simon G. Vogl <email address hidden>
depends:
vermagic: 2.6.32-5-amd64 SMP mod_unload modversions

and sadly there is no parameter listed with which I could force it to bind to a certain I/O.

So conclusion is: my posting is obsolete because there are no options available for i2c-core and thus it does not matter whether it is built into the kernel (just not the usual way).

I cannot check if any option is passed on if I append it to the kernel line in menu.lst.

My only question possibly remaining: how to attach with i2c-nforce2 to SMBus #1?

cat /proc/ioports just tells me that there is no module assigned to it:

1c00-1c3f : 0000:00:01.1
  1c00-1c3f : nForce2_smbus
1c40-1c7f : 0000:00:01.1
  1c40-1c7f : nForce2_smbus
.......
fc00-fc3f : 0000:00:01.1

penalvch (penalvch)
tags: added: bios-outdated-1703 needs-upstream-testing
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Closing this bug with Won't fix as Lucid is no longer supported.
Please feel free to open a new bug report if you're still experiencing this on a newer release (Bionic 18.04.3 / Disco 19.04)
Thanks!

Changed in linux (Ubuntu):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.