bringing up ethernet failed on 7 beta installed on VMware

Latest response

i do not know how to configure network (ethernet) during installation of redhat 7 beta on a VMware (host system is Windows 7).
I thought after the installation was complete either Linux would automatically detect the ethernet during boot or i could use some network management tools after the system was up.
But i found from dmesg there is no ethernet detected by the kernel and from Applications on desktop there is no any networt
management tool available to use.

Should i re-install 7 beta and try to figure out how to configure network before installation starts?
Or is there any method i can use to bring up network on 7 beta?
The output of 'ifconfig' on my 7 beta follows.

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 1030 bytes 87752 (85.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1030 bytes 87752 (85.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 66:ea:e7:e0:f2:5f txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Thanks.

Responses

Did you install the VMware Tools on your Virtual Machine? Once the VM is running, run

lspci | grep -i net

To see if an adapter has been detected (even if dmesg doesn't report one). Also - depending on the setting you have selected for the adapter itself, it may have an impact. (i.e. if you selected replicate host device status and selected the ethernet device and you are using wireless on the host, it may not work). You can explicitly select a ethernet device (NAT, or direct or whatever). You may want to play with those settings.
After looking at some other threads, I had more questions: what version VMware Workstation are you using? Did you add an emulated or adapter, or VirtIO (or passthru). I run Fusion which likely does not handles devices quite the same. The lspci output will give us a better idea.

Also - someone else linked to the supported network devices
https://access.redhat.com/site/solutions/527083

i'm running 7 beta on VMware Workstation 8.
I did not intentionally add an emulated or adapter, or VirtIO (or passthru).
`lspci -nn |grep -i eth' shows:

02:01.0 Ethernet controller [0200]: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] [1022:2000] (rev 10)

I also have RHEL 6.3 running on VMware without problem.
I lsmod |grep -i net on my RHEL 6.3 and found only vmxnet, not pcnet32.
So i think that probably is the driver claims the ethernet. I also found vmxnet exists in vmware-tools (yes, i remember i ran vmware-install.pl for 6.3)

So i tried to ran vmware-install.pl on 7 beta but was not completely successful because installer asked a valid kernel header path and was not satisfied with my answers of "/lib/modules/uname -r/build/kernel/include" or "/usr/src/kernels/uname -r/include". Therefore it posted the following message:

WARNING: This program cannot compile any modules for the following reason(s)...
- This program could not find a valid path to the kernel headers of the running kernel. Please ensure ...

I then google a bit and found usually kernel-headers should be installed under /usr/src/kernel-headers.....
i ran "yum info
" and found both kernel-headers and kernel-devel are installed.

...
Name : kernel-headers
Arch : x86_64
Version : 3.10.0
Release : 54.0.1.el7
Size : 3.1M
Repo : installed

So why is kernel-headers not under /usr/src?

Anyway, after vmtool-install.pl finished, i still don't get ethernet recognized and configured and no vmxnet installed.

Thank you all very much for your help in advance.

Maybe a vmware tools issue?

I see 'virbr0' in the output of ifconfig. Did you happen to install virtualization packages? That won't work on a VM guest.

m, i don't remember i ever selected virtualization related group/package before installation.
But i could accidently include them since i chose the "development workstation (?)".

Can you tell an example name of virtualization packages for me to check if they're installed?

Last question: what does it have to do with recognition of ethernet if virtulization package is installed?

Thanks much.

Check ~/anaconda-ks.cfg and see what packages have been installed. On my kvm guest, I found:

@virtualization-client
@virtualization-hypervisor
@virtualization-tools

Try removing libvirt* and virt* and reconfigure the network.

anaconda-ks.cfg shows the above 3 packages installed but yum info <pkg> claims no matched package so i cannot remove them through yum.
However, yum info found libvirt so i removed it and network configuration is the same as before.
i google'd "how to remove virtualization-tools on redhat" and found the way of going through virtualization manager but there is no 'rhevm-cleanup' command on my system.
Thank you very much for your help.

I'd definately make sure the vmware tools is proper...

HOPEFULLY THIS IS JUST A MATTER OF REINSTALLING VMware Tools! I have had to re-install VMware tools numerous times in the past due to upgrades etc. If that is the case - hopefully you will not need the rest of what I wrote below!!

On vm systems, and starting with rhel 6 and above, make sure the MAC address in
/etc/udev/rules.d/70-persistent-net.rules file matches what is on the interface.

**Make note of the MAC address in /etc/udev/rules.d/70-persistent-net.rules for the specific interface

[root@yoursystem ~]# cd /etc/sysconfig/network-scripts
[root@yoursystem ~]# grep -i eth /etc/udev/rules.d/70-persistent-net.rules

Next, Determine which network interface should be up (do you have ifcfg-eth0 or ifcfg-em0?)

[root@yoursystem network-scripts] grep ONBOOT ifcfg* | grep -v ^\# | grep yes

Whichever interface the system claims is up - make a note of the HWADDR

[root@yoursystem network-scripts] grep HWADDR ifcfg* | grep -v ^\#

now go to the "edit properties" function in VMWare and click on the specific network interface (on your virtual system)
Questions for you: Does the MAC address AND the device "ifcfg-ethX" match what is in:
1) /etc/sysconfig/network-scripts/ifcfg-ethX (the one you identified a few lines up)
2) /etc/udev/rules.d/70-persistent-net.rules
3) The VMWare virtual NIC as shown in the "edit settings" hardware tab

**If /etc/udev/rules.d/70-persistent-net.rules shows your network interface should be (for example) ifcfg-eth1, then /etc/sysconfig/network-scripts/ifcfg-eth1 should 1) exist and 2) have the matching MAC address. This may sound like it would not apply, but I've seen it occur a number of times to be relevent enough to check if other simpler checks prove false.

If VMWare tools and the MACs and the devices all agree - this typically takes care of the consternation I have found with virtual systems.

  • I've seen systems that have an "ifcfg-eth2" with the MAC address in the /etc/udev/rules.d/70-persistent-net.rules not match the device in /etc/sysconfig/network-s
    cripts/ifcfg-ethX
    -- example, the hardware address and interface in /etc/udev/rules.d/70-persistent-net.rules may show as 'ifcfg-eth1' when in /etc/sysconfig/network-scripts/ifcfg-eth0 EXISTS, but here is no /etc/sysconfig/network-scripts/ifcfg-eth1
  • if that is the case (no ifcfg-eth1 file exists, but the file 70-persistent-net.rules file shows eth1 for that MAC), is copy the ifcfg-eth0 to ifcfg-eth1 and make the MAC address in ifcfg-eth1 match wht is in 70-persistent-net.rules match. Verify selinux contexts, and (if that is the case) disable completely ifcfg-eth0.

anyway, that scneario has occured more than a few times on some virtual systems I have had.

HOPEFULLY IT IS JUST A MATTER OF REINSTALLING VMWare tools!!!

Thank you very much for the detailed description. I am afraid this probably is not just a matter of reinstallting VMware tools because

  1. there is no ifcfg-eth*, no ifcfg-em*, only ifcfg-lo existing under /etc/sysconfig/network-scripts.
  2. there is no /etc/udev/rules.d/70-persistent-net.rules
  3. ONBOOT=yes is enabled for ifcfg-lo
  4. grep HWADDR ifcfg* | grep -v ^\# returns null string, no setting of HWADDR is found under /etc/sysconfig/network-scripts

So answers to questions 1) and 2) are negatives.
For question 3), the only related network information under VM->Settings...->Hardware is "Network Adapter NAT" which is the same setting as one in my RHEL 6.3 running on VMware.

Another weird thing is i don't see the tab 'System' side-by-side with 'Applications' and 'Places' on desktop. If i need to shutdown the system, i have to manually type 'reboot'.

Anyway, i might have to try reinstalling RHEL 7 beta on VMware again, but i don't know what i did wrong with the current installation and i may end up with the same issue again. I am posting the content of anaconda-ks.cfg just in case someone might be interested in knowing what went wrong. Also there is a file '/root/initial-setup-ks.cfg' which is similar to anaconda-ks.cfg, so i post the diff of the 2 files as well.
Thanks much.

============== anaconda-ks.cfg ==================

version=RHEL7

System authorization information

auth --enableshadow --passalgo=sha512

Use CDROM installation media

cdrom

Run the Setup Agent on first boot

firstboot --enable
ignoredisk --only-use=sda

Keyboard layouts

keyboard --vckeymap=us --xlayouts='us'

System language

lang en_US.UTF-8

Network information

network --hostname=localhost.localdomain

Root password

rootpw --iscrypted $6$Vsm/czzFyO86TgmQ$9FFWxhthsmCar.gUNO8Cxk0KMI8BjntN4jELC3vbMMeBR1Fto1hmM.4naSgPRXk5AX3RscVy0dAMbaCjQ/43K1

System timezone

timezone America/Los_Angeles --isUtc --nontp
user --name=lwen --password=$6$RH.G.S7MSNxXxFA2$KnmjgAH7tM/CB5bHmELjQk988TIQZldxuJDH2UsYAhqWSgsmcAZC2lPFS5B19ArKVqb1vODUggeDIriaFx8Q40 --iscrypted --gecos="lwen"

X Window System configuration information

xconfig --startxonboot

System bootloader configuration

bootloader --location=mbr --boot-drive=sda
autopart --type=lvm

Partition clearing information

clearpart --all --initlabel --drives=sda

%packages
@additional-devel
@base
@compat-libraries
@core
@debugging
@desktop-debugging
@development
@dial-up
@directory-client
@emacs
@file-server
@fonts
@ftp-server
@gnome-apps
@gnome-desktop
@graphics
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-applications
@internet-browser
@java-platform
@load-balancer
@multimedia
@network-file-system-client
@network-tools
@performance
@perl-runtime
@perl-web
@platform-devel
@print-client
@python-web
@ruby-runtime
@virtualization-client
@virtualization-hypervisor
@virtualization-tools
@web-server
@x11

%end

============= diff of anaconda-ks.cfg and initial-setup-ks.cfg =========

[root@localhost ~]# diff anaconda-ks.cfg initial-setup-ks.cfg
1a2,8

X Window System configuration information

xconfig --startxonboot

Network information

network --bootproto=dhcp --hostname=localhost.localdomain

License agreement

eula --agreed
4d10
<
9d14
< ignoredisk --only-use=sda
15,16c20
< # Network information

< network --hostname=localhost.localdomain

ignoredisk --only-use=sda
22,23d25
< # X Window System configuration information
< xconfig --startxonboot

Hi Kevin,

I've had something like this occur -

Check to see the output of lspci:

[root@yoursystem ~]# lspci | grep -i eth

Probably no output will generate.

Some immediate possible options:
1) Just for yuks, reinstall vmwaretools, however this time do it manually (attach the iso from the graphical vmware interface), hopefuly it is in/on one of your VMware data stores, otherwise burn it to a cdrom and attach the cdrom. Else, attach the iso using the graphical disk icon. Then, do a:

mkdir -p /mnt/notmounted /cdrom/notmounted;chmod 755 /cdrom

Then mount it and run the manual installation of vmware, (the automated vmware install can betray you silently):

[root@yoursystem ~]# mount /dev/cdrom /cdrom
[root@yoursystem ~]# ls /cdrom/ ## should show VMwaretools with some gz file
[root@yoursystem ~]# df -PhT # look for a place to put the small gz file
[root@yoursystem ~]# mkdir /tmp/vmwaretoolsdeleteafterwards/
[root@yoursystem ~]# rsync -au --progress /cdrom/ /tmp/vmwaretoolsdeleteafterwards/
[root@yoursystem ~]# cd /tmp/vmwaretoolsdeleteafterwards/
[root@yoursystem ~]# gunzip NAME-OF-GZIPP'D-VMWARE-TOOLS-FILE-GOES-HERE.gz
[root@yoursystem ~]# tar -xvf NAME-OF-TAR-VMWARE-TOOLS-FILE-GOES-HERE.tar
[root@yoursystem ~]# cd vmwaretools-distrib # I think
[root@yoursystem ~]# ./install.pl # I think
[root@yoursystem ~]# echo "TAKE ALL DEFAULTS"
[root@yoursystem ~]# echo "continue taking all defaults until it is complete"
[root@yoursystem ~]# echo "the initrd will be made at the end and the script should report as completed"
[root@yoursystem ~]# 
[root@yoursystem ~]# lspci | grep -i eth
[root@yoursystem ~]# echo "hopefully you get some output on your devices"
[root@yoursystem ~]# echo "reboot the box and if needed, upgrade the 'virtual hardware' of the system while the system is down"
[root@yoursystem ~]# echo "after reboot, go to the /etc/sysconfig/network-scripts and see if ifcfg-ethX files exist, else remove existing interfaces and install new virtual NIC"

Hope this helps

Oh, sorry, when you look for the iso file for the vmware tools, look for "linux.iso", provided by vmware.com

Remmele:
Thank you very much for the help.
Before i follow what you said above, i'd like to say that

  1. lspci |grep -i eth does return the following:

02:01.0 Ethernet controller: Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev 10)

  1. I did try manual installing of vmware tools by selecting the menu tab on my VMware workstation 8: VM -> Reinstalling VMware Tools...
    then untar the VMwareTools-8.8.4-743747.tar.gz VMware put on a virtual CD,
    then cd to vmware-tools-distrib and
    run vmware-install.pl.
    I took all default answers for the questions prompted during running vmware-install.pl, except when asked to provide a location of kernel header files. Since i don't have network working properly, i could not install the package of kernel header files from redhat repositories through network, i failed this question so vmware-install.pl did not build kernel modules. After rebooting the system, i still do not have ethernet recognized by the sytsem.

Now I'd like to run your procedures, but i failed to get linux.iso from vmware.com.

Anyway, thank you very much for your help. I'll keep working on this task and post the result when i succeed and any comment from you or people who works on 7 beta is always welcome.

  • It seems you already have VMware tools if you're getting that error regarding kernel-headers etc...
  • The VMware tools is often packaged as yet another iso buried within the overarching VMware tools download.
  • However, this link might help you get the proper iso mounted, link at VMware.com
  • I believe you can extract VMware tools from the free ESXi product they let you download (I we did that once).
  • Can you log into VMware.com's website and download VMware tools? They typically do not disallow the mere download of VMware-tools.
  • Also see this link at vmware.com

Kevin,

Do you happen to have a snapshot for the system under VMware for the system prior to the changes that were made? (or did the interface ever work)?

That bit you describe above happened to me a while back as well and I believe I had to install the following: kernel-headers, kernel-devel, glibc and gcc..

mkdir /cdrom
chmod 755 /cdrom
mount /dev/cdrom /cdrom
rsync -au --progress /cdrom/  /path/to/a/directory/with/enough/space/local/yum/
cd /to/the/path/to/your/local/yumrepo/
echo "cd to the directory with the below packages"
echo "look around in the directories in the yum repo location for these files."
rpm -ivh deltarpm-VERSION python-deltarpm-VERSION createrepo-VERSION
createrepo -v /path/to/your/local/yumrepo

Properly edit your /etc/yum.repos.d/local.repo file

According to this VMware video, you must have glibc and gcc along with kernel-headers and kernel-devel. So a yum repo will help get these rpms and their dependencies.

After you create the local yum repo and install the rpms, try the install of vmwaretools (manually) again.

Good luck,

Rem

Remmele:

i can't finish the first step "yum install createrepo". I got the following:

yum install createrepo

Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
There are no enabled repos.
Run "yum repolist all" to see the repos you have.
You can enable repos with yum-config-manager --enable

yum repolist all

Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
repo id repo name status
rhel-beta/x86_64 Red Hat Enterprise Linux 7 Beta - x86_64 disabled
rhel-beta-debuginfo/x86_64 Red Hat Enterprise Linux 7 ... Debuginfo disabled
rhel-beta-source/x86_64 Red Hat Enterprise Linux 7 ... Source disabled
repolist: 0

yum-config-manager --enable rhel-beta/x86_64

Loaded plugins: langpacks, product-id

yum-config-manager --enable rhel-beta-debuginfo/x86_64

Loaded plugins: langpacks, product-id

yum-config-manager --enable rhel-beta-source/x86_64

Loaded plugins: langpacks, product-id

yum repolist all

Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
repo id repo name status
rhel-beta/x86_64 Red Hat Enterprise Linux 7 Beta - x86_64 disabled
rhel-beta-debuginfo/x86_64 Red Hat Enterprise Linux 7 ... Debuginfo disabled
rhel-beta-source/x86_64 Red Hat Enterprise Linux 7 ... Source disabled
repolist: 0

subscription-manager register

Username: ampex123
Password:
Network error, unable to connect to server.
Please see /var/log/rhsm/rhsm.log for more information.

As you can see, i'm still stuck on no network.
I've been struggled for 3 hours to install kernel-headers and failed.
Time for a break.

Thanks much for your help.

Kevin,

Above your post, I recommended installing manually with the three needed files with the rpm command so you can use 'createrepo' (it has three total rpms you must install simultaneously).

SEE THE POST DIRECTLY ABOVE YOURS - the one I made on Feb 20th, just before yours you made on FEB 21st

ALSO - you may need to temporarily disable the existing repo files in /etc/yum.repos.d/ (anything with a ".repo" extension). MAKE NOTE OF ANY CHANGES YOU MAKE TO WHICH FILES.

You can tar up the files as a backup

cd /etc/yum.repos.d/
tar cvf yumfiles_backup.tar ./*

vi the files and look for "enabled=1" (except for the LOCAL yum repo, leave that one enabled), and disable by changing to "enabled=0".
MAKE A BACKUP TAR FILE FIRST ABOVE!!!

Kevin,

I happened to have a very minimalistic server with no kernel-devel, kernel-headers, gcc, or glibc.

This may be the dependencies - just make your yum repo and install the rpms.

[root@testvictim1 ~]# yum install kernel-headers kernel-devel glibc gcc 
Resolving Dependencies
---output truncated---

Dependencies Resolved

================================================================================
 Package              Arch          Version                Repository      Size
================================================================================
Installing:
 gcc                  x86_64                               my-repo         10 M
Installing for dependencies:
 cloog-ppl            x86_64                               my-repo         93 k
 cpp                  x86_64                               my-repo        3.7 M
 glibc-devel          x86_64                               my-repo        978 k
 glibc-headers        x86_64                               my-repo        608 k
 libgomp              x86_64                               my-repo        118 k
 mpfr                 x86_64                               my-repo        156 k
 ppl                  x86_64                               my-repo        1.3 M

Transaction Summary
================================================================================
Install       8 Package(s)

Total download size: 17 M
Installed size: 36 M
Is this ok [y/N]: n
Exiting on user Command
[root@testvictim1 ~]# 

So those are the dependencies you'd need for glibc and gcc.

If you happened to have a snapshot for your VMware system, that could be a saving feature in this scenario.

Always reboot after installing glibc...

Hope this helps

Kevin, install the three rpms using the rpm command in the notes I mentioned above and make the yum repo

I made instructions to create a localized yum repo with your rhel 7 disk and posted it previously (above).

You can manually install (again, with the rpm command) the needed three rpms to be able to run 'createrepo' - instructions above in the replies.

From there, you can then install kernel-headers and the other discussed rpms (see discussions above), and then get vmware tools installed.

Remmele:
Thank you for your patient and persistent help.

I think the problem is i missed kernel-headers on my system, the problem is i don't know where these packages gets install so i can't provide a correct answer to vmware-install.pl which then could not build the required kernel module to claim ethernet. Please see my reply to James on Feb 14 where i provided the output of yum info kernel-headers.

However, i still followed your instructions and was able to createrepo containing kernel-heaers.rpm and kernel-devel.rpm. But when i manually installed kernel-headers (or kernel-devel) by running yum install kernel-headers, i got the following:

Package kernel-headers-3.10.0-54.0.1.el7.x86_64 already installed and latest version
Nothing to do

I looked up various yum (or yum-config-manager) options but can't find one for getting the location of the installed package.
I tried find / -type d -name kernel-headers and did not find an answer.

I have another question: why is there not a 'System' tab available on Desktop? I used to register through System->Administration->Red Hat Subscription Manager. Is the lack of 'System' tab intentional? Or does it has to do with my selection during installation?

Thanks for any comment in advance.

In order for me to get this working I had to add the following line to the vmdk file for the VM.

ethernet0.virtualDev = "e1000"

Afterward you remove the VM and re-add it. Following the directions provided by Remmele and then this last step got it all sorted out for me.

John:

How do you 'add' a line to vmdk file? On my VM workstation 8, when i open Red Hat 7 beta, i have the following directories and one .vmx file:

564dcc78.vmem.lck
Red Hat
.vmdk.lck
Red Hat.vmx.lck
caches
Red Hat
.vmem.lck
Red Hat*.vmx

And i have to click the *.vmx file to start 7 beta.

So do you mind elaborating how to add a line to what vmdk file and how to "remove the VM" and "re-add it" afterward?

Thanks much for your help.

Nice - glad that worked out - the e1000 is a good generic place to start.

Kevin,
I had the same problem with the kernel headers, try

yum install kernel-headers-`uname -r` kernel-devel-`uname -r` 

then the header path is something like this : "/lib/modules/3.10.0-123.el7.x86_64/build/include"

It would be good if we could fork this topic on the forum as I ran into the same problem with the ifconfig command however it was easily solved with net-tools.

modified the VMware's virtual host configuration file like this ****.vmx and add new line :

ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"

add a new line: ethernet0.virtualDev = "e1000"

ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
ethernet0.virtualDev = "e1000"

Do it after shutdown the vpc.