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