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?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