[syslinux] core_udp_sendto: no mapping

Gene Cumm
Mon, 27 Nov 2017 23:18:01 -0000

On Mon, Nov 27, 2017 at 6:07 PM, Joakim Tjernlund
<Joakim.Tjernlund at infinera.com> wrote:
> On Mon, 2017-11-27 at 18:03 -0500, Gene Cumm wrote:

>> On Mon, Nov 27, 2017 at 2:14 PM, Gene Cumm <gene.cumm at
gmail.com> wrote:
>> > On Mon, Nov 27, 2017 at 12:07 PM, Joakim Tjernlund
>> > <Joakim.Tjernlund at infinera.com> wrote:
>> > > On Mon, 2017-11-27 at 08:42 -0500, Gene Cumm wrote:
>> > > > Bringing the discussion to the list.
>> > > >
>> > > > You stated you see the following on your Lenovo ThinkPad
T470s with
>> > > > UEFI firmware N1WET41W (1.20 date: 10/17/2017):
>> > > >
>> > > >
>> > > >   core_udp_sendto: stalling on configure with no mapping
>> > > >
>> > > >
>> > > > OUI 54-E1-AD
>> > > >
>> > > > lspci -s 0:1f.6 -v
>> > > > 00:1f.6 Ethernet controller: Intel Corporation Ethernet
Connection (4)
>> > > > I219-V (rev 21)
>> > > >         Subsystem: Lenovo Ethernet Connection (4) I219-V
>> > > >         Flags: bus master, fast devsel, latency 0, IRQ
125
>> > > >         Memory at dc200000 (32-bit, non-prefetchable)
[size=128K]
>> > > >         Capabilities: [c8] Power Management version 3
>> > > >         Capabilities: [d0] MSI: Enable+ Count=1/1
Maskable- 64bit+
>> > > >         Capabilities: [e0] PCI Advanced Features
>> > > >         Kernel driver in use: e1000e
>> > > >         Kernel modules: e1000e
>> > > >
>> > > > This might be the only wired NIC but there's
possibly multiple device
>> > > > handles to it and possibly a device handle to the wrong
NIC
>> > > > (wireless).
>> > > >
>> > > > In your EFI shell (hopefully you have such an option):
>> > > >
>> > > > version > fs0:\efi-ver.txt
>> > > > dh -p Net > fs0:\efi-dh-net.txt
>> > > >
>> > > > Feel free to run it without the redirect
(">") to see the results
>> > > > yourself.  The redirects would help if you can access
the files so you
>> > > > don't need to manually transcribe the output.
>> > > >
>> > > > Here's some other UEFI Shell commands that may be of
use:
>> > > >
>> > > > guid > fs0:\efi-guid.txt
>> > > >   or     alias > fs0:\efi-alias.txt
>> > > > dh > fs0:\efi-dh.txt
>> > >
>> > > Managed to install an EFI shell from here:
>> > >
https://github.com/tianocore/edk2/blob/master/ShellBinPkg/UefiShell/X64/Shell.efi
>> > >
>> > > and got a dh > dh.txt
>> > > I don't know what to do with this info so attaching it
here.
>> >
>> > Ok.  Different GUID aliases.  Line 1381 says what I see as
"Net" you
>> > likely see as "SimpleNetwork".  This handle has the
necessary
>> > "UDPv4ServiceBinding" (I see as "UDPv4Sb").
>> >
>> > Thanks for the excellent data.  It's been a while since I
looked at
>> > the handle search code to debug this.
>>
>> Did you ever see a "disable UseDefaultAddress" message?  The
code
>> should have printed those original messages dump the new message then
>> try again at doing the network transaction.
>
> Yes, that was the last message I think. Then, after a while, it rebooted.
> I figured the names(Net vs. SimpleNetwork) to search for was standardized?

That's a partially good thing.  This says it tried to bind UDP where
we got PXE, failed, hunted for something that provides UDP on the same
MAC, found it, attempted to use the UseDefaultAddress flag, failed to
configure, and fell back to attempting to manually configure the
entire UDP datagram.  At this point, it should have just worked.

The aliases/names aren't entirely standardized and it's just a
friendly name for the GUID (which is standardized).  The aliases could
easily be localized though I believe there's only 2 common groups, the
two we see here.

Did you happen to peek at the version command?  I'm guessing it's
saying 2.0 since the UDPv4Sb is not on the same handle as the PxeBc.

--
-Gene