qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-discuss] Network problems with qemu-system-arm and u-boot


From: Jakob Bohm
Subject: Re: [Qemu-discuss] Network problems with qemu-system-arm and u-boot
Date: Sun, 12 May 2013 13:16:08 +0200
User-agent: Mozilla/5.0 (Windows NT 5.2; WOW64; rv:17.0) Gecko/20130328 Thunderbird/17.0.5

On 5/12/2013 1:46 AM, pietrushnic wrote:
Hi all,
I'm trying to obtain IP address in u-boot using qemu-system-arm 1.4.91 (commit:38ebb39). Unfortunately u-boot is unable to retrieve packets until I add '-net dump,file=/tmp/dump.pcap' to qemu command line. I'm using bridged tap interface as it was described here: http://toast.djw.org.uk/qemu.html <http://toast.djw.org.uk/qemu.html>.

I tried ARM testing image from http://wiki.qemu.org/download/arm-test-0.2.tar.gz to verify my network configuration and it works fine without additional traffic dump, so it looks like it is not configuration issue. I'm running in to this issue on Ubuntu 12.04, but previously tested on Debian wheezy and there was no problem with obtaining packets by u-boot.

So my question is, if someone heard about such anomaly ?
How it is possible that packets cannot get through interface without additional dump (delay ?) and magically pass through if dump command was added ?
Any thoughts how it could be debugged from qemu side ?

If you need additional information about configuration, just let me know what can help.

What happens (on the affected system) if you try each of the
following experiments:

1. Do not pass the dump option to qemu, but run tcpdump on the bridge
  interface in promiscous mode.

2. Do not pass the dump option to qemu, but run tcpdump on the bridge
  interface in non-promiscous mode.

3. Grab the kernel from the working wheezy configuration and install
  it on Ubuntu, does this make it work, and if so, what are the
  version numbers and config differences of those two kernels.

My suspicions, which these tests are about, is that u-boot may be
relying on the network card receiving more packets not specifically
addressed to it than the regular dhcp client does.  Somehow the virtual
nic emulated by qemu does not understand or pass on the i/o request
to receive those packets from the network.

There are many modes in which a real world NIC can be put to receive
packets not addressed to its official hardware MAC, and some of those
modes may not be exercised by other guest code.

Some of the modes I can think of are:

A. Promiscous mode (obvious).

B. Receiving multicast packets without going through the niceties of
  announcing interest in specific multicast MACs done by modern OS
  kernels.

C. Using the NIC with a different MAC address than specified by the
  qemu options (like what happens when u-boot starts on a hardware
  board where the official MAC of the board is stored in general NV
  memory not read by U-boot).


Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2730 Herlev, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded




reply via email to

[Prev in Thread] Current Thread [Next in Thread]