[RFC] picotcp.20140530
Antony Pavlov
antonynpavlov at gmail.com
Mon Jun 2 09:56:28 PDT 2014
On Mon, 2 Jun 2014 10:46:21 +0200
Sascha Hauer <s.hauer at pengutronix.de> wrote:
> On Fri, May 30, 2014 at 01:18:33PM +0400, Antony Pavlov wrote:
> > Hi All!
> >
> > My new barebox with picotcp support brunch is pushed to github:
> >
> > https://github.com/frantony/barebox/tree/picotcp.20140530
> >
> > For this version reworked content of Daniele Lacamera's push request
> > is used (see https://github.com/frantony/barebox/pull/1).
> >
> > Changes since picotcp.20140525:
> >
> > * rebased over latest barebox;
> > * the latest picotcp is used (warnings and big-endian
> > tests fixed);
> > * add picotcp dhcp client support by Daniele Lacamera
> > * qemu mips malta defconfig is dropped as barebox qemu
> > malta has no network device support (you can rebase
> > over experimental pci branch but it is very different story ...)
> > * other small fixes.
>
> I tried this version. I still didn't get it working, but some
> improvements.
>
> What I changed is:
>
> * call eth_send() instead of edev->send directly. This makes sure the
> carrier is initialized correctly
> * implemented pico_zalloc as memalign(32, x); memset(ptr, 0 x); Some
> drivers (such as fec_imx.c I tested with) need bigger alignment for
> network packets to be able to do DMA transfers.
> * move picotcp_net_init from coredevice_initcall to device_initcall.
> In my case the poller infrastructure is not available during
> coredevice_initcall and barebox crashes. Maybe the poller
> infrastructure could be made more robust here, but we don't want to
> to networking in this early stage anyway, right?
> * select POLLER is missing
>
> With this I get:
>
> barebox at Phytec phyCORE-i.MX27:/ ifconfig eth 192.168.23.67 255.255.0.0
> up
> Assigned ipv4 192.168.23.67 to device eth
> barebox at Phytec phyCORE-i.MX27:/ picoping 192.168.23.4
> eth0: 100Mbps full duplex link detected
> ARP: Destination Unreachable
> ARP: Destination Unreachable
> ARP: Destination Unreachable
> ARP: Destination Unreachable
> ARP: Destination Unreachable
> ---- Ping timeout!!!
I have just used https://github.com/frantony/barebox/tree/picotcp.20140530 on real MIPS big-endian hardware.
I have not introduced any picotcp/network stack -related changes.
picoping works fine for me.
I have even used tcpdump to check that barebox (10.22.0.99) really pings my x86 host (10.22.0.1) via real world Ethernet.
Yes, it really does so:
20:36:28.583402 IP 10.22.0.99 > 10.22.0.1: ICMP echo request, id 37314, seq 6, length 56
There is a small problem: my network interface has 'eth0' name, but ifconfig sees only 'eth' interface.
--
Best regards,
Antony Pavlov
More information about the barebox
mailing list