-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ok, digging some deeper today.

Preface: these were found&analyzed using 2.8p14 on my Ubuntu
11.04/32-Desktop, one DS9490, 5cm cable a parasite DS18B20 and one
DS2438 (similar MS-TH). NOTHING else on the USB, i7..
Should say: it is also very unstable on very short buses right now. I
also added a ton of debugging-output to get this picture a little
clearer..


My current assumptions:
#1) The source-problem: reset_errors:
These happen due to timeouts ("never got idle") in DS9490_getstatus
doing an POR of the DS2490 which leads to problem #2 then.
The reason (again assumed!)

- - DS9490_HaltPulse isnt working always (or accepted, delivered,
whatever) in lets say at least 10% of the cases; simply doubling the
call makes the trouble appear just 50% later..
(Question: why is an infinite SPU-period (0) and not the builtin
SPU-duration of the chip used? Maybe there's a good reason for, but I
wondered..)

- -> The DS2490 stays in SPU then (measured) and owfs thinks of a
timeout due to it's never saying "idle" anymore)


#2) no initialization of MODE registers and speed etc. is done after
this reset.
(I don't know where this code should go but it surely needs to be done
after a full Power-on-reset..)


#3) I'm still investigating, now with long lines, is then probably the
initially reported problem:
(but it makes no real sense to troubleshoot, as long as it fails
within minutes with the above, simple setup)
The reconnect doesn't do anything at all as far as I can see when the
bus is getting into a "zero-ID" state (Attempting RESET on null bus):
Just a log-excerpt:
- --- cut ---
  DEBUG: ow_reset.c:(48) Reset error. Reconnection 3/2
  DEBUG: ow_transaction.c:(84) select = 1
  DEBUG: ow_cache.c:(956) 28 C5 0E EC 01 00 00 38 size=4
  DEBUG: ow_cache.c:(1083) Search in cache sn 28 C5 0E EC 01 00 00 38
pointer=0xb7746c64 index=-2 size=4
  DEBUG: ow_cache.c:(1119) Value not found in cache
  DEBUG: ow_select.c:(66) Selecting a path (and device)
path=/28.C50EEC010000/temperature10 SN=28 C5 0E EC 01 00 00 38 last
path=00 00 00 00 00 00 00 00
  DEBUG: ow_select.c:(79) Continuing root branch
  DEBUG: ow_ds9490.c:(513) Attempting RESET on null bus
  DEBUG: ow_reset.c:(48) Reset error. Reconnection 4/2
- --- cut ---

My programming skills are limited but as far as I can see DS9490_reset
returns BUS_RESET_ERROR on (Attempting RESET on null bus) then and
nothing else happens to really recover or simply delete (?) a lost one
and maybe let the usb-scanner rediscover it..

And again: as already said: the core symptom (recovery/reconnect) also
happens with 2.8p2 already but *much less frequently*
(though still dozens times a day, an external process restarting
owserver on disappearing DS9490 after one minute does the job so far
but thats: a big quirk..)


and on another thing:
Am 07.02.2012 14:45, schrieb Mark Richards:
> Yours is not a new idea.. however there are good reasons for
> making physical adjustments to the one wire net.
I agree. But I'm trying to run 1-Wire in many "unknown" environment ;)
And we're really talking about a software-problem about recovery here,
otherwise it wouldn't work for hours after an owserver-restart..


best regards

Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8xvUkACgkQaWRHV2kMuAIlwQCeNo8GGVzFvzhdEvekulwfOQcC
QwIAoKOKhqEOUEy0VLNiz3PELlt49IOp
=yv2Q
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to