Hi Joe, On 02/02/2018 08:13 PM, Joe Hershberger wrote: > On Tue, Jan 23, 2018 at 8:02 AM, Gaëtan Carlier <gcem...@gmail.com> wrote: >> Joe, >> On 01/23/2018 01:54 AM, Joe Hershberger wrote: >>> On Mon, Jan 22, 2018 at 5:28 PM, Gaëtan Carlier <gcem...@gmail.com> wrote: >>>> Hi Joe, >>>> >>>> On 01/22/2018 11:46 PM, Joe Hershberger wrote: >>>>> Hi Gaëtan, >>>>> >>>>> On Thu, Jan 18, 2018 at 4:56 AM, Gaëtan Carlier <gcem...@gmail.com> wrote: >>>>>> Hi, >>>>>> I would like to implement a new command and submit it to the mailing >>>>>> list. >>>>>> The command will have the following format: >>>>>> udpsend <destination/broadcast ip> <destination port> <source port> >>>>>> <text to send> >>>>>> >>>>>> udpsend 255.255.255.255 4040 0 hello world >>>>>> >>>>>> If source port is 0, a random port will be used (11000 + (get_timer(0) % >>>>>> 4096)) > > If you want to add this, add it as a command in cmd/netcat.c and use > the same semantics as netcat as much as possible. Since there is no > pipe support in U-Boot's shell, the data to send will have to be a > parameter. Best to make it something that does not collide with > netcat. > > In netcat, you specify a "-u" switch to enable UDP, so your command > would require that switch (so TCP could be added later). > > So that means your invocation should be "nc -u -p <srcport> <host> > <dstport> -- Text to send" >
Thank you for these informations. I will do that. >>>>> I'd like to understand the purpose / use-case for this command? Maybe >>>>> there is a more appropriate way to solve the problem you have instead. >>>>> >>>> >>>> I want to send the current progression of an update script. As the board >>>> has no display/leds, the only way to get update progression is to >>>> broadcast UDP packet that a PC software will monitor. U-Boot will >>>> load/source a script from an ext4 partition. This script will load a >>>> rootfs image from update partition of an eMMC splitted into 10M chunks >>>> that will be written to an other partition of the eMMC. >>>> This is for update on site (by customer). >>>> >>>> This UDP command will also be used in a closed production LAN to send >>>> Unique ID of the CPU (secret) and the MAC address to the monitoring >>>> production (burning) software that will feed a database to be able to >>>> generate license keys linked to hardware and print a label with the >>>> product name and the MAC address. >>>> >>>> Maybe there is already existing command that I can use from a U-Boot >>>> script ? >>> >>> I think this is commonly done by enabling netconsole and controlling / >>> monitoring progress based on console output sent over UDP. >> >> a) I can/want not enable netconsole when the product is on the network of >> the customer. >> b) Once on customer LAN, everything is DHCP. >> c) I don't want to increase load of CPU because updating software on >> customer's computer has to decode all UDP frames sent by U-Boot while 10% of >> UDP are really needed (several boards can be on the same network). >> >> >>> >>> Cheers, >>> -Joe >>> >>>>>> Where do I have to place my code : cmd or net directory ? >>>>>> For me cmd will be the better directory to keep it away from all more >>>>>> complex stuff like DHCP, TFTP, ... >>>>> >>>>> That's probably true. cmd/ would be the appropriate place. >>>>> >>>>> -Joe >>>>> >>>> >>>> Regards, >>>> Gaëtan >> >> Regards, >> Gaëtan. Regards, Gaëtan. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot