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
