Karl Reichert wrote:
> Jan Kiszka wrote:
>> Karl Reichert wrote:
>>> Jan Kiszka wrote:
>>>> Karl Reichert wrote:
>>>>> Very good news: I found the reason for this behavoir/bug now!
>>>>>
>>>>> I'm using the attaced rtnet_start script to start the slave (can't use
>>>> the provided one because I don't want RTcfg).
>>>>> The last command is 'tdmacfg rteth0 slot 0 2300 -s 100 -l rtnet.log'
>>>>>
>>>>> If I use this script as attached, I get this weird behavoir that the
>>>> slave request and calibration reply in a cycle from the past.
>>>>> If I comment this last comment and enter it manually on console (after
>>>> sucessfull run of rtnet_start), everything works fine. Also a 'sleep 3'
>>>> between the last command and the precending works fine.
>>>>
>>>> Private follow-up discussion revealed that this is most problably the
>>>> same issue as already described here:
>>>>
>>>> http://article.gmane.org/gmane.linux.real-time.rtnet.user/1891/
>>>>
>>>> i.e. it is rt_e1000-specific.
>>> Seems like. I would suggest that I remove my wiki entry which said
>>> this is a tdmacfg issue and create a new which deals about rt_e1000.
>>> There I will describe the workaround so that other rt_e1000 users won't
>>> face the same issues.
>> Ack.
> 
> Please see http://www.xenomai.org/index.php/RTnet:rt_e1000 and edit if needed.
> 
>>> Do you agree? Or do you think this is sth that needs a change on
>>> rt_e1000 driver sourcecode?
>> Well, the ultimate and most comfortable solution would be inside the
>> driver - if nothing helps a delays before returning from the open handler.
>>
>> Sigh, I just re-read my last mail on this issue
>> (http://thread.gmane.org/gmane.linux.real-time.rtnet.user/1891).
>> Obviously, nothing happened to this know issue for more than a year now.
>>
>> OK, if this slow line setup of the [rt_]e1000 is a common issue, we
>> really need that msleep in the setup path, something like this:
>>
>> Index: drivers/e1000/e1000_main.c
>> ===================================================================
>> --- drivers/e1000/e1000_main.c       (Revision 1136)
>> +++ drivers/e1000/e1000_main.c       (Arbeitskopie)
>> @@ -1202,6 +1202,9 @@ e1000_open(struct rtnet_device *netdev)
>>          e1000_check_mng_mode(&adapter->hw))
>>              e1000_get_hw_control(adapter);
>>
>> +    /* Wait for the hardware to come up */
>> +    msleep(2000);
>> +
>>      return E1000_SUCCESS;
>>
>>  err_up:
>>
>>
>> Does it work for you (alternatively, using msleep(3000))?
>>
> 
> msleep(2000) already works (no more sleep in startup script needed), but I 
> would suggest to use msleep(3000). I own two cards, one works with 
> msleep(2000), the other one needs msleep(3000). So it seems sleeping 2000 ms 
> is very short, but stick to 3000 ms.

I finally committed msleep(3000), will be part of next release (0.9.10).

> 
> If you add this patch to current RTnet version (SVN version), please edit the 
> created wiki page (mark as obsolete or sth similiar). Thanks!


Is this page already reference by some other page? I didn't find
anything. However, maybe we could create a "known issues (with/without
fixes)" out of it.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to