Solaris host: no network connection, mouse pointer mismatch

Bug #1787505 reported by Michele Denber
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Invalid
Undecided
Unassigned

Bug Description

This is probably a bit far afield but on a Solaris 10 SPARC host (Sun M3000) running a Windows XP guest like this:

./qemu-system-x86_64 -m 1024 -boot d -smp 3 -net nic -net user -hda /bkpool/qemuimages/XP.img -cdrom /bkpool/qemuimages/xp.iso &

the vnc server starts up and Windows boots normally. However, there is no network connectivity. There are no network devices visible in XP's Networking tab of Control Panel and a ping of the local router reports "unreachable".

Also, the keyboard works fine but the guest mouse pointer is offset from the host mouse position by an amount that varies by screen position. This makes it impossible to point to locations near the edge of the qemu window. This seems to be a previously reported problem, but the suggested fix, " -device usb-tablet", prevents qemu from even starting:

qemu-system-x86_64: -device usb-tablet: No 'usb-bus' bus found for device 'usb-tablet'

The physical mouse is connected to the USB port of a Sun Ray 2fs controlling the M3000 via Sun Ray server. I apologize if this is a configuration issue and not a bug but I don't know where else to report it and have been unable to find a solution in the documentation.

Revision history for this message
Thomas Huth (th-huth) wrote :

You should maybe try a different NIC model. According to https://wiki.qemu.org/Documentation/Networking the rtl8139 seems to be a good choice?

Concerning USB, you've also got to enable an emulated "USB host controller" to use USB devices. The easiest way to do that is to simply start QEMU with the "-usb" parameter.

Revision history for this message
Peter Maydell (pmaydell) wrote :

If you have access to a Linux box, I'd definitely recommend testing the same setup there. That way you can distinguish "this doesn't work on Solaris" from "this doesn't work generally" -- the latter are (a) more likely to be config/command line issues and (b) are easier for us to work on where there are bugs.

Revision history for this message
Michele Denber (michele31415) wrote :

Thank you very much. The following invocation fixed the mouse problem (mostly) and made the Ethernet device available to the guest:

./qemu-system-x86_64 -m 2047 -boot d -usb -device usb-tablet -smp 3 -netdev user,id=n0 -device rtl8139,netdev=n0 -hda /bkpool/qemuimages/XP.img -cdrom /bkpool/qemuimages/xp.iso

There is one minor problem with the mouse. Without the "-usb" qemu displays the guest cursor position with an arrow, and the host cursor position with a four pixel-wide box, separated by a distance that varies with position on the screen. After adding "-usb", the guest cursor correctly tracks the host mouse, but the little box remains displayed, speared on the tip on the guest cursor arrow.

Also, while the guest now has a network device it still can't talk to any destination. Oddly, if I try to ftp to some server it says "connected" but then nothing else. Web pages all come back as "unreachable" even when requested by IP rather than name. Even pinging the router fails (though the documentation states that ping won't work anyway). The guest shows packets beign sent, but none received. I tried various other options listed in the documentation without success, eg.

# qemu-system-x86_64: Host doesn't belong to network
 ./qemu-system-x86_64 -m 2047 -boot d -usb -device usb-tablet -smp 3 -netdev user,id=n0,host=192.168.0.20, \
> hostname=canadiceq,dns=127.0.0.1,net=192.168.0.20/24 -device rtl8139,netdev=n0 -hda /bkpool/qemuimages/XP.img -cdrom /bkpool/qemuimages/xp.iso &
1212
# qemu-system-x86_64: Host doesn't belong to network

My best guess also didn't work:

./qemu-system-x86_64 -m 2047 -boot d -usb -device usb-tablet -smp 3 -netdev user,id=n0,hostfwd=tcp::8080-:80,\
> net=192.168.0.0/24 -device rtl8139,netdev=n0 -hda /bkpool/qemuimages/XP.img -cdrom /bkpool/qemuimages/xp.iso &

That at least starts up, but no communication.

I guess I just don't understand what needs to be listed where in the qemu invocation. My guest TCP parameters are set up the same way as a different working XP system. I can't tell what I need to get the guest to talk to the Internet. I have a host IP (192.168.0.20), guest IP (192.168.0.21), router IP (192.168.0.1), and DNS IP (208.67.222.222). What goes where? Do I need to set up anything special on the Solaris end? I've read over the documenation but still can't figure it out.

"If you have access to a Linux box, I'd definitely recommend testing the same setup there."

I do, but I only have one legit XP license.

Revision history for this message
Michele Denber (michele31415) wrote :

Anyone? I'm still trying to get my networking working. On this page: https://en.wikibooks.org/wiki/QEMU/Networking#User_mode_networking, it says

"The guest OS will see an E1000 NIC with a virtual DHCP server on 10.0.2.2 and will be allocated an address starting from 10.0.2.15. A virtual DNS server will be accessible on 10.0.2.3, and a virtual SAMBA file server (if present) will be accessible on 10.0.2.4 allowing you to access files on the host via SAMBA file shares."

That's fine, but my LAN is on 192.186.0.x not, 10.2.0.x. The following starts qemu but

./qemu-system-x86_64 -m 2047 -boot d -usb -device usb-tablet -smp 3 -netdev user,id=n0,net=192.168.0.0/24 -device rtl8139,netdev=n0 -hda /bkpool/qemuimages/XP.img -cdrom /bkpool/qemuimages/xp.iso &

shows an Ethernet device in XP but is unable to connect to anything via IE.

But it also says

"To use this network setup with the Linux kernel, you must set the configuration option CONFIG_E1000=y when compiling."

Does this (to the extent that Linux applies to Solaris) also apply if I'm using an rtl8139 card?

Revision history for this message
Peter Maydell (pmaydell) wrote : Re: [Qemu-devel] [Bug 1787505] Re: Solaris host: no network connection, mouse pointer mismatch

On 31 August 2018 at 01:47, Michele Denber <email address hidden> wrote:
> Anyone? I'm still trying to get my networking working. On this page:
> https://en.wikibooks.org/wiki/QEMU/Networking#User_mode_networking, it
> says
>
> "The guest OS will see an E1000 NIC with a virtual DHCP server on
> 10.0.2.2 and will be allocated an address starting from 10.0.2.15. A
> virtual DNS server will be accessible on 10.0.2.3, and a virtual SAMBA
> file server (if present) will be accessible on 10.0.2.4 allowing you to
> access files on the host via SAMBA file shares."
>
> That's fine, but my LAN is on 192.186.0.x not, 10.2.0.x. The following
> starts qemu but

10.0.2.x, and this is the "virtual" bit of network inside QEMU,
whose numbering is unrelated to your own network.

User questions probably are better on the mailing list, not
inside bug reports.

thanks
-- PMM

Revision history for this message
Michele Denber (michele31415) wrote :

Sorry about that. I didn't know where to ask about this. Anyway thank you for the explanation. That was the clue I needed. Instead of giving XP a gateway of 192.168.0.1 in the Networking TCP tab I just set gateway and DNS to automatic. Networking is all working fine now. This was the call:

./qemu-system-x86_64 -m 2047 -usb -device usb-tablet -smp 3 -device rtl8139,netdev=net0 -netdev user,id=net0 -boot d -hda /bkpool/qemuimages/XP.img -cdrom /bkpool/qemuimages/xp.iso &

So this is not a bug, but a configuration issue.

Thomas Huth (th-huth)
Changed in qemu:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.