Hello Jan,
Sorry for the confusion.
What does the patch do:
Problem:
In case of overrun of seq over 0xFFFF, the owserver try 4 minutes to get
an answer from 1w-bus, but without success, because the expected
sequence number is not mach with the seqence-number he hve send and get
back. After this time the owserver reconnect the 1w-bus an set
sequence-number back to 0. In this 4 minutes the server is not accessible.
The sequence-number consists of two parts (bus and seq)
ow_w1.h:53:#define MAKE_NL_SEQ( bus, seq ) ((uint32_t)(( ((bus) &
0xFFFF) << 16 ) | ((seq) & 0xFFFF)))
The Patch protect seq to run over 0xFFFF, overrun would make a broken
seqence-number which dont match expected seq in
W1_Process_Response( touch, w1_send_touch(data,size,pn), &ts, pn)
In my Opinion the Debugmessage is not necessary, I've used this to check
that the patch is working.
Best regards
eni
On 13.11.2016 11:10, Jan Kandziora wrote:
> Am 13.11.2016 um 00:53 schrieb Enrico Hoepfner:
>> Hi Jan,
>>
>> Thank you for the fast answer!
>> I dont understand exacly , which patch and test from Paul you mean.
>> Maybe I have take the diff in the wrong direction???? sorry for that!
>>
>> this are the new lines
>>
>> < // seq = ++in->master.w1.seq ;
>> < // seq should not be zero or > 0xFFFF
>> < seq = NL_SEQ(++in->master.w1.seq);
>> < if(seq == 0) {
>> < seq = NL_SEQ(++in->master.w1.seq);
>> < LEVEL_DEBUG("NETLINK sequence number overrun");
>> < }
>>
>>
>> this is what should be replaced
>>
>> > seq = ++in->master.w1.seq ;
>>
> Aaaahhhh, that's why diff -u is preferred.
>
>
>>
>> diff -u ow_w1_send.c.orig ow_w1_send.c
>> --- ow_w1_send.c.orig 2016-02-04 21:09:53.000000000 +0100
>> +++ ow_w1_send.c 2016-11-08 20:55:51.351153464 +0100
>> @@ -68,7 +68,13 @@
>> } else {
>> // w1 subsidiary bus
>> // this bus is locked
>> - seq = ++in->master.w1.seq ;
>> + // seq = ++in->master.w1.seq ;
>> + // seq should not be zero or > 0xFFFF
>> + seq = NL_SEQ(++in->master.w1.seq);
>> + if(seq == 0) {
>> + seq = NL_SEQ(++in->master.w1.seq);
>> + LEVEL_DEBUG("NETLINK sequence number overrun");
>> + }
>> bus = in->master.w1.id;
>> }
>>
>>
> Could you explain what the patch does? Two sentences?
>
> Do you think the DEBUG message is necessary? If it's a normal condition
> which can happen anytime, it's likely nothing to be debugged.
>
> Kind regards
>
> Jan
>
> ------------------------------------------------------------------------------
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> _______________________________________________
> Owfs-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/owfs-developers
------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers