On Mon, Sep 09, 2024 at 04:11:37PM +0200, Jerome Forissier wrote: > > > On 9/6/24 19:54, Tom Rini wrote: > > On Fri, Sep 06, 2024 at 02:33:16PM +0200, Jerome Forissier wrote: > > > >> This is a rework of a patch series by Maxim Uvarov: "net/lwip: add lwip > >> library for the network stack" [1]. The goal is to introduce the lwIP > >> TCP/IP > >> stack [2] [3] as an alternative to the current implementation in net/, > >> selectable with Kconfig, and ultimately keep only lwIP if possible. Some > >> reasons for doing so are: > >> - Make the support of HTTPS in the wget command easier. Javier T. and > >> Raymond M. (CC'd) have some additional lwIP and Mbed TLS patches to do > >> so. With that it becomes possible to fetch and launch a distro installer > >> such as Debian etc. using a secure, authenticated connection directly > >> from the U-Boot shell. Several use cases: > >> * Authentication: prevent MITM attack (third party replacing the > >> binary with a different one) > >> * Confidentiality: prevent third parties from grabbing a copy of the > >> image as it is being downloaded > >> * Allow connection to servers that do not support plain HTTP anymore > >> (this is becoming more and more common on the Internet these days) > >> - Possibly benefit from additional features implemented in lwIP > >> - Less code to maintain in U-Boot > > > > On am64x-sk (am64x_evm_a53_defconfig) I'm seeing: > > => tftpboot 80200000 EFI/arm64/grubaa64.efi > > Using ethernet@8000000port@1 device > > TFTP from server 192.168.116.10; our IP address is 192.168.116.23 > > Filename 'EFI/arm64/grubaa64.efi'. > > Load address: 0x80200000 > > Loading: > > ... silent hang ... > > > > Which I didn't see with v9. I can test other TI K3 platforms if it would > > help. > > Weird. I compared v9 and v10 (rebased onto the same commit as v9) but > I saw nothing obvious. Would you mind running the test again with these > traces added? > > diff --git a/net/lwip/net-lwip.c b/net/lwip/net-lwip.c > index 1948fc1c309..9bbfd8ee5a7 100644 > --- a/net/lwip/net-lwip.c > +++ b/net/lwip/net-lwip.c > @@ -35,6 +35,7 @@ static err_t linkoutput(struct netif *netif, struct pbuf *p) > void *pp = NULL; > int err; > > + printf("[OUT|%d]", p->len); > if ((unsigned long)p->payload % PKTALIGN) { > /* > * Some net drivers have strict alignment requirements and may > @@ -252,12 +253,16 @@ int net_lwip_rx(struct udevice *udev, struct netif > *netif) > int len; > int i; > > - if (!eth_is_active(udev)) > + printf("[IN]"); > + if (!eth_is_active(udev)) { > + printf("ERR: !eth_is_active()\n"); > return -EINVAL; > + } > > flags = ETH_RECV_CHECK_DEVICE; > for (i = 0; i < ETH_PACKETS_BATCH_RECV; i++) { > len = eth_get_ops(udev)->recv(udev, flags, &packet); > + printf("[IN|%d]", len); > flags = 0; > > if (len > 0) {
I have the log, if it helps. However, with debug prints added, now it completes. And I can see (as part of trimming down my test setup) that without the prints, some tests are OK. The much smaller "helloworld.efi" file and test is fine. -- Tom
signature.asc
Description: PGP signature