[prev in list] [next in list] [prev in thread] [next in thread] 

List:       qemu-discuss
Subject:    Re: sparc-solaris networking not working
From:       Michele Denber <mdenber () gmx ! com>
Date:       2020-06-20 18:51:32
Message-ID: 5EEE5AB4.6040700 () gmx ! com
[Download RAW message or body]

On 06-19-2020 6:08 PM, Peter Maydell wrote:
> Ping does not work with user-mode networking; don't try to use
> it to see whether networking works or not, because it will
> mislead you.
Oh!  That's good to know.  I guess I was misled by this page:
https://en.wikibooks.org/wiki/QEMU/SunOS_4.1.4 where it says

"We can even check with the ping command from the guest that the host is
alive:

# ping 10.0.2.2
10.0.2.2 is alive"

>
> You can see that the guest has successfully connected
> because it's received the 220 response string back,
> so networking is basically functional.
Which is why I can't figure out why I'm not getting files to transfer.
Some things work fine.  Like I can telnet from the host to the guest:

$ telnet localhost 4423

But I can't transfer files with telnet.
> ... PASV to the VM host's
> actual IP address on 192.168.x.x (ie not to the 10.0.2.2
> magic address that says "give me localhost on the host")
> might work.
Unfortunately, that doesn't work either.  It does create the file on the
destination but it is zero-length and no data ever gets transferred.
I've tried it with a bunch of different ftp servers, on Solaris 10,
Solaris 11, Win 7, Win XP, Raspberry Pi, and Android.

sunss5# ftp
ftp> op 192.168.0.78
Connected to 192.168.0.78.
220 avon FTP server ready.
Name (192.168.0.78:root): denber
331 Password required for denber.
Password:
230 User denber logged in.
ftp> bin
200 Type set to I.
ftp> quote PASV
227 Entering Passive Mode (192,168,0,78,170,250)
ftp> put
(local-file) libsuntool.so.0.54
(remote-file) libsuntool.so.0.54
502 Illegal PORT Command
^C
^Z
Stopped
sunss5#

> You've had the bad luck to pick two things (ping and ftp)
> which are weird and complicated in ways that user-mode
> networking can't handle. Try something simpler, like HTTP
> or SSH.
Unfortunately, Solaris 1.1 does not have ssh.  It also doesn't have
curl, so http is out too.  It does have rcp but that doesn't work either:
sunss5# rcp libsuntool.so.0.54
192.168.0.78:/export/home/denber/libsuntool.so.0.54
192.168.0.78: unknown host
sunss5#

But this rcp, from the Ubuntu host to the SunOS guest /almost /works:

~$ sudo rcp localhost:/lib/libsuntool.so.0.54 .
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:dxNOCRlyR2qzbIqbIyxmFKQ+9UnBTXonCIo2LTByJX=
c.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
root@localhost's password:
Permission denied, please try again.


Nor does rlogin:
sunss5# rlogin 192.168.0.78
192.168.0.78: unknown host
sunss5# rlogin 10.0.2.2
10.0.2.2: unknown host

Or rsh:
sunss5# rsh -n 192.168.0.78 ls
192.168.0.78: unknown host

I also don't have netcat or wget.  I'm about out of ideas here.  I just
want to transfer a few files off the guest.
>   (You might also consider bridge-mode networking
> if user-mode's deficiencies are deal-breakers for you,
> but be aware that it is a lot more complicated to set up.)
Is that the section in https://en.wikibooks.org/wiki/QEMU/SunOS_4.1.4
called "Using a TAP Device"?

             - Michele


