Intel® Edge Software Hub
Get answers from community peers to your questions about building Edge Software Hub solutions for edge compute node.
Announcements
Welcome to the Intel Community! If you like the answer to your question, please mark it as 'Accepted Solution' to help others.

The Edge Software Vision Package for Red Hat Enterprise Linux is now available here.

Learn more about developing on Intel® Hardware and Software here.
397 Discussions

ERROR: systemd-udev got some errors when change ethernet device name in Intel ECI 2.5

bmh8x
New Contributor I
2,311 Views

Hi all,

I'm using Intel ECI 2.5 and I saw that the systemd-udev daemon got some errors (Device or resource busy) and it cannot change ethernet device name from "eth*" to "enp*" by default.
(Please refer to the following photo for more information)

systemd-udev_error.jpg

 

So I would like to ask if anyone else has the same problem or has a solution?

My current enviroment are as following:
Hardware: Intel Atom® x6414RE Customer Reference Board
Software: Intel ECI 2.5

 

Best Regards,
Bui Minh Huy

Labels (1)
0 Kudos
1 Solution
Lay
Employee
1,961 Views

Hi,

 

Can you try add "ExecStartPre=udevadm settle" before ExecStart=/usr/sbin/connmand -n in /lib/systemd/system/connman.service ?

 

Best Regards,

Lay

View solution in original post

0 Kudos
16 Replies
JesusE_Intel
Moderator
2,268 Views

Hi Bui Minh Huy,


I am reaching out to my peers for additional assitnace on this discussion. I will let you know what I find out shortly.


Regards,

Jesus


0 Kudos
Lay
Employee
2,211 Views

Hi,

 

Can you provide your image info by cat /etc/os-release and how you change the ethernet device name?

 

Best Regards,

Lay 

0 Kudos
bmh8x
New Contributor I
2,193 Views

Hi Lay,

 

Thank you for your reply!

 

    >Can you provide your image info by cat /etc/os-release 

→This is my image info: 

##########################################################################################

ID=ecs
NAME="Intel ECI"
VERSION="2.5 (TYGERRIVER)"
VERSION_ID=2.5
PRETTY_NAME="Intel ECI 2.5 (TYGERRIVER)"
VARIANT="ecs-base-poky"
FEATURES=" virtualization ecs-base tpm eii libc-abi-breaker-xdp tcc debug k8s kernel-src kgdb sdk ssh-server xdp x11 opengl ecpb virtualization "

###########################################################################################

 

    >and how you change the ethernet device name?

→ I'm so sorry but I didn't quite catch your question there.
My ECI 2.5 image got these errors (Device or resource busy)  by default setting, and I haven't done anything to change the ethernet device name yet. 

 

Best Regards,
Bui Minh Huy

0 Kudos
Lay
Employee
2,186 Views

Hi,

 

Can you attach dmesg and ifconfig log?

 

Best Regards,

Lay

0 Kudos
bmh8x
New Contributor I
2,151 Views

Hi Lay,

 

I have attached my current enviroment dmesg and ifconfig log. Please take a look!

 

Best Regards,
Bui Minh Huy

0 Kudos
Lay
Employee
2,123 Views

Hi,

 

I didn't see any error on dmesg and ifconfig. 

 

I didn't see "Link up" in dmesg mean there is no LAN cable connected. Can you connect LAN cable and check ifconfig see got IP ?

 

 

 

Best Regards,

Lay

 

 

0 Kudos
bmh8x
New Contributor I
2,106 Views

Hi Lay,

 

I have re-uploaded  my current enviroment dmesg and ifconfig log when LAN cable is connected . Please take a look!

And I also uploaded systemd-networkd and systemd-udevd  services journal for your information. I think you need these information.

 

Best Regards,
Bui Minh Huy

0 Kudos
Lay
Employee
2,081 Views

Hi,

 

From dmesg_2.log, I can see Link is Up.

[ 21.389937] stmmaceth 0000:00:1d.1 eth0: Link is Up - 1Gbps/Full - flow control rx/tx

 

From ifconfig_2.log, can see the interface have Tx/Rx but get 169 IP.  You connect the board to a router with DHCP server running? Can you try connect other device on the same router see can get IP?

 

