I seem to have completely missed something very important.

>       I decided to trace back, and it seems FS_realdir() is called by
> FS_dir_seek(), however that function is never called either; nor is
> FS_dir().  If I continue to follow the path, FS_dir() seems to only
> called from owfs in FS_getdir(), which also never seems to be called.
> >From what I can gather, I would have to go into FUSE to find where that
> is called... so I turned my attention to where owfs gets FUSE started.
> 
>       I took the following line:
>               if ( LibStart() ) ow_exit(1) ;
> and turned it into:
>               testing = LibStart();
>               fprintf(stderr, "LibStart() returned %d", testing);
>               if ( testing ) ow_exit(1) ;
> Interestingly enough, I never saw that output.  It got to the line
> before calling LibStart(), but never printed `testing', yet I could
> still access parts of the file system.  I know nothing about how FUSE
> works, but I would have thought it would be a case of all-or-nothing.

        I just realised LibStart() was starting owlib, not FUSE, and when I
looked through that I realised that the call to daemon was with the
arguments (1,0): all output is sent to /dev/null!  I have now changed
that to (1,1) and now see things closer to what I would have expected:
                # ls /mnt/1wire/
                FS_dir()
                FS_realdir()
                OMAP_reset()
                OMAP_send_and_get()
                OMAP_reset(): AnyDevices = 1
                OMAP_sendback_data()
                OMAP_send_and_get()
                OMAP_select()
                OMAP_reset()
                OMAP_send_and_get()
                OMAP_reset(): AnyDevices = 1
                OMAP_next_both()
                OMAP_send_data()
                OMAP_sendback_data()
                OMAP_send_and_get()
                OMAP_send_data_errors

        Further investigation shows that the problem is that the memcmp() in
OMAP_send_data() is returning a non-zero value (which means it should be
OMAP_send_data_memcmp_errors rather than OMAP_send_data_errors, but I
will work out what is wrong there later).  I am sending of 0xF0 (Search
ROM) and receiving 0xAD... which, to be honest, I do not know how to
interpret!  From my understanding, 0xF0 is used to identify all the
devices on the bus (in this case, there is only one).  I would imagine
the link provided yesterday would explain this, but the site seems to be
still down; hopefully it will come back soon, and I will be able to work
out what is going wrong.

        Thanks,

        Matthew



-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP, 
AMD, and NVIDIA.  To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to