【发布时间】:2014-10-02 14:44:46
【问题描述】:
我的应用有一点问题。
首先我安装包 i2c-tools,
我授予所有用户对 dev/i2c* 文件的所有权限。
之后,在 etc/modules 文件中添加行 i2c-dev
i2c 设备存在于 /dev/ 目录中。
我猜问题出在我的 C 代码中:int fd = open("/dev/i2c-1", O_RDWR); 返回 -1 值,它给出 errno:2 No such file or directory.
任何人有建议,我找不到什么问题?
i2cdetect下面,设备和权限输出。
root@arge16-HP-600B:/home/arge1-6# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- 37 -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- 49 -- -- -- -- -- --
50: 50 -- -- -- -- -- -- -- -- 59 -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@arge16-HP-600B:/home/arge1-6# i2cdetect -l
i2c-0 i2c i915 gmbus ssc I2C adapter
i2c-1 i2c i915 gmbus vga I2C adapter
i2c-2 i2c i915 gmbus panel I2C adapter
i2c-3 i2c i915 gmbus dpc I2C adapter
i2c-4 i2c i915 gmbus dpb I2C adapter
i2c-5 i2c i915 gmbus dpd I2C adapter
i2c-6 i2c DPDDC-B I2C adapter
root@arge16-HP-600B:/home/arge1-6# ls -l /dev/i2c*
crw-rw-rw- 1 root i2c 89, 0 Oct 2 14:36 /dev/i2c-0
crw-rw-rw- 1 root i2c 89, 1 Oct 2 14:36 /dev/i2c-1
crw-rw-rw- 1 root i2c 89, 2 Oct 2 14:36 /dev/i2c-2
crw-rw-rw- 1 root i2c 89, 3 Oct 2 14:36 /dev/i2c-3
crw-rw-rw- 1 root i2c 89, 4 Oct 2 14:36 /dev/i2c-4
crw-rw-rw- 1 root i2c 89, 5 Oct 2 14:36 /dev/i2c-5
crw-rw-rw- 1 root i2c 89, 6 Oct 2 14:36 /dev/i2c-6
root@arge16-HP-600B:/home/arge1-6/Desktop/ekrem/adt/workspaceEkrem/DIP40/IpIntercomDIP40# strace i2cdetect -y 1
execve("/usr/sbin/i2cdetect", ["i2cdetect", "-y", "1"], [/* 28 vars */]) = 0
brk(0) = 0xf1a000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f53bc733000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=125548, ...}) = 0
mmap(NULL, 125548, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f53bc714000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\36\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1853400, ...}) = 0
mmap(NULL, 3961912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f53bc14b000
mprotect(0x7f53bc308000, 2097152, PROT_NONE) = 0
mmap(0x7f53bc508000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bd000) = 0x7f53bc508000
mmap(0x7f53bc50e000, 17464, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f53bc50e000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f53bc713000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f53bc711000
arch_prctl(ARCH_SET_FS, 0x7f53bc711740) = 0
mprotect(0x7f53bc508000, 16384, PROT_READ) = 0
mprotect(0x603000, 4096, PROT_READ) = 0
mprotect(0x7f53bc735000, 4096, PROT_READ) = 0
munmap(0x7f53bc714000, 125548) = 0
open("/dev/i2c/1", O_RDWR) = -1 ENOENT (No such file or directory)
open("/dev/i2c-1", O_RDWR) = 3
ioctl(3, 0x705, 0x7fff039b01d8) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f53bc732000
write(1, " 0 1 2 3 4 5 6 7 8 "..., 52 0 1 2 3 4 5 6 7 8 9 a b c d e f
) = 52
write(1, "00: ", 400: ) = 4
write(1, " ", 3 ) = 3
write(1, " ", 3 ) = 3
write(1, " ", 3 ) = 3
ioctl(3, 0x703, 0x3) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x4) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x5) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x6) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x7) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x8) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x9) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0xa) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0xb) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0xc) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0xd) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0xe) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0xf) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- \n", 4--
) = 4
write(1, "10: ", 410: ) = 4
ioctl(3, 0x703, 0x10) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x11) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x12) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x13) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x14) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x15) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x16) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x17) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x18) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x19) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x1a) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x1b) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x1c) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x1d) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x1e) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x1f) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- \n", 4--
) = 4
write(1, "20: ", 420: ) = 4
ioctl(3, 0x703, 0x20) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x21) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x22) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x23) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x24) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x25) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x26) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x27) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x28) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x29) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x2a) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x2b) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x2c) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x2d) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x2e) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x2f) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- \n", 4--
) = 4
write(1, "30: ", 430: ) = 4
ioctl(3, 0x703, 0x30) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x31) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x32) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x33) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x34) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x35) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x36) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x37) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = 0
write(1, "37 ", 337 ) = 3
ioctl(3, 0x703, 0x38) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x39) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x3a) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x3b) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x3c) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x3d) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x3e) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x3f) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- \n", 4--
) = 4
write(1, "40: ", 440: ) = 4
ioctl(3, 0x703, 0x40) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x41) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x42) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x43) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x44) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x45) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x46) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x47) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x48) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x49) = 0
ioctl(3, 0x720, 0x7fff039b0120) = 0
write(1, "49 ", 349 ) = 3
ioctl(3, 0x703, 0x4a) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x4b) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x4c) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x4d) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x4e) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x4f) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- \n", 4--
) = 4
write(1, "50: ", 450: ) = 4
ioctl(3, 0x703, 0x50) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = 0
write(1, "50 ", 350 ) = 3
ioctl(3, 0x703, 0x51) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x52) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x53) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x54) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x55) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x56) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x57) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x58) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x59) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = 0
write(1, "59 ", 359 ) = 3
ioctl(3, 0x703, 0x5a) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x5b) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x5c) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x5d) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x5e) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x5f) = 0
ioctl(3, 0x720, 0x7fff039b00f0) = -1 ENXIO (No such device or address)
write(1, "-- \n", 4--
) = 4
write(1, "60: ", 460: ) = 4
ioctl(3, 0x703, 0x60) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x61) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x62) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x63) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x64) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x65) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x66) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x67) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x68) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x69) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x6a) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x6b) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x6c) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x6d) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x6e) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x6f) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- \n", 4--
) = 4
write(1, "70: ", 470: ) = 4
ioctl(3, 0x703, 0x70) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x71) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x72) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x73) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x74) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x75) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x76) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
ioctl(3, 0x703, 0x77) = 0
ioctl(3, 0x720, 0x7fff039b0120) = -1 ENXIO (No such device or address)
write(1, "-- ", 3-- ) = 3
write(1, " ", 3 ) = 3
write(1, " ", 3 ) = 3
write(1, " ", 3 ) = 3
write(1, " ", 3 ) = 3
write(1, " ", 3 ) = 3
write(1, " ", 3 ) = 3
write(1, " ", 3 ) = 3
write(1, " \n", 4
) = 4
close(3) = 0
exit_group(0) = ?
+++ exited with 0 +++
【问题讨论】:
-
试试
strace i2cdetect -y 1,看看它实际上在做什么,然后比较你的尝试。 -
我尝试您的建议并编辑问题
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) -
其实我的程序是一个安卓apk。我使用java本机接口,所以我从C调用java中的函数。
Strace是android中的Logcat函数?我如何将 strace 用于 android apk>?现在我该怎么办? -
但是有些东西看起来仍然非常可疑 - 您从提示符“root@arge16-HP-600B”进行了测试。 HP-600B 是一款塔式 PC,听起来更像是一个开发系统,而不是嵌入式 / Android 设备。 您是否真的在与您尝试 android apk 的完全相同的系统(硬件和软件)上运行 i2c-detect ???。
-
'arge16-HP-600B' 是我的电脑名称,不是开发系统。我在 Eclipse 中运行我的 apk。Apk 在 android 虚拟设备上运行。我在 eclipse 的 logcatWindow 中得到了这个错误。我将所有权限授予所有用户。 i2c-detect 与非特权用户一起工作。
标签: embedded i2c linux android java