Ok, fixed the directory caching problem.

Paul

On 5/23/06, Paul Alfille <[EMAIL PROTECTED]> wrote:
Thank you, Daniel!

1. Detection seems to work
2. 1-wire search fails after 27 of 64 steps, Not sure why.
3. Clearly a failed directory listing is getting cached -- unrelated error.

I'll make some changes to see if we can figure out why the search is
failing. It seems like a timing, hardware or driver problem, really.

Paul

On 5/23/06, Daniel Höper <[EMAIL PROTECTED]> wrote:
> Hello Paul,
>
> this is the debug output from owserver:
>
> ~ $ /usr/bin/owserver --foreground --error_level 9 -p 2000 /dev/i2c-1
> CONNECT: Found an i2c device at /dev/i2c-1 address 24
> CONNECT: i2c device at /dev/i2c-1 address 24 cannot be reset
> CONNECT: Found an i2c device at /dev/i2c-1 address 25
> CONNECT: i2c device at /dev/i2c-1 address 25 cannot be reset
> CONNECT: Found an i2c device at /dev/i2c-1 address 26
>   DEBUG: DS2482 read status ok
> CONNECT: i2c device at /dev/i2c-1 address 26 appears to be DS2482-x00
>    CALL: No message
>    CALL: owserver: parse path=
>    CALL: PARSENAME path=[]
>    CALL: Directory message
> OWSERVER SpecifiedBus=0 pn->bus_nr=-1
>   DEBUG: owserver dir pre =
>    CALL: DIRECTORY path=
>   DEBUG: Get from cache sn 00 00 00 00 00 00 00 00 in=0x134b8 index=0
>   DEBUG: Found in cache
>   DEBUG: Start of directory path= device=00 00 00 00 00 00 00 00
>    DATA: BUS_first: No data will be returned
>   DEBUG: Selecting a path (and device) path= SN=00 00 00 00 00 00 00 00 last
> path=01 00 00 00 00 00 00 00
>   DEBUG: Clearing root branch
>   DEBUG: owserver dir post =
>    CALL: owserver: parse path=
>    CALL: PARSENAME path=[]
>    CALL: Directory message
> OWSERVER SpecifiedBus=0 pn->bus_nr=-1
>   DEBUG: owserver dir pre =
>    CALL: DIRECTORY path=
>   DEBUG: Get from cache sn 00 00 00 00 00 00 00 00 in=0x134b8 index=0
>   DEBUG: Found in cache
>   DEBUG: Start of directory path= device=00 00 00 00 00 00 00 00
>    DATA: BUS_first: No data will be returned
>   DEBUG: Selecting a path (and device) path= SN=00 00 00 00 00 00 00 00 last
> path=01 00 00 00 00 00 00 00
>   DEBUG: Clearing root branch
>   DEBUG: DS2482 read status ok
>   DEBUG: DS2482 Reset
>   DEBUG: DS2482 read status ok
>   DEBUG: DS2482 read status ok
>   DEBUG: DS2482 read status ok
>   DEBUG: DS2482 Reset
>   DEBUG: DS2482 read status ok
>   DEBUG: DS2482 search bit number 0
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 1
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 2
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 3
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 4
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 5
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 6
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 7
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 8
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 9
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 10
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 11
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 12
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 13
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 14
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 15
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 16
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 17
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 18
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 19
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 20
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 21
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 22
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 23
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 24
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 1 0 1
>   DEBUG: DS2482 search bit number 25
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: DS2482 read status ok
>   DEBUG: <- TRIPLET 0 1 0
>   DEBUG: DS2482 search bit number 26
>   DEBUG: -> TRIPLET attempt direction 0
>   DEBUG: BUS_next return = -1 2C 0B B8 01 00 00 00 00
>   DEBUG: owserver dir post =
>    CALL: owserver: parse path=
>    CALL: PARSENAME path=[]
>    CALL: Directory message
> OWSERVER SpecifiedBus=0 pn->bus_nr=-1
>   DEBUG: owserver dir pre =
>    CALL: DIRECTORY path=
>   DEBUG: Get from cache sn 00 00 00 00 00 00 00 00 in=0x134b8 index=0
>   DEBUG: Found in cache
>   DEBUG: Start of directory path= device=00 00 00 00 00 00 00 00
>   DEBUG: Selecting a path (and device) path= SN=00 00 00 00 00 00 00 00 last
> path=00 00 00 00 00 00 00 00
>   DEBUG: owserver dir post =
>    CALL: owserver: parse path=
>    CALL: PARSENAME path=[]
>    CALL: Directory message
> OWSERVER SpecifiedBus=0 pn->bus_nr=-1
>   DEBUG: owserver dir pre =
>    CALL: DIRECTORY path=
>   DEBUG: Get from cache sn 00 00 00 00 00 00 00 00 in=0x134b8 index=0
>   DEBUG: Found in cache
>   DEBUG: Start of directory path= device=00 00 00 00 00 00 00 00
>   DEBUG: Selecting a path (and device) path= SN=00 00 00 00 00 00 00 00 last
> path=00 00 00 00 00 00 00 00
>   DEBUG: owserver dir post =
>    CALL: owserver: parse path=uncached
>    CALL: PARSENAME path=[uncached]
>    CALL: Directory message
> OWSERVER SpecifiedBus=0 pn->bus_nr=-1
>   DEBUG: owserver dir pre = uncached
>    CALL: DIRECTORY path=uncached
>   DEBUG: Start of directory path=uncached device=00 00 00 00 00 00 00 00
>   DEBUG: Selecting a path (and device) path=uncached SN=00 00 00 00 00 00 00
> 00 last path=00 00 00 00 00 00 00 00
>   DEBUG: owserver dir post = uncached
>
> On the client side I executed:
> % OW::init 10.0.1.1:2000
> % OW::get
> structure/ uncached/ bus.0/ settings/ system/ statistics/
> % OW::get
> structure/ uncached/ bus.0/ settings/ system/ statistics/
> % OW::get
> structure/ uncached/ bus.0/ settings/ system/ statistics/
> % OW::get
> structure/ uncached/ bus.0/ settings/ system/ statistics/
> % OW::get uncached
> structure/ bus.0/ settings/ system/ statistics/
>
> I hope it helps.
> (Hardware components and configuration have not changed)
>
> Daniel
>
> Am Samstag, 20. Mai 2006 17:52 schrieb Paul Alfille:
> > Daniel,
> >
> > This is better than I expected.
> > With your modifications, it sounds like:
> > 1. The chip is detected
> > 2. Reset and the start of a device search works.
> >
> > I'm uploading a more heavily "instrumented" version -- more debugging
> > information -- which might help us figure out the problem.
> >
> > Paul
> >
> > On 5/20/06, Daniel Höper <[EMAIL PROTECTED]> wrote:
> > > My first attempt with the current CVS version failed, owserver did not
> > > print anything on the console. I cannot find where DS2482_detect() is
> > > called, thus I added the following code to the switch() statement in
> > > LibStart(): ...
> > > case bus_i2c:
> > >         ret = DS2482_detect(in);
> > >         break;
> >
> > Exactly! Fixed.
> >
> > > ...
> > > (Is this the right place and method to initialize the device?)
> > >
> > > Next problem is a segmentation fault in DS2482_channel_select() caused by
> > > the head pointer which is NULL during initialization. In this case a
> > > "return 0" should be sufficient for the DS2482-100. (probably I will
> > > finish a test environment with a DS2482-800 in the next few days)
> >
> > Fixed. Thanks.
> >
> > > After this two modifications owserver shows the following:
> > >
> > > / $ /usr/bin/owserver --foreground --error_level 9 -p 2000 /dev/i2c-1
> > > CONNECT: Found an i2c device at /dev/i2c-1 address 24
> > >    CALL: PARSENAME path=[]
> > > CONNECT: Found an i2c device at /dev/i2c-1 address 25
> > >    CALL: PARSENAME path=[]
> > > CONNECT: Found an i2c device at /dev/i2c-1 address 26
> > >    CALL: PARSENAME path=[]
> > > CONNECT: i2c device at /dev/i2c-1 address 26 appears to be DS2482-x00
> > >    CALL: No message
> > >    CALL: owserver: parse path=uncached
> > >    CALL: PARSENAME path=[uncached]
> > >    CALL: Directory message
> > > OWSERVER SpecifiedBus=0 pn->bus_nr=-1
> > >   DEBUG: owserver dir pre = uncached
> > >    CALL: DIRECTORY path=uncached
> > >   DEBUG: Start of directory path=uncached device=00 00 00 00 00 00 00 00
> > >   DEBUG: Selecting a path (and device) path=uncached SN=00 00 00 00 00 00
> > > 00 00 last path=01 00 00 00 00 00 00 00
> > >   DEBUG: Clearing root branch
> > >   DEBUG: BUS_next return = -1 2C 0B B8 01 00 00 00 00
> > >   DEBUG: owserver dir post = uncached
> > >    CALL: owserver: parse path=
> > >    CALL: PARSENAME path=[]
> > >    CALL: Directory message
> > > OWSERVER SpecifiedBus=0 pn->bus_nr=-1
> > >   DEBUG: owserver dir pre =
> > >    CALL: DIRECTORY path=
> > >   DEBUG: Get from cache sn 00 00 00 00 00 00 00 00 in=0x134b8 index=0
> > >   DEBUG: Found in cache
> > >   DEBUG: Start of directory path= device=00 00 00 00 00 00 00 00
> > >   DEBUG: Selecting a path (and device) path= SN=00 00 00 00 00 00 00 00
> > > last path=00 00 00 00 00 00 00 00
> > >   DEBUG: BUS_next return = -1 2C 0B 00 00 00 00 00 00
> > >   DEBUG: owserver dir post =
> > >
> > >
> > > To communicate with the server I used owtcl on another machine:
> > >
> > > % OW::init 10.0.1.1:2000
> > > % OW::get uncached
> > > structure/ bus.0/ settings/ system/ statistics/
> > > % OW::get
> > > structure/ uncached/ bus.0/ settings/ system/ statistics/
> > >
> > > There is only one chip connected to the 1-wire bus.
> > > It's a DS2890, ID: "2C 0B B8 05 00 00 00 E2"
> > > This ID is partially shown in the debug output (BUS_next).
> > >
> > > I restarted the machine and owserver several times and run "OW::get" but
> > > there wasn't an entry in the directory for the chip.
> > >
> > > Daniel
> > >
>
>
> -------------------------------------------------------
> All the advantages of Linux Managed Hosting--Without the Cost and Risk!
> Fully trained technicians. The highest number of Red Hat certifications in
> the hosting industry. Fanatical Support. Click to learn more
> http://sel.as-us.falkag.net/sel?cmdlnk&kid7521&bid$8729&dat1642
> _______________________________________________
> Owfs-developers mailing list
> Owfs-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>



-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid7521&bid$8729&dat1642
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to