Re: Fwd: Re: [RTnet] ioctl: No such device

Paolo Mantegazza <[email protected]> Fri, 16 Feb 2018 17:29:45 +0000
Newsgroups gmane.linux.real-time.rtai
Message-ID <HE1PR0601MB2458126E8B818E51E585C8AC90CB0@HE1PR0601MB2458.eurprd06.prod.outlook.com>
Good to know, I'll update it in rtnet too, ASAP.
Paolo.
________________________________________
From: Rtai [[email protected]] on behalf of Jean-Marc Lenoir [jean-marc=
[email protected]]
Sent: Friday, February 16, 2018 5:29 PM
To: [email protected]
Subject: Re: [Rtai] Fwd: Re: [RTnet] ioctl: No such device

Thanks for your detailed answer. But after more investigation, I'm almost s=
ure that the driver is not compatible. I've not found the exact reference o=
f my NIC in the sources, and even if I add it manually and recompile the mo=
dule, it fails to work with my NIC (I can see some errors on dmesg). In add=
ition, rt_igb is based on an old version of igb (released in 2008) so I'm n=
ot surprised that it is not compatible with recent hardware.

I also tried your suggestions: unloading the igb module before starting rtn=
et and see available devices in /proc/rtnet/devices but it's not better: I =
only see the rtlo (loopback) device. Starting 'rtifconfig rteth0 up 10.0.0.=
1' doesn't change anything.

Finally, I have chosen to use Xenomai instead of RTAI because it includes a=
 more recent version of rt_igb which is compatible with my NIC: with the co=
nfiguration I wrote in my first mail I now can see rteth0.

Jean-Marc

Le 15/02/2018 =E0 17:40, Mark Fortescue a =E9crit :
Opps. Hit the wrong reply option so the list got dropped.

-------- Original Message --------

Hi Jean-Marc,

My RTnet installations are somewhat custom made because of driver
compatibility issues and requirements, but at first glance it looks like
you have got something that should work.

See comments below.

On 15/02/18 08:03, Jean-Marc Lenoir wrote:
Hi,

I know this question is related to RTnet and not RTAI, but it seems
there is no RTnet mailing list still active, and maybe someone here also
uses RTnet.

I've installed RTnet (this version:
https://www.rtai.org/userfiles/downloads/RTAICONTRIB/rtai_rtnet.tar.bz2)
on my RTAI installation I am able to make a loopback network with it (I
can ping and send/receive UDP requests on 127.0.0.1).
Now, I'm trying to configure it to work with my real ethernet
connection. Here is my hardware informations:
# lspci -vv -n -s 06:00.0
06:00.0 0200: 8086:1533 (rev 03)
     Subsystem: 1043:8557
     Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
     Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=3Dfast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
     Interrupt: pin A routed to IRQ 21
     Region 0: Memory at f7800000 (32-bit, non-prefetchable) [size=3D512K]
     Region 2: I/O ports at b000 [size=3D32]
     Region 3: Memory at f7880000 (32-bit, non-prefetchable) [size=3D16K]
     Capabilities: <access denied>
     Kernel modules: igb


Based in the info above, you should be able to use the rt_igb diver.

I have configured the file /usr/rtnet/etc/rtnet.conf with the following
informations:
RT_DRIVER=3D"rt_igb"
RT_DRIVER_OPTIONS=3D""
REBIND_RT_NICS=3D"0000:06:00.0"

The REBIND_RT_NICS option is not one I am familiar with. It does not
exist in my version of RTnet (0.9.12).


The Linux driver is igb, so the RTnet driver should be rt_igb. I also
defined REBIND_RT_NICS to be sure the network device is detached from
Linux and attached to RTAI when creating the RT network.

When I start the RT network (/usr/rtnet/sbin/rtnet start), I have the
following output:
sh: echo: I/O error
ioctl: No such device
ioctl: No such device
ioctl: No such device
ioctl: No such device
ioctl (add): No such device
ioctl (add): No such device
ioctl (add): No such device
vnic0: ERROR while getting interface flags: No such device
SIOCSIFADDR: No such device
vnic0: ERROR while getting interface flags: No such device
Waiting for all slaves...ioctl: No such device
ioctl: No such device

I also have this dmesg information:
[ 2625.256031]
                *** RTnet 0.9.14 - built on 2018-02-14 16:16:18 ***

[ 2625.256035] RTnet: initialising real-time networking
[ 2625.257853] Intel(R) Gigabit Ethernet Network Driver - version
1.2.45-k2-rtnet
[ 2625.257855] Copyright (c) 2008 Intel Corporation.
[ 2625.258103] igb 0000:06:00.0: removed PHC on enp6s0
[ 2625.457791] initializing loopback...
[ 2625.457803] RTnet: registered rtlo
[ 2625.459352] RTcfg: init real-time configuration distribution protocol
[ 2625.460107] RTmac: init realtime media access control
[ 2625.460808] RTmac/TDMA: init time division multiple access control
mechanism


There is no evidence that the RTnet driver found any usable hardware.

I would first ensure that the Linux igb driver module does not get
installed (if it is not a module then rebuild the kernel so that it is).
This will avoid any Linux/RTnet driver clashes that will hide any real
issues.

The RTnet driver should show up in /proc/rtnet so make sure the /proc
interface is working and present so that you can identify the RTnet
device has found usable hardware.

If you are unable to find any rteth0 interface in /proc/rtnet then you
will need to resort to adding 'printk()' statements in the RT IGB driver
to find out why it is not detecting the hardware.

And when I start rtifconfig, I only see the loopback network.


rtifconfig may not show devices that are not configured.

Check /proc/rtnet to ensure that the rteth0 interface is present and if
it is then use 'rtifconfig rteth0 up 192.168.1.1' to bring the interface
up (substitute the correct IP address if known). It should now be
visible when using rtifconfig.

If this works then you should be able to ping the real time interface
from any host connected to the real time network (the connected host
does not need to be a real time host. It can be any host with a
correctly configured IP address so that is is on the same IP network).
You should also be able to use rtping to ping the connected host from
your real time host however you may need to set up real time IP routing.

Regards
    Mark.

Does someone have an idea? I also tried to use all other Intel drivers
without success. Do I need to had a driver option? Does my device is
simply not supported at all?

Thanks,
Jean-Marc

_______________________________________________
Rtai mailing list
[email protected]<mailto:[email protected]>
https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai


_______________________________________________
Rtai mailing list
[email protected]<mailto:[email protected]>
https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai

_______________________________________________
Rtai mailing list
[email protected]
https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai