Re: owfs on openwrt
Alessio Sangalli <alesan <at> manoweb.com>
2008-04-03 15:04:52 GMT
Alessio Sangalli wrote:
> I I have a small board with a DS2480B on it and a couple of 1-wire devices.
>
> Everything works perfectly when run on my laptop through a MAX233A as
> level converter.
I have attached a USB to serial converter to the Asus (the very same
setup works on my laptop as I mentioned) and tried to issue the command
below.
The problem's that, once the owfs seems to start ok, if I try to change
into the directory the cd command hangs. The system works from another
console, the CPU is not hogged.
root <at> OpenWrt:~# strace -f owfs -d /dev/ttyUSB0 /mnt/1-wire/
execve("/usr/bin/owfs", ["owfs", "-d", "/dev/ttyUSB0", "/mnt/1-wire/"],
[/* 8 vars */]) = 0
svr4_syscall() = -1 ERRNO_4090 (Unknown error 4090)
stat("/etc/ld.so.cache", 0x7f94ea40) = -1 ENOENT (No such file or
directory)
open("/usr/lib/libow-2.7.so.4", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=387351, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\360\341\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 651264, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2aaee000
old_mmap(0x2aaee000, 303300, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 0) = 0x2aaee000
old_mmap(0x2ab78000, 84247, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x4a000) = 0x2ab78000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/usr/lib/libfuse.so.2", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=101579, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0 <at> /\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 364544, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2ab8d000
old_mmap(0x2ab8d000, 98608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 0) = 0x2ab8d000
old_mmap(0x2abe5000, 3275, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x18000) = 0x2abe5000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/usr/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libpthread.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=71594, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\0205\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 344064, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2abe6000
old_mmap(0x2abe6000, 49960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 0) = 0x2abe6000
old_mmap(0x2ac32000, 22442, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xc000) = 0x2ac32000
old_mmap(0x2ac38000, 6816, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ac38000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/usr/lib/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libgcc_s.so.1", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=60806, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0\240\31\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 323584, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2ac3a000
old_mmap(0x2ac3a000, 58700, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 0) = 0x2ac3a000
old_mmap(0x2ac88000, 3462, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xe000) = 0x2ac88000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/usr/lib/libc.so.0", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2aaae000
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0
\250\0\0004\0\0\0"..., 4096) = 4096
old_mmap(NULL, 671744, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2ac89000
old_mmap(0x2ac89000, 383780, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 0) = 0x2ac89000
old_mmap(0x2ad26000, 8051, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x5d000) = 0x2ad26000
old_mmap(0x2ad28000, 19408, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ad28000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libpthread.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=71594, ...}) = 0
close(3) = 0
open("/lib/libgcc_s.so.1", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=60806, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
open("/lib/libdl.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=8302, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x2aaae000
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\10\0\1\0\0\0p\10\0\0004\0\0\0"...,
4096) = 4096
old_mmap(NULL, 274432, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2ad2d000
old_mmap(0x2ad2d000, 6448, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 0) = 0x2ad2d000
old_mmap(0x2ad6e000, 4206, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x1000) = 0x2ad6e000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libgcc_s.so.1", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=60806, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=388979, ...}) = 0
close(3) = 0
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=20694, ...}) = 0
mprotect(0x2ac32000, 4096, PROT_READ) = 0
mprotect(0x2ad26000, 4096, PROT_READ) = 0
mprotect(0x2ad6e000, 4096, PROT_READ) = 0
mprotect(0x2aaec000, 4096, PROT_READ) = 0
ioctl(0, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
getpid() = 490
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
setrlimit(RLIMIT_STACK, {rlim_cur=2040*1024, rlim_max=RLIM_INFINITY}) = 0
rt_sigaction(SIGRT_0, {SIG_DFL}, NULL, 16) = 0
rt_sigaction(SIGRT_1, {SIG_DFL}, NULL, 16) = 0
rt_sigaction(SIGRT_2, {SIG_DFL}, NULL, 16) = 0
rt_sigprocmask(SIG_BLOCK, [RT_0], NULL, 16) = 0
rt_sigprocmask(SIG_UNBLOCK, [RT_1], NULL, 16) = 0
brk(0) = 0x443000
brk(0x444000) = 0x444000
time(NULL) = 1207234643
time(NULL) = 1207234643
time(NULL) = 1207234643
stat64(0x7f94ef5b, 0x7f94eac0) = 0
getpid() = 490
getrlimit(RLIMIT_STACK, {rlim_cur=2040*1024, rlim_max=RLIM_INFINITY}) = 0
rt_sigaction(SIGRT_0, {SIG_DFL}, NULL, 16) = 0
rt_sigaction(SIGRT_1, {SIG_DFL}, NULL, 16) = 0
rt_sigaction(SIGRT_2, {SIG_DFL}, NULL, 16) = 0
rt_sigprocmask(SIG_BLOCK, [RT_0], NULL, 16) = 0
rt_sigprocmask(SIG_UNBLOCK, [RT_1], NULL, 16) = 0
open("/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_NONBLOCK|O_LARGEFILE) = 3
ioctl(3, TIOCNXCL, {B9600 opost isig icanon echo ...}) = 0
ioctl(3, TIOCNXCL, {B9600 opost isig icanon echo ...}) = 0
ioctl(3, TIOCSPGRP, {B0 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCGETA or SNDCTL_TMR_TEMPO, 0) = 0
ioctl(3, TCSETAW or SNDCTL_TMR_METRONOME, 0x2) = 0
write(3, "\343", 1) = 1
ioctl(3, TCGETA or SNDCTL_TMR_TEMPO, 0x1) = 0
gettimeofday({1207234643, 322696}, NULL) = 0
write(3, "\301", 1) = 1
ioctl(3, TCGETA or SNDCTL_TMR_TEMPO, 0x1) = 0
gettimeofday({1207234643, 325055}, NULL) = 0
_newselect(4, [3], NULL, NULL, {5, 0}) = 1 (in [3], left {4, 996000})
gettimeofday({1207234643, 328671}, NULL) = 0
gettimeofday({1207234643, 329660}, NULL) = 0
read(3, "\315", 1) = 1
ioctl(3, TCSETAW or SNDCTL_TMR_METRONOME, 0x2) = 0
ioctl(3, TIOCNXCL, {B0 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TIOCSPGRP, {B9600 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCGETA or SNDCTL_TMR_TEMPO, 0) = 0
nanosleep({0, 2000000}, {0, 2000000}) = 0
ioctl(3, TCSETAW or SNDCTL_TMR_METRONOME, 0x2) = 0
write(3, "\301", 1) = 1
ioctl(3, TCGETA or SNDCTL_TMR_TEMPO, 0x1) = 0
gettimeofday({1207234643, 602163}, NULL) = 0
nanosleep({0, 4000000}, {0, 4000000}) = 0
ioctl(3, TCSETAW or SNDCTL_TMR_METRONOME, 0x2) = 0
write(3, "E", 1) = 1
ioctl(3, TCGETA or SNDCTL_TMR_TEMPO, 0x1) = 0
gettimeofday({1207234643, 614005}, NULL) = 0
_newselect(4, [3], NULL, NULL, {5, 0}) = 1 (in [3], left {5, 0})
gettimeofday({1207234643, 616072}, NULL) = 0
gettimeofday({1207234643, 616680}, NULL) = 0
read(3, "D", 1) = 1
write(3, "[", 1) = 1
ioctl(3, TCGETA or SNDCTL_TMR_TEMPO, 0x1) = 0
gettimeofday({1207234643, 619657}, NULL) = 0
_newselect(4, [3], NULL, NULL, {5, 0}) = 1 (in [3], left {4, 996000})
gettimeofday({1207234643, 624464}, NULL) = 0
gettimeofday({1207234643, 625090}, NULL) = 0
read(3, "Z", 1) = 1
write(3, "?", 1) = 1
ioctl(3, TCGETA or SNDCTL_TMR_TEMPO, 0x1) = 0
gettimeofday({1207234643, 628132}, NULL) = 0
_newselect(4, [3], NULL, NULL, {5, 0}) = 1 (in [3], left {4, 996000})
gettimeofday({1207234643, 632460}, NULL) = 0
gettimeofday({1207234643, 633074}, NULL) = 0
read(3, ">", 1) = 1
write(3, ")", 1) = 1
ioctl(3, TCGETA or SNDCTL_TMR_TEMPO, 0x1) = 0
gettimeofday({1207234643, 636234}, NULL) = 0
_newselect(4, [3], NULL, NULL, {5, 0}) = 1 (in [3], left {4, 996000})
gettimeofday({1207234643, 640506}, NULL) = 0
gettimeofday({1207234643, 641122}, NULL) = 0
read(3, "(", 1) = 1
ioctl(3, TCSETAW or SNDCTL_TMR_METRONOME, 0x2) = 0
write(3, "\305", 1) = 1
ioctl(3, TCGETA or SNDCTL_TMR_TEMPO, 0x1) = 0
gettimeofday({1207234643, 644873}, NULL) = 0
_newselect(4, [3], NULL, NULL, {5, 0}) = 1 (in [3], left {4, 996000})
gettimeofday({1207234643, 648127}, NULL) = 0
gettimeofday({1207234643, 649089}, NULL) = 0
read(3, "\315", 1) = 1
ioctl(3, TCSETAW or SNDCTL_TMR_METRONOME, 0x2) = 0
rt_sigaction(SIGHUP, {0x8, [], SA_STACK|SA_INTERRUPT|0x2bee764}, NULL,
16) = 0
rt_sigaction(SIGUSR1, {0x8, [], SA_STACK|SA_INTERRUPT|0x2bee764}, NULL,
16) = 0
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 16) = 0
readlink("/mnt", 0x7f94bbb8, 4095) = -1 EINVAL (Invalid argument)
readlink("/mnt/1-wire", 0x7f94bbb8, 4095) = -1 EINVAL (Invalid argument)
open("/dev/null", O_RDWR|O_LARGEFILE) = 4
close(4) = 0
lstat64("/mnt/1-wire", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
open("/mnt/1-wire", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 4
fstat(4, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
fcntl(4, F_SETFD, FD_CLOEXEC) = 0
brk(0x445000) = 0x445000
getdents64(4, /* 2 entries */, 4096) = 48
getdents64(4, /* 0 entries */, 4096) = 0
close(4) = 0
open("/dev/fuse", O_RDWR|O_LARGEFILE) = 4
getuid() = 0
getgid() = 0
mount("OWFS", "/mnt/1-wire", "fuse.OWFS", MS_NOSUID|MS_NODEV,
"fd=4,rootmode=40000,user_id=0,gr"...) = 0
geteuid() = 0
readlink("", 0x7f94bab0, 4095) = -1 EINVAL (Invalid argument)
lstat64("/etc/mtab", {st_mode=S_IFLNK|0777, st_size=12, ...}) = 0
getuid() = 0
brk(0x452000) = 0x452000
brk(0x460000) = 0x460000
fork(Process 491 attached
) = 491
[pid 490] --- SIGCHLD (Child exited) <at> 0 (0) ---
[pid 490] exit(0) = ?
Process 491 detached
root <at> OpenWrt:~# ps ax
PID Uid VSZ Stat Command
1 root 2412 S init
2 root SW< [kthreadd]
3 root SW< [ksoftirqd/0]
4 root SW< [events/0]
5 root SW< [khelper]
19 root SW< [kblockd/0]
51 root SW [pdflush]
52 root SW [pdflush]
53 root SW< [kswapd0]
54 root SW< [aio/0]
66 root SW< [mtdblockd]
222 root SWN [jffs2_gcd_mtd3]
236 root 2412 S logger -s -p 6 -t
237 root 2412 S init
246 root 2424 S syslogd -C16
248 root 2404 S klogd
258 root 1128 S /sbin/hotplug2 --override --persistent
--max-children
362 root SW< [khubd]
466 root 1928 S /usr/sbin/dropbear -p 22
471 root 2408 S /usr/sbin/httpd -p 80 -h /www -r OpenWrt
475 root 2440 S /bin/sh /etc/rc.common /etc/rc.d/S80ntpclient boot
483 root 1984 S /usr/sbin/dropbear -p 22
484 root 1984 S /usr/sbin/dropbear -p 22
485 root 2416 S -ash
487 root 2424 S -ash
492 root 2972 S owfs -d /dev/ttyUSB0 /mnt/1-wire/
493 root 2972 S owfs -d /dev/ttyUSB0 /mnt/1-wire/
494 root 2972 S owfs -d /dev/ttyUSB0 /mnt/1-wire/
496 root 2412 S ping -c 1 0.openwrt.pool.ntp.org
497 root 2412 R ps ax
root <at> OpenWrt:~# cd /mnt/1-wire
At this point the "cd" command will never complete.
Thank you
Alessio
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace