Hi!

I did a quick test setup with 4 adapters.
This is how the devices are spread among the adapters:
1. 1xDS18S20, 1xLCD (Louis Swartz)
2.  9xDS18S20
3.  1xDS18S20, 2x DS2423P
4.  2xDS2413, 1xLCD (Louis Swartz)

To generate the error I simply run:
"watch grep . 10*/temperature"
in the uncached dir.

After just a while I get "Invalid argument..." on some of the sensors.

The logfile can be found at www.temperatur.nu/owfs-debug/owfs.log.tgz

If you want me to run more tests with different setups, just let me
know. (I've got lots of adaptors and different sensors)

If you need any adapters, just let me know...

Best regards
Erik Freiholtz

Paul Alfille skrev:
> Sounds like this should get fixed!
>
> I can probably find 4 adapters. How many devices on each?
>
> Can you send me a log file (error_level=9) so I can try to see where 
> the problem occurs?
>
> Paul Alfille
>
> On Tue, Apr 14, 2009 at 4:55 PM, Erik Freiholtz <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     Paul Alfille skrev:
>     >
>     >
>     >     >OWFS handles multiple adapters seemlessly. There is no
>     specified
>     >     limit on the number, but I haven't tried 10-15. You can also
>     >     partition the master among multiple machines, or multiple
>     >     instances of owserver on the same machine. The overhead is
>     minimal.
>     >
>     Sorry for making an OT answer. Unfortunately the multiple adapters
>     support is very buggy. 2 or 3 adapters works ok most of the time.
>     With 4
>     or more it gets weird. All devices are seen, but randomly (at least it
>     appears to be random) reading sensors data fails with "Invalid
>     Argument". (I'm not 100% sure regarding the given error, it a
>     couple of
>     months ago I last tried the multiple adapters suport.).
>
>     The only solution I've come up with is to start several owfs-instances
>     with -u1 -u2 etc and point them to separate directories and the
>     symlink
>     the devices to one folder.
>
>     At the moment I only have live systems with 3 or more adapters online,
>     systems that I do not want to mess with, but I can set up a system and
>     get a more detailed report if anyone is interested.
>
>     Best regards
>     Erik Freiholtz
>
>     >
>     >
>     >
>     >     So the answer is - yes, OWFS has correct routing between
>     lines? In
>     >     my opinion, multiple adapters on host 1 can work absolutely
>     different:
>     >
>     >
>     > Routing is on several levels:
>     >
>     > Operating System
>     > --------------------------
>     > USB devices to operating system bus/device number. -- This seems
>     to be
>     > arbitrary, or at least hard to control. (reconnects assign a
>     different
>     > address, other USB activity influence the result, etc.)
>     >
>     > Modern DS9490R bus masters have a id chip (family code 81) which
>     might
>     > be used to uniquely identify them.
>     >
>     > The contents of each 1-wire bus has a set of unique IDs.
>     >
>     > I2C and serial masters have a consistent operating-system assigned
>     > address that can be used.
>     >
>     > OWFS bus.x
>     > -------------------
>     > OWFS assigns "bus.0, bus.1 ..." in order to each bus master it
>     finds.
>     > This depends on the command line sequence, and how libusb device
>     > enumeration is given. So it can be inconsistent.
>     >
>     > Once a particular USB device is assigned a bus.x number, we try to
>     > keep the same assignment based on the family code 81 device.
>     >
>     > So if you check the bus.x contents after startup, and select the
>     > mapping you like, it should stay consistent for that run of OWFS.
>     >
>     > OWFS devices
>     > ----------------------
>     > Now routing of devices to bus activity.
>     >
>     > When a device is requested (/10.12345AB0000/temperature for
>     example),
>     > OWFS looks at an internal table to see if the device is known and
>     > assigned to a particular bus. If so, only that bus is queried and
>     > other activity on other buses can take place simultaneously
>     > (multithreading). If the device isn't known, all the buses are
>     queried
>     > simultaneously for it's presence. The internal table has a
>     timeout of
>     > several minutes, but that can be tuned.
>     >
>     > You can also ask that only a particular bus is queried by
>     requesting,
>     > for example /bus.2/10.12345AB0000/temperature, but that requires you
>     > keep an external table of assignments.
>     >
>     >
>     >
>     >
>     >     1. Software use general BUS 0 (host 1) which is divided by
>     BUS'es
>     >     0.1 (usb0) and 0.2 (usb1)
>     >
>     >     outputs from BUS 0 routed to BUS 0.1 0.2
>     >
>     >     inputs from BUS 0.1 routeed to BUS 0
>     >
>     >     inputs from BUS 0.2 routeed to BUS 0
>     >
>     >
>     >
>     >     2. BUS 0.1 and 0.2 are separete buses
>     >
>     >     outputs from BUS 0.1 routed to BUS 0.1
>     >
>     >     inputs from BUS 0.1 routed to BUS 0.1
>     >
>     >
>     >
>     >     Has OWFS any "routing tables"? How this can be implemented when
>     >     all usb connections are not permanent?
>     >
>     >
>     >
>     >     >USB has an issue with enumeration -- the same adapter will be
>     >     assigned a different slot. We try to search for the unique ID
>     >     (family code 81) when "reconnecting" but it's a fundemental
>     >     limitation of the operating system. Probably your code should
>     >     search through all adapters for known slaves and make
>     assignments
>     >     dynamically.
>     >
>     >
>     >
>     >     Before polling the devices i have to mount owfs line, but to
>     make
>     >     it correctly i need to know how are corresponding the usb ports
>     >     and 1W lines among themselves. Probably is necessary to make
>     >     mountpoint static:
>     >
>     >
>     >
>     >     1W-USB #1 -> /dev/usb#unknown -> /mnt/line#static1 -> line
>     1, set
>     >     virtually by adapter's unique ID
>     >
>     >
>     >
>     >     that seems to be really strange :/ Or you are talking about OWFS
>     >     build-in feature?
>     >
>     >
>     >
>     >     >Two adapters can be connected to the same 1-wire net as long as
>     >     only 1 is active. Can you poll and switch over? Again, I haven't
>     >     actually tried this.
>     >
>     >
>     >
>     >     I guess simple parallel connection should work well with
>     software
>     >     "switch". Only one adapter per line is active. There is a modern
>     >     solution for adding gpio's, ADC and other devices to PC or
>     >     embedded device. Most of chips can be connected by i2c which is
>     >     supported by kernel. 1W PSU can be based on PCA9535, ADS7828,
>     >     DAC5571 or similar and connected with usb-i2c adapter to server,
>     >     such adapters are rather widespread and cheap. This gives me
>     >     powerful control of 1W lines. OWFS is good for long distances
>     >     (10-100m) where i can check integrity of 1W line by label at end
>     >     and use optocoupler. Device will stay in last mode until the
>     power
>     >     is off. But remote controlled switch on 1W data line is
>     unsecure.
>     >     If there is no possible software trouble with 2 adapters in
>     >     parallel i will use it. But i dont want to use 1W for PSU
>     control
>     >     as well as 1W that depends on PSU. Therefore i think to make PSU
>     >     that is fully managed by kernel and partially by 1W.
>     >
>     >
>     > I think that most of the masters will ignore activity on the line if
>     > they aren't in the middle of communication, besides an occasional
>     > spurious presence pulse, which we ignore in owfs. So an inactive 2nd
>     > master will not interfere (again, untested) as long as the default
>     > master mode isn't shorting the line (which I doubt). When the first
>     > master is taken down and the second activated, the bus will be in an
>     > undefined state, and all the devices will need to be initialized. In
>     > general that isn't an issue with 1-wire devices, except perhaps for
>     > some of your PIO controls.
>     >
>     >
>     >
>     >
>     >     What about correct wiring? Cat5 has 4 pairs, but most of
>     >     hobby-board and our Elin's company use only 2 of them.
>     >     http://www.elin.ru/1-Wire/Support/ (sorry for russian, but there
>     >     is lot of pdf's with schemes). May be OWFS support more clever
>     >     wiring than just one long bus with one adapter? Loop, 2 adapters
>     >     for 1 bus (by one at both ends) and so on. With 2 adapters i can
>     >     do software splitting of 1 bus when data bus fails.
>     >
>     >
>     > My impression is that the wiring is transparent to owfs. We really
>     > don't see anything on the other side of the Bus Master, except
>     throug
>     > the master. If you can conceive of out-of-band control, I'd be happy
>     > to consider adding it.
>     >
>     >
>     >
>     >     Thank you for great software! No failover for 4 years
>     non-stop on
>     >     small HVAC:
>     >     http://crymos.ru/uploads/images/engineering/statistic.txt
>     (current
>     >     statistic) Was working for 1 month even with dead HDD!
>     >
>     >
>     > Great to hear!
>     >
>     >
>     ------------------------------------------------------------------------
>     >
>     >
>     
> ------------------------------------------------------------------------------
>     > This SF.net email is sponsored by:
>     > High Quality Requirements in a Collaborative Environment.
>     > Download a free trial of Rational Requirements Composer Now!
>     > http://p.sf.net/sfu/www-ibm-com
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > Owfs-developers mailing list
>     > [email protected]
>     <mailto:[email protected]>
>     > https://lists.sourceforge.net/lists/listinfo/owfs-developers
>     >
>
>
>
>     
> ------------------------------------------------------------------------------
>     This SF.net email is sponsored by:
>     High Quality Requirements in a Collaborative Environment.
>     Download a free trial of Rational Requirements Composer Now!
>     http://p.sf.net/sfu/www-ibm-com
>     _______________________________________________
>     Owfs-developers mailing list
>     [email protected]
>     <mailto:[email protected]>
>     https://lists.sourceforge.net/lists/listinfo/owfs-developers
>
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> High Quality Requirements in a Collaborative Environment.
> Download a free trial of Rational Requirements Composer Now!
> http://p.sf.net/sfu/www-ibm-com
> ------------------------------------------------------------------------
>
> _______________________________________________
> Owfs-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>   



------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to