On 5/28/06, Daniel Höper <[EMAIL PROTECTED]> wrote:
Nice finding. I changed NewIn to insert at the head of the linked list.
I think the previous fix corrects this, too.
There are some problems with this adapter:
1. We get an infinite loop in ow_connect.c:NewIn() while creating the eight
1-wire busses in ow_ds2482.c:CreateChannels(). I solved this by setting
now->next to NULL in NewIn() if the new connection is a copy of an existing
one.
Nice finding. I changed NewIn to insert at the head of the linked list.
2. After fixing this problem there is another infinite loop caused by
DS2482_detect() which is called for every created channel and in turn creates
new indevices again and again. The only solution I found was to skip the
complete detection sequence in LibStart() since BadAdapter_detect() writes
in->connin.usb.usb and thus destroys the information in in-> connin.i2c.index.
I think the previous fix corrects this, too.
...
do {
if ( get_busmode(in) == bus_i2c )
if ( in->connin.i2c.head != NULL ) continue;
BadAdapter_detect(in) ; /* default "NOTSUP" calls */
switch( get_busmode(in) ) {
...
3. There are nine channels (bus.0 ... bus.8) for only eight 1-wire busses.
bus.0 and bus.2 have the same value for connin.i2c.index (=1). So a 1-wire
device connected to the second bus of the adapter is shown twice in the owfs
directory.
Fixed, I think.
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?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers
