bug-grub
[Top][All Lists]
Advanced

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

[bug #45204] EFI PXE boot fails for some firmware


From: Mark Salter
Subject: [bug #45204] EFI PXE boot fails for some firmware
Date: Thu, 28 May 2015 19:35:37 +0000
User-agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0

Follow-up Comment #5, bug #45204 (project grub):

I added code to dump the filter info:

+static void dump_snp_filter(grub_efi_simple_network_t *net)
+{
+       struct grub_efi_simple_network_mode *m = net->mode;
+       int i;
+
+       grub_dprintf("efi", "FilterMask[%x] FilterSetting[%x] McastCount[%x]n",
+                    m->receive_filter_mask,
+                    m->receive_filter_setting,
+                    m->mcast_filter_count
+               );
+       for (i = 0; i < m->mcast_filter_count; i++) {
+               grub_dprintf("efi", "    %d: %02x:%02x:%02x:%02x:%02x:%02xn",
+                            i,
+                            m->mcast_filter[i][0], 
+                            m->mcast_filter[i][1],
+                            m->mcast_filter[i][2],
+                            m->mcast_filter[i][3],
+                            m->mcast_filter[i][4],
+                            m->mcast_filter[i][5]);
+               
+       }
+}
+

Using my patch to save/restore values, I see:

>From grub_efinet_findcards():
net/drivers/efi/efinet.c:42: FilterMask[1f] FilterSetting[7] McastCount[3]
net/drivers/efi/efinet.c:51:     0: 01:005e:00:00:01
net/drivers/efi/efinet.c:51:     1: 33:33:00:00:00:01
net/drivers/efi/efinet.c:51:     2: 33:33:ff:57:3f:62

After open exclusive, before calling receive_filters():
net/drivers/efi/efinet.c:42: FilterMask[1f] FilterSetting[0] McastCount[0]

net/drivers/efi/efinet.c:186: receive_filters returned 0

After receive_filters() using values saved in grub_efinet_findcards():
net/drivers/efi/efinet.c:42: FilterMask[1f] FilterSetting[7] McastCount[3]
net/drivers/efi/efinet.c:51:     0: 01:00:5e:00:00:01
net/drivers/efi/efinet.c:51:     1: 33:33:00:00:00:01
net/drivers/efi/efinet.c:51:     2: 33:33:ff:57:3f:62

Using your suggesting values:

>From grub_efinet_findcards():
net/drivers/efi/efinet.c:42: FilterMask[1f] FilterSetting[7] McastCount[3]
net/drivers/efi/efinet.c:51:     0: 01:00:5e:00:00:01
net/drivers/efi/efinet.c:51:     1: 33:33:00:00:00:01
net/drivers/efi/efinet.c:51:     2: 33:33:ff:57:3f:62

After open exclusive, before calling receive_filters():
net/drivers/efi/efinet.c:42: FilterMask[1f] FilterSetting[0] McastCount[0]

After receive_filters() using your suggested values in
grub_efinet_findcards():
net/drivers/efi/efinet.c:199: receive_filters returned 0
net/drivers/efi/efinet.c:42: FilterMask[1f] FilterSetting[15] McastCount[0]

The subsequent pxe boot worked fine both ways.


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?45204>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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