# Solved: SUSE Linux 10.0 with MS Virtual PC



## JohnWill (Oct 19, 2002)

I just downloaded SUSE Linux 10.0 and installed it under Microsoft Virtual PC 2004. The install seemed to go well, however the one hurdle I can't seem to cross is it detected the emulated NIC during the install, but I get an error when it boots, and it says it failed to detect an interface. Naturally, I installed Win98 in another virtual machine and it found the NIC with no issues. 

Anyone got any idea how I get to the network configuration and try to figure out what's going on?

Note: Linux newcomer here, if that's not apparent!


----------



## lynch (Aug 3, 2002)

Drill down through Menu> System> Configuration> Yast> Network Devices.
lynch


----------



## JohnWill (Oct 19, 2002)

I did that, and re-ran the configuration and once again,it appears to like what it sees, but networking still doesn't work.


----------



## saikee (Jun 11, 2004)

Can't afford MS virtual PC and would not know an emulated nic.

However if there is a physical nic and it should be named eth0 (or eth1) in Suse then in terminal mode either one of these two commands may kickstart the nic


```
ifconfig eth0
dhcpcd eth0
```
If a IP address is assigned from the response to the first command then the network should run. The quick return with nothing also mean success for the second command.

I assume you use DHCP.

PS John, It is an honour to have you here. Thanks for sending the Linux-related newbies here from other parts of the forum.


----------



## JohnWill (Oct 19, 2002)

I'm one of the Linux newbies! 

I'll give those a try, the GUI configuration didn't do it.


----------



## jiml8 (Jul 3, 2005)

Need to take a look at your startup scripts and how your system config is recognized.

Frankly, I had thought that virtual PC wouldn't handle Linux; guess microsoft has improved it.

Anyhow, as saikee said, run ifconfig and see what happens. also report the output here.

Then, as root browse to the directory /etc/rc.d/init.d and see if you have a script called network. If so, then run "./network start" (without the quotes) and see what happens.

Also, try running lspci to see what things your virtual system sees as connected to the pci bus.


----------



## saikee (Jun 11, 2004)

Yast only tests the nic but shows very little in reporting. I think in the Red Hat and Mandrake GUI they show a list of the detected nics and you can highlight the card and then select "activate". That way the card's status is shown clearly before and after the activation.


----------



## JohnWill (Oct 19, 2002)

There are a number of people apparently running various version of Linux under Virtual PC successfully, I'm just not one of them yet. 

Hmm... I get a Device not found when i do a *ifconfig eth0*, that's not good.

I went into the YaST2 console and I brought up the Network Card, it thinks it's a DECchip 21140, which is correct. It goes through it's list of actions until it gets to SUSEconfig, hangs there a while, then completes. However, the network doesn't work after it's done. The only thing I can ping is the local host name and localhost.

When I try to edit, I get a message that says:


> The resolver configuration file (/etc/resolv.conf) has been temporarily modified by dhcpcd. You have two options:
> 
> 1. Modify the current (changed) version of the file.
> 2. Press 'Accept' now and continue editing the other (nonresolver) data. You could return to this dialog later when the above service has terminated.


One curious issue, in the Name Server list, the first one has the correct 192.168.0.1 address in light grey, almost like it's teasing me.  I claims to be using the "tulip" driver for the Ethernet.


----------



## jiml8 (Jul 3, 2005)

what does lspci say?

what does ifconfig say? Not ifconfig eth0, but ifconfig with no options?


----------



## lynch (Aug 3, 2002)

Are you connected to a router or directly to a modem? Is this computer sharing it's internet connection with the regular lan/switched network?(assuming that's the case.) Are you using dhcp?
lynch


----------



## JohnWill (Oct 19, 2002)

Apparently the problem is that the initialization doesn't recognize the emulated hardware. I watched the init go by, 
and when it tried to initialize the NIC, it said there was no response. I suspect that I need to somehow manually 
configure the NIC without the hardware probe to get this to work. Here's the responses to the two commands, since 
I have no way to get them onto the other machine, I took a picture. 

To answer the other question, yes I'm using DHCP, that's how it's configured. Since Virtual PC does internal NAT, 
I don't even know the IP address to use if I wanted to assign it manually.

One problem, although I apparently detects the floppy, I couldn't figure out how to access it, it didn't appear in 
My Computer, and copying to /dev/fd0 didn't seem to be doing the trick. That's why I resorted to the picture.


----------



## jiml8 (Jul 3, 2005)

Actually that ifconfig response says your eth0 is up and running, and has obtained an address via DHCP. I presume you are connected to a firewall/router - in fact, from other posts of your I am certain of that. The lspci shows you as having only a basic system available. Do you really have a DEC nic? Must be an old one.

Why you got a device not found when you did an ifconfig eth0 is a mystery to me; asking ifconfig to list all interfaces shows it bigger'n life.

What symptoms, exactly, are you experiencing? Your network does appear to be up.

What do you get when, as root, you type in "route" (no quotes)?


----------



## JohnWill (Oct 19, 2002)

I don't know what happened there, since now it is displayed. I do know that I saw it come up with an error during the boot, and that error is missing now, at least I don't see it.

I'm running this under Virtual PC, I thought I made that clear. This is an emulated DEC card, not real hardware. I've moved the virtual machine to this computer so it's easier to get screen shots.  For some reason, it gets eth1, not eth0 as it's hardware, but it appears to have the same issue.

I have made real progress however!  I manually entered a gateway address for my router, and now I can access the router's setup screens, even though I still don't have any DNS capability. I think I just need to figure out how to enter the DNS addresses and I'll probably be on my way.


----------



## JohnWill (Oct 19, 2002)

Here's my current results from a route and an ifconfig


----------



## jiml8 (Jul 3, 2005)

I knew you were running virtual PC; I just see no reason why the NIC would be emulated. On VMWare it isn't - you see the actual hardware. VMWare emulates the display and the HD controller; for everything else you get the real hardware. At least, when the host is Linux you get the real hardware; don't know about the Windows version of VMWare.

In any case you have a problem in your interface definitions. In your earlier screenshot, the interface was eth0 and in this latest one it is eth1. That by itself is sufficient to cause your problems. A lot of your software will be looking for a specific interface, and if that interface is eth0 while the currently active interface is eth1, that will mess you up.

Take a look at /etc/sysconfig/network-scripts and see if there are startup scripts for both eth0 and eth1 present there. If so, you need to figure out which to use and make your system start consistently.

