Message ID | 1432718959-28198-1-git-send-email-sbabic@denx.de |
---|---|
State | Rejected |
Delegated to: | Stefano Babic |
Headers | show |
Hello Stefano, Am 27.05.2015 11:29, schrieb Stefano Babic: > commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 > "Use env callbacks for net variables" has a side effect > on i.MX6 boards because they do not set CONFIG_NET: > the ip address results not set, but it is stored > in the environment. > > => pri ipaddr > ipaddr=192.168.178.66 > => ping 192.168.178.1 > *** ERROR: `ipaddr' not set > ping failed; host 192.168.178.1 is not alive > > Setting CONFIG_NET solves this issue. > > Reported-by: Heiko Schoker <hs at denx.de> s/ok/och ;-) > Signed-off-by: Stefano Babic <sbabic at denx.de> > --- > include/configs/mx6_common.h | 3 +++ > 1 file changed, 3 insertions(+) Thanks! bye, Heiko > > diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h > index 233c6d2..3d859cf 100644 > --- a/include/configs/mx6_common.h > +++ b/include/configs/mx6_common.h > @@ -105,4 +105,7 @@ > #define CONFIG_FSL_ESDHC > #define CONFIG_FSL_USDHC > > +/* NET */ > +#define CONFIG_NET > + > #endif >
Hi Stefano, On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic at denx.de> wrote: > commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 > "Use env callbacks for net variables" has a side effect > on i.MX6 boards because they do not set CONFIG_NET: > the ip address results not set, but it is stored > in the environment. > > => pri ipaddr > ipaddr=192.168.178.66 > => ping 192.168.178.1 > *** ERROR: `ipaddr' not set > ping failed; host 192.168.178.1 is not alive > > Setting CONFIG_NET solves this issue. > > Reported-by: Heiko Schoker <hs at denx.de> > Signed-off-by: Stefano Babic <sbabic at denx.de> > --- > include/configs/mx6_common.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h > index 233c6d2..3d859cf 100644 > --- a/include/configs/mx6_common.h > +++ b/include/configs/mx6_common.h > @@ -105,4 +105,7 @@ > #define CONFIG_FSL_ESDHC > #define CONFIG_FSL_USDHC > > +/* NET */ > +#define CONFIG_NET This config was added to Kconfig here: 60296a8 commands: add more command entries in Kconfig Author: Masahiro Yamada <yamada.m at jp.panasonic.com> Date: Thu Nov 13 19:29:08 2014 +0900 Apparently some of the boards that supported NET previously were not properly added to their defconfigs. In any case, for this board, you should add the NET config to the defconfig, not the header. > #endif Thanks, -Joe
Hi Joe, On Fri, May 29, 2015 at 1:53 AM, Joe Hershberger <joe.hershberger@gmail.com> wrote: > Hi Stefano, > > On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic@denx.de> wrote: >> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >> "Use env callbacks for net variables" has a side effect >> on i.MX6 boards because they do not set CONFIG_NET: >> the ip address results not set, but it is stored >> in the environment. >> >> => pri ipaddr >> ipaddr=192.168.178.66 >> => ping 192.168.178.1 >> *** ERROR: `ipaddr' not set >> ping failed; host 192.168.178.1 is not alive >> >> Setting CONFIG_NET solves this issue. >> >> Reported-by: Heiko Schoker <hs@denx.de> >> Signed-off-by: Stefano Babic <sbabic@denx.de> >> --- >> include/configs/mx6_common.h | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h >> index 233c6d2..3d859cf 100644 >> --- a/include/configs/mx6_common.h >> +++ b/include/configs/mx6_common.h >> @@ -105,4 +105,7 @@ >> #define CONFIG_FSL_ESDHC >> #define CONFIG_FSL_USDHC >> >> +/* NET */ >> +#define CONFIG_NET > > This config was added to Kconfig here: > > 60296a8 commands: add more command entries in Kconfig Looks CONFIG_NET was added by commit ed36323 commit ed36323f6d217050f82a2200475959b8557a47e4 Author: Masahiro Yamada <yamada.m@jp.panasonic.com> Date: Tue Sep 16 16:32:58 2014 +0900 kconfig: add blank Kconfig files > Author: Masahiro Yamada <yamada.m@jp.panasonic.com> > Date: Thu Nov 13 19:29:08 2014 +0900 > > Apparently some of the boards that supported NET previously were not > properly added to their defconfigs. > > In any case, for this board, you should add the NET config to the > defconfig, not the header. > >> #endif > But I failed to understand why adding CONFIG_NET could resolve the "*** ERROR: `ipaddr" not set' problem. A grep of "^CONFIG_NET" gives me nothing helpful. Regards, Bin
Hello Bin, Am 29.05.2015 04:33, schrieb Bin Meng: > Hi Joe, > > On Fri, May 29, 2015 at 1:53 AM, Joe Hershberger > <joe.hershberger@gmail.com> wrote: >> Hi Stefano, >> >> On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic@denx.de> wrote: >>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>> "Use env callbacks for net variables" has a side effect >>> on i.MX6 boards because they do not set CONFIG_NET: >>> the ip address results not set, but it is stored >>> in the environment. >>> >>> => pri ipaddr >>> ipaddr=192.168.178.66 >>> => ping 192.168.178.1 >>> *** ERROR: `ipaddr' not set >>> ping failed; host 192.168.178.1 is not alive >>> >>> Setting CONFIG_NET solves this issue. >>> >>> Reported-by: Heiko Schoker <hs@denx.de> >>> Signed-off-by: Stefano Babic <sbabic@denx.de> >>> --- >>> include/configs/mx6_common.h | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h >>> index 233c6d2..3d859cf 100644 >>> --- a/include/configs/mx6_common.h >>> +++ b/include/configs/mx6_common.h >>> @@ -105,4 +105,7 @@ >>> #define CONFIG_FSL_ESDHC >>> #define CONFIG_FSL_USDHC >>> >>> +/* NET */ >>> +#define CONFIG_NET >> >> This config was added to Kconfig here: >> >> 60296a8 commands: add more command entries in Kconfig > > Looks CONFIG_NET was added by commit ed36323 > > commit ed36323f6d217050f82a2200475959b8557a47e4 > Author: Masahiro Yamada <yamada.m@jp.panasonic.com> > Date: Tue Sep 16 16:32:58 2014 +0900 > > kconfig: add blank Kconfig files > >> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >> Date: Thu Nov 13 19:29:08 2014 +0900 >> >> Apparently some of the boards that supported NET previously were not >> properly added to their defconfigs. >> >> In any case, for this board, you should add the NET config to the >> defconfig, not the header. >> >>> #endif >> > > But I failed to understand why adding CONFIG_NET could resolve the > "*** ERROR: `ipaddr" not set' problem. A grep of "^CONFIG_NET" gives > me nothing helpful. Reason is the following commit: commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 Author: Joe Hershberger <joe.hershberger@ni.com> Date: Wed May 20 14:27:23 2015 -0500 net: Use env callbacks for net variables if CONFIG_NET is not defined, NET_CALLBACKS is empty, which results in the above error message ... bye, Heiko
Hello Joe, Am 28.05.2015 19:53, schrieb Joe Hershberger: > Hi Stefano, > > On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic@denx.de> wrote: >> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >> "Use env callbacks for net variables" has a side effect >> on i.MX6 boards because they do not set CONFIG_NET: >> the ip address results not set, but it is stored >> in the environment. >> >> => pri ipaddr >> ipaddr=192.168.178.66 >> => ping 192.168.178.1 >> *** ERROR: `ipaddr' not set >> ping failed; host 192.168.178.1 is not alive >> >> Setting CONFIG_NET solves this issue. >> >> Reported-by: Heiko Schoker <hs@denx.de> >> Signed-off-by: Stefano Babic <sbabic@denx.de> >> --- >> include/configs/mx6_common.h | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h >> index 233c6d2..3d859cf 100644 >> --- a/include/configs/mx6_common.h >> +++ b/include/configs/mx6_common.h >> @@ -105,4 +105,7 @@ >> #define CONFIG_FSL_ESDHC >> #define CONFIG_FSL_USDHC >> >> +/* NET */ >> +#define CONFIG_NET > > This config was added to Kconfig here: > 60296a8 commands: add more command entries in Kconfig > Author: Masahiro Yamada <yamada.m@jp.panasonic.com> > Date: Thu Nov 13 19:29:08 2014 +0900 > > Apparently some of the boards that supported NET previously were not > properly added to their defconfigs. > > In any case, for this board, you should add the NET config to the > defconfig, not the header. Hmm.. this seems missing for all imx boards ... $ grep -lr CONFIG_NET configs | xargs grep MX $ bye, Heiko
Hi Heiko, On Fri, May 29, 2015 at 12:28 AM, Heiko Schocher <hs@denx.de> wrote: > Hello Joe, > > > Am 28.05.2015 19:53, schrieb Joe Hershberger: >> >> Hi Stefano, >> >> On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic@denx.de> wrote: >>> >>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>> "Use env callbacks for net variables" has a side effect >>> on i.MX6 boards because they do not set CONFIG_NET: >>> the ip address results not set, but it is stored >>> in the environment. >>> >>> => pri ipaddr >>> ipaddr=192.168.178.66 >>> => ping 192.168.178.1 >>> *** ERROR: `ipaddr' not set >>> ping failed; host 192.168.178.1 is not alive >>> >>> Setting CONFIG_NET solves this issue. >>> >>> Reported-by: Heiko Schoker <hs@denx.de> >>> Signed-off-by: Stefano Babic <sbabic@denx.de> >>> --- >>> include/configs/mx6_common.h | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h >>> index 233c6d2..3d859cf 100644 >>> --- a/include/configs/mx6_common.h >>> +++ b/include/configs/mx6_common.h >>> @@ -105,4 +105,7 @@ >>> #define CONFIG_FSL_ESDHC >>> #define CONFIG_FSL_USDHC >>> >>> +/* NET */ >>> +#define CONFIG_NET >> >> >> This config was added to Kconfig here: >> 60296a8 commands: add more command entries in Kconfig >> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >> Date: Thu Nov 13 19:29:08 2014 +0900 >> >> Apparently some of the boards that supported NET previously were not >> properly added to their defconfigs. >> >> In any case, for this board, you should add the NET config to the >> defconfig, not the header. > > > Hmm.. this seems missing for all imx boards ... > > $ grep -lr CONFIG_NET configs | xargs grep MX It seems that in ed36323f, Masahiro added the CONFIG_NET config to Kconfig, but most things depended on (and defined) CONFIG_CMD_NET, which he added to Kconfig in 60296a8. In both cases, none of the boards had either CONFIG_CMD_NET or CONFIG_NET moved to defconfigs. As a result most boards are lacking complete networking support except those that happen to have been touched for other reasons related to networking (such as the CONFIG_NET_RANDOM_ETHADDR patch). This is made worse by the fact that I used CONFIG_NET (the one missing in far more boards) in the fd30563 commit. I will work up a patch that addresses this and restores networking to all boards that formerly supported networking. Expect it tomorrow or so. Cheers, -Joe
Hello Joe, Am 29.05.2015 08:09, schrieb Joe Hershberger: > Hi Heiko, > > On Fri, May 29, 2015 at 12:28 AM, Heiko Schocher <hs@denx.de> wrote: >> Hello Joe, >> >> >> Am 28.05.2015 19:53, schrieb Joe Hershberger: >>> >>> Hi Stefano, >>> >>> On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic@denx.de> wrote: >>>> >>>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>>> "Use env callbacks for net variables" has a side effect >>>> on i.MX6 boards because they do not set CONFIG_NET: >>>> the ip address results not set, but it is stored >>>> in the environment. >>>> >>>> => pri ipaddr >>>> ipaddr=192.168.178.66 >>>> => ping 192.168.178.1 >>>> *** ERROR: `ipaddr' not set >>>> ping failed; host 192.168.178.1 is not alive >>>> >>>> Setting CONFIG_NET solves this issue. >>>> >>>> Reported-by: Heiko Schoker <hs@denx.de> >>>> Signed-off-by: Stefano Babic <sbabic@denx.de> >>>> --- >>>> include/configs/mx6_common.h | 3 +++ >>>> 1 file changed, 3 insertions(+) >>>> >>>> diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h >>>> index 233c6d2..3d859cf 100644 >>>> --- a/include/configs/mx6_common.h >>>> +++ b/include/configs/mx6_common.h >>>> @@ -105,4 +105,7 @@ >>>> #define CONFIG_FSL_ESDHC >>>> #define CONFIG_FSL_USDHC >>>> >>>> +/* NET */ >>>> +#define CONFIG_NET >>> >>> >>> This config was added to Kconfig here: >>> 60296a8 commands: add more command entries in Kconfig >>> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >>> Date: Thu Nov 13 19:29:08 2014 +0900 >>> >>> Apparently some of the boards that supported NET previously were not >>> properly added to their defconfigs. >>> >>> In any case, for this board, you should add the NET config to the >>> defconfig, not the header. >> >> >> Hmm.. this seems missing for all imx boards ... >> >> $ grep -lr CONFIG_NET configs | xargs grep MX > > It seems that in ed36323f, Masahiro added the CONFIG_NET config to > Kconfig, but most things depended on (and defined) CONFIG_CMD_NET, > which he added to Kconfig in 60296a8. In both cases, none of the > boards had either CONFIG_CMD_NET or CONFIG_NET moved to defconfigs. As > a result most boards are lacking complete networking support except > those that happen to have been touched for other reasons related to > networking (such as the CONFIG_NET_RANDOM_ETHADDR patch). > > This is made worse by the fact that I used CONFIG_NET (the one missing > in far more boards) in the fd30563 commit. Uh.. > I will work up a patch that addresses this and restores networking to > all boards that formerly supported networking. Expect it tomorrow or > so. Ok, thanks! bye, Heiko
Hi Heiko, On Fri, May 29, 2015 at 1:19 PM, Heiko Schocher <hs@denx.de> wrote: > Hello Bin, > > > Am 29.05.2015 04:33, schrieb Bin Meng: >> >> Hi Joe, >> >> On Fri, May 29, 2015 at 1:53 AM, Joe Hershberger >> <joe.hershberger@gmail.com> wrote: >>> >>> Hi Stefano, >>> >>> On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic@denx.de> wrote: >>>> >>>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>>> "Use env callbacks for net variables" has a side effect >>>> on i.MX6 boards because they do not set CONFIG_NET: >>>> the ip address results not set, but it is stored >>>> in the environment. >>>> >>>> => pri ipaddr >>>> ipaddr=192.168.178.66 >>>> => ping 192.168.178.1 >>>> *** ERROR: `ipaddr' not set >>>> ping failed; host 192.168.178.1 is not alive >>>> >>>> Setting CONFIG_NET solves this issue. >>>> >>>> Reported-by: Heiko Schoker <hs@denx.de> >>>> Signed-off-by: Stefano Babic <sbabic@denx.de> >>>> --- >>>> include/configs/mx6_common.h | 3 +++ >>>> 1 file changed, 3 insertions(+) >>>> >>>> diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h >>>> index 233c6d2..3d859cf 100644 >>>> --- a/include/configs/mx6_common.h >>>> +++ b/include/configs/mx6_common.h >>>> @@ -105,4 +105,7 @@ >>>> #define CONFIG_FSL_ESDHC >>>> #define CONFIG_FSL_USDHC >>>> >>>> +/* NET */ >>>> +#define CONFIG_NET >>> >>> >>> This config was added to Kconfig here: >>> >>> 60296a8 commands: add more command entries in Kconfig >> >> >> Looks CONFIG_NET was added by commit ed36323 >> >> commit ed36323f6d217050f82a2200475959b8557a47e4 >> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >> Date: Tue Sep 16 16:32:58 2014 +0900 >> >> kconfig: add blank Kconfig files >> >>> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >>> Date: Thu Nov 13 19:29:08 2014 +0900 >>> >>> Apparently some of the boards that supported NET previously were not >>> properly added to their defconfigs. >>> >>> In any case, for this board, you should add the NET config to the >>> defconfig, not the header. >>> >>>> #endif >>> >>> >> >> But I failed to understand why adding CONFIG_NET could resolve the >> "*** ERROR: `ipaddr" not set' problem. A grep of "^CONFIG_NET" gives >> me nothing helpful. > > > Reason is the following commit: > > commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 > Author: Joe Hershberger <joe.hershberger@ni.com> > Date: Wed May 20 14:27:23 2015 -0500 > > net: Use env callbacks for net variables > > if CONFIG_NET is not defined, NET_CALLBACKS is empty, which results > in the above error message ... Ah, yes! I was confused by Joe's comments regarding to CONFIG_NET being the cause of this. My understanding is that since we already introduced CONFIG_NET, we should not have these network commands (ping, tftp) built in if CONFIG_NET is not there. Looks CONFIG_NET is only used in NET_CALLBACKS. Is CONFIG_NET really necessary here? +#ifdef CONFIG_NET +#define NET_CALLBACKS \ + "bootfile:bootfile," \ + "ipaddr:ipaddr," \ + "gatewayip:gatewayip," \ + "netmask:netmask," \ + "serverip:serverip," \ + "nvlan:nvlan," \ + "vlan:vlan," \ + DNS_CALLBACK +#else +#define NET_CALLBACKS +#endif Regards, Bin
Hi Joe, On 29/05/2015 08:09, Joe Hershberger wrote: >> Hmm.. this seems missing for all imx boards ... >> >> $ grep -lr CONFIG_NET configs | xargs grep MX > > It seems that in ed36323f, Masahiro added the CONFIG_NET config to > Kconfig, but most things depended on (and defined) CONFIG_CMD_NET, > which he added to Kconfig in 60296a8. In both cases, none of the > boards had either CONFIG_CMD_NET or CONFIG_NET moved to defconfigs. As > a result most boards are lacking complete networking support except > those that happen to have been touched for other reasons related to > networking (such as the CONFIG_NET_RANDOM_ETHADDR patch). ok, got it. > > This is made worse by the fact that I used CONFIG_NET (the one missing > in far more boards) in the fd30563 commit. > > I will work up a patch that addresses this and restores networking to > all boards that formerly supported networking. Expect it tomorrow or > so. Thanks ! Best regards, Stefano
Hi Bin, On Fri, May 29, 2015 at 2:16 AM, Bin Meng <bmeng.cn@gmail.com> wrote: > Hi Heiko, > > On Fri, May 29, 2015 at 1:19 PM, Heiko Schocher <hs@denx.de> wrote: >> Hello Bin, >> >> >> Am 29.05.2015 04:33, schrieb Bin Meng: >>> >>> Hi Joe, >>> >>> On Fri, May 29, 2015 at 1:53 AM, Joe Hershberger >>> <joe.hershberger@gmail.com> wrote: >>>> >>>> Hi Stefano, >>>> >>>> On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic@denx.de> wrote: >>>>> >>>>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>>>> "Use env callbacks for net variables" has a side effect >>>>> on i.MX6 boards because they do not set CONFIG_NET: >>>>> the ip address results not set, but it is stored >>>>> in the environment. >>>>> >>>>> => pri ipaddr >>>>> ipaddr=192.168.178.66 >>>>> => ping 192.168.178.1 >>>>> *** ERROR: `ipaddr' not set >>>>> ping failed; host 192.168.178.1 is not alive >>>>> >>>>> Setting CONFIG_NET solves this issue. >>>>> >>>>> Reported-by: Heiko Schoker <hs@denx.de> >>>>> Signed-off-by: Stefano Babic <sbabic@denx.de> >>>>> --- >>>>> include/configs/mx6_common.h | 3 +++ >>>>> 1 file changed, 3 insertions(+) >>>>> >>>>> diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h >>>>> index 233c6d2..3d859cf 100644 >>>>> --- a/include/configs/mx6_common.h >>>>> +++ b/include/configs/mx6_common.h >>>>> @@ -105,4 +105,7 @@ >>>>> #define CONFIG_FSL_ESDHC >>>>> #define CONFIG_FSL_USDHC >>>>> >>>>> +/* NET */ >>>>> +#define CONFIG_NET >>>> >>>> >>>> This config was added to Kconfig here: >>>> >>>> 60296a8 commands: add more command entries in Kconfig >>> >>> >>> Looks CONFIG_NET was added by commit ed36323 >>> >>> commit ed36323f6d217050f82a2200475959b8557a47e4 >>> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >>> Date: Tue Sep 16 16:32:58 2014 +0900 >>> >>> kconfig: add blank Kconfig files >>> >>>> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >>>> Date: Thu Nov 13 19:29:08 2014 +0900 >>>> >>>> Apparently some of the boards that supported NET previously were not >>>> properly added to their defconfigs. >>>> >>>> In any case, for this board, you should add the NET config to the >>>> defconfig, not the header. >>>> >>>>> #endif >>>> >>>> >>> >>> But I failed to understand why adding CONFIG_NET could resolve the >>> "*** ERROR: `ipaddr" not set' problem. A grep of "^CONFIG_NET" gives >>> me nothing helpful. >> >> >> Reason is the following commit: >> >> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >> Author: Joe Hershberger <joe.hershberger@ni.com> >> Date: Wed May 20 14:27:23 2015 -0500 >> >> net: Use env callbacks for net variables >> >> if CONFIG_NET is not defined, NET_CALLBACKS is empty, which results >> in the above error message ... > > Ah, yes! I was confused by Joe's comments regarding to CONFIG_NET > being the cause of this. > > My understanding is that since we already introduced CONFIG_NET, we > should not have these network commands (ping, tftp) built in if > CONFIG_NET is not there. I think you are thinking of CONFIG_CMD_NET... if it is not defined, then you will not have those commands. We are in a transitional period and all of the NET features vs. the commands are not using the new / appropriate configs yet. Many are not properly moved over to Kconfig. We'll get there, but this change to Kconfig is fairly incomplete. > Looks CONFIG_NET is only used in > NET_CALLBACKS. Is CONFIG_NET really necessary here? Yes... well either CONFIG_NET or CONFIG_CMD_NET. They should be basically equivalent. > +#ifdef CONFIG_NET > +#define NET_CALLBACKS \ > + "bootfile:bootfile," \ > + "ipaddr:ipaddr," \ > + "gatewayip:gatewayip," \ > + "netmask:netmask," \ > + "serverip:serverip," \ > + "nvlan:nvlan," \ > + "vlan:vlan," \ > + DNS_CALLBACK > +#else > +#define NET_CALLBACKS > +#endif Cheers, -Joe
Hi, On 29 May 2015 at 01:43, Joe Hershberger <joe.hershberger@gmail.com> wrote: > Hi Bin, > > On Fri, May 29, 2015 at 2:16 AM, Bin Meng <bmeng.cn@gmail.com> wrote: >> Hi Heiko, >> >> On Fri, May 29, 2015 at 1:19 PM, Heiko Schocher <hs@denx.de> wrote: >>> Hello Bin, >>> >>> >>> Am 29.05.2015 04:33, schrieb Bin Meng: >>>> >>>> Hi Joe, >>>> >>>> On Fri, May 29, 2015 at 1:53 AM, Joe Hershberger >>>> <joe.hershberger@gmail.com> wrote: >>>>> >>>>> Hi Stefano, >>>>> >>>>> On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic@denx.de> wrote: >>>>>> >>>>>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>>>>> "Use env callbacks for net variables" has a side effect >>>>>> on i.MX6 boards because they do not set CONFIG_NET: >>>>>> the ip address results not set, but it is stored >>>>>> in the environment. >>>>>> >>>>>> => pri ipaddr >>>>>> ipaddr=192.168.178.66 >>>>>> => ping 192.168.178.1 >>>>>> *** ERROR: `ipaddr' not set >>>>>> ping failed; host 192.168.178.1 is not alive >>>>>> >>>>>> Setting CONFIG_NET solves this issue. >>>>>> >>>>>> Reported-by: Heiko Schoker <hs@denx.de> >>>>>> Signed-off-by: Stefano Babic <sbabic@denx.de> >>>>>> --- >>>>>> include/configs/mx6_common.h | 3 +++ >>>>>> 1 file changed, 3 insertions(+) >>>>>> >>>>>> diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h >>>>>> index 233c6d2..3d859cf 100644 >>>>>> --- a/include/configs/mx6_common.h >>>>>> +++ b/include/configs/mx6_common.h >>>>>> @@ -105,4 +105,7 @@ >>>>>> #define CONFIG_FSL_ESDHC >>>>>> #define CONFIG_FSL_USDHC >>>>>> >>>>>> +/* NET */ >>>>>> +#define CONFIG_NET >>>>> >>>>> >>>>> This config was added to Kconfig here: >>>>> >>>>> 60296a8 commands: add more command entries in Kconfig >>>> >>>> >>>> Looks CONFIG_NET was added by commit ed36323 >>>> >>>> commit ed36323f6d217050f82a2200475959b8557a47e4 >>>> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >>>> Date: Tue Sep 16 16:32:58 2014 +0900 >>>> >>>> kconfig: add blank Kconfig files >>>> >>>>> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >>>>> Date: Thu Nov 13 19:29:08 2014 +0900 >>>>> >>>>> Apparently some of the boards that supported NET previously were not >>>>> properly added to their defconfigs. >>>>> >>>>> In any case, for this board, you should add the NET config to the >>>>> defconfig, not the header. >>>>> >>>>>> #endif >>>>> >>>>> >>>> >>>> But I failed to understand why adding CONFIG_NET could resolve the >>>> "*** ERROR: `ipaddr" not set' problem. A grep of "^CONFIG_NET" gives >>>> me nothing helpful. >>> >>> >>> Reason is the following commit: >>> >>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>> Author: Joe Hershberger <joe.hershberger@ni.com> >>> Date: Wed May 20 14:27:23 2015 -0500 >>> >>> net: Use env callbacks for net variables >>> >>> if CONFIG_NET is not defined, NET_CALLBACKS is empty, which results >>> in the above error message ... >> >> Ah, yes! I was confused by Joe's comments regarding to CONFIG_NET >> being the cause of this. >> >> My understanding is that since we already introduced CONFIG_NET, we >> should not have these network commands (ping, tftp) built in if >> CONFIG_NET is not there. > > I think you are thinking of CONFIG_CMD_NET... if it is not defined, > then you will not have those commands. We are in a transitional period > and all of the NET features vs. the commands are not using the new / > appropriate configs yet. Many are not properly moved over to Kconfig. > We'll get there, but this change to Kconfig is fairly incomplete. > >> Looks CONFIG_NET is only used in >> NET_CALLBACKS. Is CONFIG_NET really necessary here? > > Yes... well either CONFIG_NET or CONFIG_CMD_NET. They should be > basically equivalent. Any ideas on how to resolving this? Regards, Simon
Hi Simon, On Mon, Jun 1, 2015 at 12:14 PM, Simon Glass <sjg@chromium.org> wrote: > Hi, > > On 29 May 2015 at 01:43, Joe Hershberger <joe.hershberger@gmail.com> wrote: >> Hi Bin, >> >> On Fri, May 29, 2015 at 2:16 AM, Bin Meng <bmeng.cn@gmail.com> wrote: >>> Hi Heiko, >>> >>> On Fri, May 29, 2015 at 1:19 PM, Heiko Schocher <hs@denx.de> wrote: >>>> Hello Bin, >>>> >>>> >>>> Am 29.05.2015 04:33, schrieb Bin Meng: >>>>> >>>>> Hi Joe, >>>>> >>>>> On Fri, May 29, 2015 at 1:53 AM, Joe Hershberger >>>>> <joe.hershberger@gmail.com> wrote: >>>>>> >>>>>> Hi Stefano, >>>>>> >>>>>> On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic@denx.de> wrote: >>>>>>> >>>>>>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>>>>>> "Use env callbacks for net variables" has a side effect >>>>>>> on i.MX6 boards because they do not set CONFIG_NET: >>>>>>> the ip address results not set, but it is stored >>>>>>> in the environment. >>>>>>> >>>>>>> => pri ipaddr >>>>>>> ipaddr=192.168.178.66 >>>>>>> => ping 192.168.178.1 >>>>>>> *** ERROR: `ipaddr' not set >>>>>>> ping failed; host 192.168.178.1 is not alive >>>>>>> >>>>>>> Setting CONFIG_NET solves this issue. >>>>>>> >>>>>>> Reported-by: Heiko Schoker <hs@denx.de> >>>>>>> Signed-off-by: Stefano Babic <sbabic@denx.de> >>>>>>> --- >>>>>>> include/configs/mx6_common.h | 3 +++ >>>>>>> 1 file changed, 3 insertions(+) >>>>>>> >>>>>>> diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h >>>>>>> index 233c6d2..3d859cf 100644 >>>>>>> --- a/include/configs/mx6_common.h >>>>>>> +++ b/include/configs/mx6_common.h >>>>>>> @@ -105,4 +105,7 @@ >>>>>>> #define CONFIG_FSL_ESDHC >>>>>>> #define CONFIG_FSL_USDHC >>>>>>> >>>>>>> +/* NET */ >>>>>>> +#define CONFIG_NET >>>>>> >>>>>> >>>>>> This config was added to Kconfig here: >>>>>> >>>>>> 60296a8 commands: add more command entries in Kconfig >>>>> >>>>> >>>>> Looks CONFIG_NET was added by commit ed36323 >>>>> >>>>> commit ed36323f6d217050f82a2200475959b8557a47e4 >>>>> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >>>>> Date: Tue Sep 16 16:32:58 2014 +0900 >>>>> >>>>> kconfig: add blank Kconfig files >>>>> >>>>>> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >>>>>> Date: Thu Nov 13 19:29:08 2014 +0900 >>>>>> >>>>>> Apparently some of the boards that supported NET previously were not >>>>>> properly added to their defconfigs. >>>>>> >>>>>> In any case, for this board, you should add the NET config to the >>>>>> defconfig, not the header. >>>>>> >>>>>>> #endif >>>>>> >>>>>> >>>>> >>>>> But I failed to understand why adding CONFIG_NET could resolve the >>>>> "*** ERROR: `ipaddr" not set' problem. A grep of "^CONFIG_NET" gives >>>>> me nothing helpful. >>>> >>>> >>>> Reason is the following commit: >>>> >>>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>>> Author: Joe Hershberger <joe.hershberger@ni.com> >>>> Date: Wed May 20 14:27:23 2015 -0500 >>>> >>>> net: Use env callbacks for net variables >>>> >>>> if CONFIG_NET is not defined, NET_CALLBACKS is empty, which results >>>> in the above error message ... >>> >>> Ah, yes! I was confused by Joe's comments regarding to CONFIG_NET >>> being the cause of this. >>> >>> My understanding is that since we already introduced CONFIG_NET, we >>> should not have these network commands (ping, tftp) built in if >>> CONFIG_NET is not there. >> >> I think you are thinking of CONFIG_CMD_NET... if it is not defined, >> then you will not have those commands. We are in a transitional period >> and all of the NET features vs. the commands are not using the new / >> appropriate configs yet. Many are not properly moved over to Kconfig. >> We'll get there, but this change to Kconfig is fairly incomplete. >> >>> Looks CONFIG_NET is only used in >>> NET_CALLBACKS. Is CONFIG_NET really necessary here? >> >> Yes... well either CONFIG_NET or CONFIG_CMD_NET. They should be >> basically equivalent. > > Any ideas on how to resolving this? Sorry, forgot Cc's on this. Here's the patch: https://patchwork.ozlabs.org/patch/478414/ Michal wants a subject change. I have a new version, but I think I'm gonna just push it to u-boot-net.git and send a pull request since the patches are so big. Cheers, -Joe
Hi Simon, On Tue, Jun 2, 2015 at 1:14 AM, Simon Glass <sjg@chromium.org> wrote: > Hi, > > On 29 May 2015 at 01:43, Joe Hershberger <joe.hershberger@gmail.com> wrote: >> Hi Bin, >> >> On Fri, May 29, 2015 at 2:16 AM, Bin Meng <bmeng.cn@gmail.com> wrote: >>> Hi Heiko, >>> >>> On Fri, May 29, 2015 at 1:19 PM, Heiko Schocher <hs@denx.de> wrote: >>>> Hello Bin, >>>> >>>> >>>> Am 29.05.2015 04:33, schrieb Bin Meng: >>>>> >>>>> Hi Joe, >>>>> >>>>> On Fri, May 29, 2015 at 1:53 AM, Joe Hershberger >>>>> <joe.hershberger@gmail.com> wrote: >>>>>> >>>>>> Hi Stefano, >>>>>> >>>>>> On Wed, May 27, 2015 at 4:29 AM, Stefano Babic <sbabic@denx.de> wrote: >>>>>>> >>>>>>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>>>>>> "Use env callbacks for net variables" has a side effect >>>>>>> on i.MX6 boards because they do not set CONFIG_NET: >>>>>>> the ip address results not set, but it is stored >>>>>>> in the environment. >>>>>>> >>>>>>> => pri ipaddr >>>>>>> ipaddr=192.168.178.66 >>>>>>> => ping 192.168.178.1 >>>>>>> *** ERROR: `ipaddr' not set >>>>>>> ping failed; host 192.168.178.1 is not alive >>>>>>> >>>>>>> Setting CONFIG_NET solves this issue. >>>>>>> >>>>>>> Reported-by: Heiko Schoker <hs@denx.de> >>>>>>> Signed-off-by: Stefano Babic <sbabic@denx.de> >>>>>>> --- >>>>>>> include/configs/mx6_common.h | 3 +++ >>>>>>> 1 file changed, 3 insertions(+) >>>>>>> >>>>>>> diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h >>>>>>> index 233c6d2..3d859cf 100644 >>>>>>> --- a/include/configs/mx6_common.h >>>>>>> +++ b/include/configs/mx6_common.h >>>>>>> @@ -105,4 +105,7 @@ >>>>>>> #define CONFIG_FSL_ESDHC >>>>>>> #define CONFIG_FSL_USDHC >>>>>>> >>>>>>> +/* NET */ >>>>>>> +#define CONFIG_NET >>>>>> >>>>>> >>>>>> This config was added to Kconfig here: >>>>>> >>>>>> 60296a8 commands: add more command entries in Kconfig >>>>> >>>>> >>>>> Looks CONFIG_NET was added by commit ed36323 >>>>> >>>>> commit ed36323f6d217050f82a2200475959b8557a47e4 >>>>> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >>>>> Date: Tue Sep 16 16:32:58 2014 +0900 >>>>> >>>>> kconfig: add blank Kconfig files >>>>> >>>>>> Author: Masahiro Yamada <yamada.m@jp.panasonic.com> >>>>>> Date: Thu Nov 13 19:29:08 2014 +0900 >>>>>> >>>>>> Apparently some of the boards that supported NET previously were not >>>>>> properly added to their defconfigs. >>>>>> >>>>>> In any case, for this board, you should add the NET config to the >>>>>> defconfig, not the header. >>>>>> >>>>>>> #endif >>>>>> >>>>>> >>>>> >>>>> But I failed to understand why adding CONFIG_NET could resolve the >>>>> "*** ERROR: `ipaddr" not set' problem. A grep of "^CONFIG_NET" gives >>>>> me nothing helpful. >>>> >>>> >>>> Reason is the following commit: >>>> >>>> commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 >>>> Author: Joe Hershberger <joe.hershberger@ni.com> >>>> Date: Wed May 20 14:27:23 2015 -0500 >>>> >>>> net: Use env callbacks for net variables >>>> >>>> if CONFIG_NET is not defined, NET_CALLBACKS is empty, which results >>>> in the above error message ... >>> >>> Ah, yes! I was confused by Joe's comments regarding to CONFIG_NET >>> being the cause of this. >>> >>> My understanding is that since we already introduced CONFIG_NET, we >>> should not have these network commands (ping, tftp) built in if >>> CONFIG_NET is not there. >> >> I think you are thinking of CONFIG_CMD_NET... if it is not defined, >> then you will not have those commands. We are in a transitional period >> and all of the NET features vs. the commands are not using the new / >> appropriate configs yet. Many are not properly moved over to Kconfig. >> We'll get there, but this change to Kconfig is fairly incomplete. >> >>> Looks CONFIG_NET is only used in >>> NET_CALLBACKS. Is CONFIG_NET really necessary here? >> >> Yes... well either CONFIG_NET or CONFIG_CMD_NET. They should be >> basically equivalent. > > Any ideas on how to resolving this? > I will send a patch doing the same fix that Joe did on the qemu-x86 soon. Regards, Bin
diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h index 233c6d2..3d859cf 100644 --- a/include/configs/mx6_common.h +++ b/include/configs/mx6_common.h @@ -105,4 +105,7 @@ #define CONFIG_FSL_ESDHC #define CONFIG_FSL_USDHC +/* NET */ +#define CONFIG_NET + #endif
commit fd3056337e6fcc140f400e11edd33f6f1cb37de1 "Use env callbacks for net variables" has a side effect on i.MX6 boards because they do not set CONFIG_NET: the ip address results not set, but it is stored in the environment. => pri ipaddr ipaddr=192.168.178.66 => ping 192.168.178.1 *** ERROR: `ipaddr' not set ping failed; host 192.168.178.1 is not alive Setting CONFIG_NET solves this issue. Reported-by: Heiko Schoker <hs@denx.de> Signed-off-by: Stefano Babic <sbabic@denx.de> --- include/configs/mx6_common.h | 3 +++ 1 file changed, 3 insertions(+)