Added more debugging info. It looks like there was a problem reading
from the DS2482 status register. This may show why.

Paul

On 5/23/06, Paul Alfille <[EMAIL PROTECTED]> wrote:
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