eth0 Link encap:Ethernet HWaddr 06:DA:99:A5:70:A6
inet addr:169.254.196.210 Bcast:169.254.255.255 Mask:255.255.0.0
inet6 addr: fe80::4da:99ff:fea5:70a6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2289 (2.2 KiB) TX bytes:14367 (14.0 KiB)
Interrupt:161

 

Best Regards,

Lay

0 Kudos
bmh8x
New Contributor I
2,036 Views

Hi Lay,


Firstly, I apologise for the delay in replying to you.

 

        >From ifconfig_2.log, can see the interface have Tx/Rx but get 169 IP. 

        >You connect the board to a router with DHCP server running?

→No, I connected 2 Intel customer reference board (CRB) together and their IP address are set to DHCP.

 

        >Can you try connect other device on the same router see can get IP?

→I think you need the dmesg and ifconfig log when the  IP address of my CRB is set correctly so I I have re-uploaded them.

Please take a look!

 

Best Regards,
Bui Minh Huy

0 Kudos
Lay
Employee
2,019 Views

Hi,

 

By right you should get 169.x.x.x IP if no DHCP server.

 

You can just ifconfig on board A and use board B to ping board A IP.

 

Best Regards,

Lay

0 Kudos
bmh8x
New Contributor I
2,008 Views

Hi Lay,

 

        >By right you should get 169.x.x.x IP if no DHCP server.

→I don't know the reason but When I used 2 CRB with default setting (both are DHCP Ip set, and no DHCP server ),

    the IP of 2 board are set automatically as 169.254.x.x as you can see on ifconfig_2.log file
   I have never used DHCP before  because I often set the IP of 2 board as
 static IP before using. 

 

        >You can just ifconfig on board A and use board B to ping board A IP.

→In my previous reply, ifconfig_3.log and dmesg_3.log  are the log file when I set the IP of  board A and board B as static IP(192.168.122.x) and  I can ping from board A to board B with this setting.

Please feel free to ask me if you need more information or log file.

 

Best Regards,
Bui Minh Huy

0 Kudos
Lay
Employee
1,991 Views

Hi,

 

I think you can ignore below since your network is working fine.

"systemd-udev daemon got some errors (Device or resource busy) and it cannot change ethernet device name from "eth*" to "enp*" by default."

 

Best Regards,

Lay

0 Kudos
bmh8x
New Contributor I
1,986 Views

Hi Lay,

 

The reason I aksed for this error because I want to use udev file to rename my network device by their PCI address.
I created my udev file and put it into /etc/udev/rules.d/ folder but after I restart my CRB, the devices name are not changed.

I think the reason is that udev daemon cannot change the network devices name because the network devices are using by another daemon base on systemd-udevd log message. And I saw that this error also occur with default setting( without udev rules file).

 

I have tried the same udev file with Yocto BSP QS release Kernel (5.4.61-rt37-intel-preempt-rt) without ECI, the ethernet device name change from "eth*" to "ethernet*". The kernel driver in used is stmmac too.

 

So I would like to ask if anyone has the same problem with ECI 2.5 or has a solution?


My udev rules file is as following:

ACTION=="add", SUBSYSTEMS=="pci", DRIVERS=="?*", KERNELS=="0000:00:1d.1", NAME="ethernet1"
ACTION=="add", SUBSYSTEMS=="pci", DRIVERS=="?*", KERNELS=="0000:00:1d.2", NAME="ethernet2"

 

Best Regards,
Bui Minh Huy

0 Kudos
Lay
Employee
1,962 Views

Hi,

 

Can you try add "ExecStartPre=udevadm settle" before ExecStart=/usr/sbin/connmand -n in /lib/systemd/system/connman.service ?

 

Best Regards,

Lay

0 Kudos
bmh8x
New Contributor I
1,941 Views

Hi Lay,

 

       >Can you try add "ExecStartPre=udevadm settle" before ExecStart=/usr/sbin/connmand -n in /lib/systemd/system/connman.service ?

→udev worked perfectly with your solution. Thank you very much for your assistance! 

 

Best Regards,
Bui Minh Huy

0 Kudos
JesusE_Intel
Moderator
1,920 Views

If you need any additional information, please submit a new question as this thread will no longer be monitored.


0 Kudos
Reply