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