[Attachment #3 (text/html)]

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 06-19-2020 6:08 PM, Peter Maydell
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAFEAcA-NuJ7wXgEo=7oVW2t3pVNOJjtk2YdDB-JX5mz6OJpu-A@mail.gmail.com"
      type="cite">
      <pre wrap="">
Ping does not work with user-mode networking; don't try to use
it to see whether networking works or not, because it will
mislead you.</pre>
    </blockquote>
    Oh!   That's good to know.   I guess I was misled by this page:
    <a class="moz-txt-link-freetext" \
href="https://en.wikibooks.org/wiki/QEMU/SunOS_4.1.4">https://en.wikibooks.org/wiki/QEMU/SunOS_4.1.4</a> \
where it says<br>  <p>"We can even check with the <tt>ping</tt> command from the \
guest  that the host is alive:
    </p>
    <pre># ping 10.0.2.2
10.0.2.2 is alive"
</pre>
    <blockquote
cite="mid:CAFEAcA-NuJ7wXgEo=7oVW2t3pVNOJjtk2YdDB-JX5mz6OJpu-A@mail.gmail.com"
      type="cite">
      <pre wrap="">

You can see that the guest has successfully connected
because it's received the 220 response string back,
so networking is basically functional.
</pre>
    </blockquote>
    Which is why I can't figure out why I'm not getting files to
    transfer.   Some things work fine.   Like I can telnet from the host
    to the guest:<br>
    <br>
    <small><font face="Courier New, Courier, monospace">$ telnet
        localhost 4423</font></small><br>
    <br>
    But I can't transfer files with telnet.<br>
    <blockquote
cite="mid:CAFEAcA-NuJ7wXgEo=7oVW2t3pVNOJjtk2YdDB-JX5mz6OJpu-A@mail.gmail.com"
      type="cite">
      <pre wrap="">
... PASV to the VM host's
actual IP address on 192.168.x.x (ie not to the 10.0.2.2
magic address that says "give me localhost on the host")
might work.</pre>
    </blockquote>
    Unfortunately, that doesn't work either.   It does create the file on
    the destination but it is zero-length and no data ever gets
    transferred.   I've tried it with a bunch of different ftp servers,
    on Solaris 10, Solaris 11, Win 7, Win XP, Raspberry Pi, and Android.<br>
    <small><font face="Courier New, Courier, monospace"><br>
        sunss5# ftp<br>
        ftp&gt; op 192.168.0.78<br>
        Connected to 192.168.0.78.<br>
        220 avon FTP server ready.<br>
        Name (192.168.0.78:root): denber<br>
        331 Password required for denber.<br>
        Password:<br>
        230 User denber logged in.<br>
        ftp&gt; bin<br>
        200 Type set to I.<br>
        ftp&gt; quote PASV<br>
        227 Entering Passive Mode (192,168,0,78,170,250)<br>
        ftp&gt; put<br>
        (local-file) libsuntool.so.0.54<br>
        (remote-file) libsuntool.so.0.54<br>
        502 Illegal PORT Command<br>
        ^C<br>
        ^Z<br>
        Stopped<br>
        sunss5# <br>
      </font></small><br>
    <blockquote
cite="mid:CAFEAcA-NuJ7wXgEo=7oVW2t3pVNOJjtk2YdDB-JX5mz6OJpu-A@mail.gmail.com"
      type="cite">
      <pre wrap="">
</pre>
      <pre wrap="">
You've had the bad luck to pick two things (ping and ftp)
which are weird and complicated in ways that user-mode
networking can't handle. Try something simpler, like HTTP
or SSH.</pre>
    </blockquote>
    Unfortunately, Solaris 1.1 does not have ssh.   It also doesn't have
    curl, so http is out too.   It does have rcp but that doesn't work
    either:<br>
    <small><font face="Courier New, Courier, monospace">sunss5# rcp
        libsuntool.so.0.54
        192.168.0.78:/export/home/denber/libsuntool.so.0.54<br>
        192.168.0.78: unknown host<br>
        sunss5# <br>
      </font></small><br>
    But this rcp, from the Ubuntu host to the SunOS guest <i>almost </i>works:<br>
    <br>
    <small><font face="Courier New, Courier, monospace">~$ sudo rcp
        localhost:/lib/libsuntool.so.0.54 .<br>
        The authenticity of host 'localhost (127.0.0.1)' can't be
        established.<br>
        ECDSA key fingerprint is
        SHA256:dxNOCRlyR2qzbIqbIyxmFKQ+9UnBTXonCIo2LTByJXc.<br>
        Are you sure you want to continue connecting
        (yes/no/[fingerprint])? yes<br>
        Warning: Permanently added 'localhost' (ECDSA) to the list of
        known hosts.<br>
        root@localhost's password: <br>
        Permission denied, please try again.<br>
      </font></small><br>
    <br>
    Nor does rlogin:<br>
    <small><font face="Courier New, Courier, monospace">sunss5# rlogin
        192.168.0.78<br>
        192.168.0.78: unknown host<br>
        sunss5# rlogin 10.0.2.2 <br>
        10.0.2.2: unknown host</font></small><br>
    <br>
    Or rsh:<br>
    <small><font face="Courier New, Courier, monospace">sunss5# rsh -n
        192.168.0.78 ls<br>
        192.168.0.78: unknown host</font></small><br>
    <br>
    I also don't have netcat or wget.   I'm about out of ideas here.   I
    just want to transfer a few files off the guest.<br>
    <blockquote
cite="mid:CAFEAcA-NuJ7wXgEo=7oVW2t3pVNOJjtk2YdDB-JX5mz6OJpu-A@mail.gmail.com"
      type="cite">
      <pre wrap=""> (You might also consider bridge-mode networking
if user-mode's deficiencies are deal-breakers for you,
but be aware that it is a lot more complicated to set up.)</pre>
    </blockquote>
    Is that the section in
    <a class="moz-txt-link-freetext" \
href="https://en.wikibooks.org/wiki/QEMU/SunOS_4.1.4">https://en.wikibooks.org/wiki/QEMU/SunOS_4.1.4</a> \
called "<span  class="mw-headline" id="Using_a_TAP_Device">Using a TAP Device"?<br>
      <br>
                           - Michele<br>
    </span><br>
  </body>
</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic