kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #105870
[Bug 1417032] Re: Userspace can't access i2c devices (missing i2c entries in /dev)
This bug was fixed in the package linux - 3.19.0-7.7
---------------
linux (3.19.0-7.7) vivid; urgency=low
[ Andy Whitcroft ]
* Release Tracking Bug
- LP: #1426013
[ Upstream Kernel Changes ]
* x86/irq: Fix regression caused by commit b568b8601f05
* cxl: Fix leaking interrupts if attach process fails
- LP: #1415102
* cxl: Early return from cxl_handle_fault for a shut down context
- LP: #1415102
* cxl: Disable AFU debug flag
- LP: #1415102
* cxl: Disable SPAP register when freeing SPA
- LP: #1415102
* cxl: remove redundant increment of hwirq
- LP: #1415102
* cxl: Add tracepoints
- LP: #1415102
* cxl: Update CXL ABI documentation
- LP: #1415102
* cxl: Use image state defaults for reloading FPGA
- LP: #1415102
* cxl: Add image control to sysfs
- LP: #1415102
* cxl: Enable CAPP recovery
- LP: #1415102
* cxl: Add ability to reset the card
- LP: #1415102
* cxl: Fix device_node reference counting
- LP: #1415102
* cxl: Export optional AFU configuration record in sysfs
- LP: #1415102
* cxl: Fail AFU initialisation if an invalid configuration record is
found
- LP: #1415102
* cxl: Add missing return statement after handling AFU errror
- LP: #1415102
* powerpc/eeh: Introduce flag EEH_PE_REMOVED
- LP: #1415102
* powerpc/eeh: Allow to set maximal frozen times
- LP: #1415102
* HID: i2c-hid: Limit reads to wMaxInputLength bytes for input events
-- Andy Whitcroft <apw@xxxxxxxxxxxxx> Thu, 26 Feb 2015 16:00:18 +0000
** Changed in: linux (Ubuntu)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1417032
Title:
Userspace can't access i2c devices (missing i2c entries in /dev)
Status in linux package in Ubuntu:
Fix Released
Bug description:
SRU justification:
Impact: userspace code cannot access i2c devices until the i2c-chardev
module is loaded (and thus people might think they are not
working/it's a kernel bug)
Fix: build in i2c-chardev
Test case: boot a kernel with i2c-chardev compiled in and look for i2c
entries in /dev:
[flag@luxor linux]$ ls -la /dev/i2c*
crw-rw---- 1 root i2c 89, 0 Feb 2 09:33 /dev/i2c-0
crw-rw---- 1 root i2c 89, 1 Feb 2 09:33 /dev/i2c-1
crw-rw---- 1 root i2c 89, 2 Feb 2 09:33 /dev/i2c-2
crw-rw---- 1 root i2c 89, 3 Feb 2 09:33 /dev/i2c-3
crw-rw---- 1 root i2c 89, 4 Feb 2 09:33 /dev/i2c-4
crw-rw---- 1 root i2c 89, 5 Feb 2 09:33 /dev/i2c-5
crw-rw---- 1 root i2c 89, 6 Feb 2 09:33 /dev/i2c-6
crw-rw---- 1 root i2c 89, 7 Feb 2 09:33 /dev/i2c-7
--
My board has an i2c bus (and devices attached to it), but the
corresponding /dev entries are missing and userspace can't access
these devices until the i2c-dev module is loaded:
[flag@luxor ~]$ ls -la /sys/bus/i2c/devices/
total 0
drwxr-xr-x 2 root root 0 Feb 2 08:38 .
drwxr-xr-x 4 root root 0 Feb 2 08:38 ..
lrwxrwxrwx 1 root root 0 Feb 2 09:28 i2c-0 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-0
lrwxrwxrwx 1 root root 0 Feb 2 09:28 i2c-1 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1
lrwxrwxrwx 1 root root 0 Feb 2 09:28 i2c-2 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2
lrwxrwxrwx 1 root root 0 Feb 2 09:28 i2c-3 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3
lrwxrwxrwx 1 root root 0 Feb 2 09:28 i2c-4 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-4
lrwxrwxrwx 1 root root 0 Feb 2 09:28 i2c-5 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-5
lrwxrwxrwx 1 root root 0 Feb 2 09:28 i2c-6 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-6
lrwxrwxrwx 1 root root 0 Feb 2 09:28 i2c-7 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-7
[flag@luxor ~]$ i2cdetect -l
[flag@luxor ~]$ ls -la /dev/i2c*
ls: cannot access /dev/i2c*: No such file or directory
[flag@luxor ~]$
[flag@luxor ~]$ sudo modprobe i2c-dev
[flag@luxor ~]$ ls -la /dev/i2c*
crw-rw---- 1 root i2c 89, 0 Feb 2 09:33 /dev/i2c-0
crw-rw---- 1 root i2c 89, 1 Feb 2 09:33 /dev/i2c-1
crw-rw---- 1 root i2c 89, 2 Feb 2 09:33 /dev/i2c-2
crw-rw---- 1 root i2c 89, 3 Feb 2 09:33 /dev/i2c-3
crw-rw---- 1 root i2c 89, 4 Feb 2 09:33 /dev/i2c-4
crw-rw---- 1 root i2c 89, 5 Feb 2 09:33 /dev/i2c-5
crw-rw---- 1 root i2c 89, 6 Feb 2 09:33 /dev/i2c-6
crw-rw---- 1 root i2c 89, 7 Feb 2 09:33 /dev/i2c-7
[flag@luxor ~]$ i2cdetect -l
i2c-0 unknown Radeon i2c bit bus 0x90 N/A
i2c-1 unknown Radeon i2c bit bus 0x91 N/A
i2c-2 unknown Radeon i2c bit bus 0x92 N/A
i2c-3 unknown Radeon i2c bit bus 0x93 N/A
i2c-4 unknown Radeon i2c bit bus 0x94 N/A
i2c-5 unknown Radeon i2c bit bus 0x95 N/A
i2c-6 unknown Radeon i2c bit bus 0x96 N/A
i2c-7 unknown Radeon i2c bit bus 0x97 N/A
[flag@luxor ~]$
Since the module is not automatically loaded, and there's no clue to
load it if i2c devices fail to work (and people reported it as a bug),
i propose to build it statically (it adds ~8k to the uncompressed
kernel image).
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1417032/+subscriptions
References