Your routing table has a potential issue; you need to make sure that loopback is mapped to 127.0.0.1 in /etc/hosts and /etc/networks (it should be, but then things aren't working right).

What is link-local?

Is your gateway really 192.168.131.254? This is the address of your router, of course, and most commonly it would be xxx.xxx.xxx.1 for a gateway. Doesn't have to be, of course, but this is probably the default and unless you changed it this could be your problem. Actually, this routing table makes me think that perhaps your Windows system is using ICS to allow Virtual PC to communicate with the internet; this would explain some things such as the emulated NIC. Is this the case?

VMWare, BTW, allows the virtual machine direct access to the NIC - at least, when the host is Linux.

For your reference, here is my linux routing table:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.247.0 * 255.255.255.0 U 0 0 0 vmnet8
192.168.0.0 * 255.255.255.0 U 10 0 0 eth0
192.168.40.0 * 255.255.255.0 U 0 0 0 vmnet1
default 192.168.0.1 0.0.0.0 UG 10 0 0 eth0

and here is the Windows routing table for the Win2K machine that presently is running in VMWare:

===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 0c 29 54 91 7a ...... AMD PCNET Family Ethernet Adapter
===========================================================================
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.103 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.0.0 255.255.255.0 192.168.0.103 192.168.0.103 1
192.168.0.103 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.0.255 255.255.255.255 192.168.0.103 192.168.0.103 1
224.0.0.0 224.0.0.0 192.168.0.103 192.168.0.103 1
255.255.255.255 255.255.255.255 192.168.0.103 192.168.0.103 1
Default Gateway: 192.168.0.1
===========================================================================
Persistent Routes:
None


----------



## JohnWill (Oct 19, 2002)

I don't know how VMWARE does it's tricks, but since I'm not using it, that's a moot point.  I actually have an option to attempt to use the real hardware, but that locks all the other sessions from using the network, not exactly a desirable situation.

As I explained, I moved my virtual machine over to this system so I could tinker and type without walking across the office. Since on this machine I can use a numeric IP address and access Internet sites, I think the fact that they're using eth1 for some reason isn't my major issue. It appears that my major issue currently is that I can't get DNS working, so I can only use numeric addresses.

I'm not sure that VMWARE configurations are going to be the same as using Virtual PC.

I fired up the W98 virtual machine, and did an IPCONFIG /ALL, here's what I get. As you can see, I am getting the correct gateway in the Virtual PC environment, this works perfectly.


> Windows 98 IP Configuration
> 
> Host Name . . . . . . . . . : VPC-W98
> DNS Servers . . . . . . . . : 192.168.0.1
> ...


----------



## jiml8 (Jul 3, 2005)

Are you running more than one router? Your gateway is on a different subnet than your DNS, and your DNS is on a non-routable subnet gateway, which looks like a common default gateway.

Your routing table does not specify a route to 192.168.0.0; this is probably why you aren't picking it up. Try duplicating the routing table that that Win98 machine has.


----------



## JohnWill (Oct 19, 2002)

As I said, Virtual PC uses a NAT layer to allow multiple virtual machines to share the network connection, and they present their own gateway. I did a route on the W98 machine, and this is what I have:

```
[FONT="Courier New"]Active Routes:

  Network Address          Netmask  Gateway Address        Interface  Metric
          0.0.0.0          0.0.0.0  192.168.131.254   192.168.131.66       1
        127.0.0.0        255.0.0.0        127.0.0.1        127.0.0.1       1
    192.168.131.0    255.255.255.0   192.168.131.66   192.168.131.66       1
   192.168.131.66  255.255.255.255        127.0.0.1        127.0.0.1       1
  192.168.131.255  255.255.255.255   192.168.131.66   192.168.131.66       1
        224.0.0.0        224.0.0.0   192.168.131.66   192.168.131.66       1
  255.255.255.255  255.255.255.255   192.168.131.66          0.0.0.0       1[/FONT]
```
I attempted to duplicate this in the Linux VM, though I didn't really know what to do with the last entry in the W98 routing table.


----------



## JohnWill (Oct 19, 2002)

Problem has been solved!









Apparently the "automatic" configuration got confused. It was picking a DNS address that pointed to my router, which would be correct except for the fact that there's another NAT layer between us. I finally figured out how to make their tool let me pick the DNS addresses and put in the one for Virtual PC, and suddenly the addresses are being resolved correctly.









Thanks for all the assistance, I'm sure I'll be back before too long now that I have it running.


----------



## lynch (Aug 3, 2002)

:up:


----------



## jiml8 (Jul 3, 2005)

That "internal NAT" is downright wierd. Seems like a suboptimal design choice. The problem you have had is an illustration of why it is suboptimal; many guest OS's will get confused by it.

I suppose it has something to do with how Windows controls hardware and doesn't easily share. You are doing something reminiscent of the windows ICS in order to reach the net.


----------



## JohnWill (Oct 19, 2002)

Yep, now that I understand what was going on, it seems to trivial. The biggest problems was my not knowing my way around Linux well enough to immediately whack the proper parameters to fix it. Oh well, another lesson learned.


----------



## jiml8 (Jul 3, 2005)

Welll...

You didn't really have a Linux problem here. This was a networking problem due to a peculiarity of your VM. 

Have no fear; you'll have plenty of opportunity for Linux problems. But what you will quickly find is that Linux problems, unlike Windows problems, can be isolated, analyzed, and fixed. Furthermore, you practically never have to reboot.


----------



## JohnWill (Oct 19, 2002)

Gee, I sense a real dislike for anything Microsoft here.  Virtual PC isn't perfect, but except for that small glitch in sensing the network, everything has worked flawlessly. I really don't have a lot to complain about.


----------



## jiml8 (Jul 3, 2005)

Not so much anti-microsoft as anti-windows. My reasons are mostly, though not exclusively, technical. I don't know what your OS background is, but as you learn Linux you'll see more and more of why I don't like Windows.


----------



## JohnWill (Oct 19, 2002)

I've used Sun OS for several years in the past, as well as Linux. However, it's been some time since I used either, and the rust is showing. 

I don't think Windows it the "be all" of operating environments, but only a fool would dismiss it, since it has the lion's share of the desktops. I go where the money is, it's the way to survive.


----------



## jiml8 (Jul 3, 2005)

If you used Sun OS (solaris) at any level beyond that of basic user, then you already know a lot of what I am saying. Solaris and Linux are close cousins architecturally.

And, of course, dismissing Windows just isn't possible. I use it and know a great deal about it simply because it is so dominant on the desktop. I don't have to like it though.


----------



## JohnWill (Oct 19, 2002)

I didn't use a lot of the applications on the Sun workstation, I even forget which version we were using, but it was before it became more like Unix and less like a "special" Sun product. I was developing a multi-channel video controller for the Phila Stock Exchange, and I had to talk to it in TCP/IP, and that was before you could really do that with Windows. That was back when using TCP/IP to communicate with an embedded device was something special!  I went back to see when the development was taking place, and it ended in late 1998, but I started the year before. It has been a while... 

On the brighter note, I think they still use my PVG (Programmable Video Controller) on the trading floor, each box had 36 screens attached.


----------



## whitehambone (Aug 23, 2007)

JohnWill,

How did you do the route in W98? I am having the same problem your having installing Suse 10 in VPC. However I am still in the setup configuration area.


----------

