[U-Boot] FW: which protocol do I use to send S-record files when using the loads command ?
Grant Edwards
grant.b.edwards at gmail.com
Mon Aug 23 23:50:05 CEST 2010
On 2010-08-23, Detlev Zundel <dzu at denx.de> wrote:
> Hi Grant,
>
>>>>> Maybe you can implement a server on your hardware?
>>>>
>>>> What sort of server?
>>>
>>> It would be a tftp server of course but that is out of the question
>>> without a network hardware.
>>
>> Now that you mention it, I have implemented a tftp server for U-Boot.
>
> Nice job!
>
>> We needed a way to recover "bricked" units in the field, and there's
>> simply no way we could require out customers to install a tftp server
>> on their machines. Making U-Boot the tftp server and our "restore"
>> program the client solved several problems. I also find have U-Boot
>> be the server is a lot more convenient for development use.
>
> Yes, I can see that this is very nice in some scenarios.
>
>> [It also U-Boot commands to be sent via the tftp protocol.]
>
> Now this is actually very intersting. I never considered something like
> this. Of course it has the possibility to do "bad things" from the
> outside, but the netconsole code has the same problem.
True. In order to be useful for de-brikcing, the tftp server must let
"outsiders" write stuff into flash. Once you've decided to allow
that...
> But unlike netconsole the "client side" is fully standard.
Exactly.
> Indeed very interesting. Can you pass back results, i.e. the output
> of an md command?
Yes:
$ atftp -g -l foo.txt -r 'cmd at md.b 0 0x100' 10.0.0.99
$ cat foo.txt
00000000: 0d 00 00 ea 05 00 00 ea 05 00 00 ea 05 00 00 ea ................
00000010: 05 00 00 ea ac 11 00 00 05 00 00 ea 05 00 00 ea ................
00000020: fe ff ff ea fe ff ff ea fe ff ff ea fe ff ff ea ................
00000030: fe ff ff ea fe ff ff ea fe ff ff ea d4 d0 9f e5 ................
00000040: d4 00 9f e5 00 10 90 e5 01 20 a0 e3 02 10 11 e0 ......... ......
00000050: 09 00 00 1a c4 00 9f e5 01 19 a0 e3 01 20 a0 e3 ............. ..
00000060: 02 10 81 e1 00 10 80 e5 ac 00 9f e5 00 10 90 e5 ................
00000070: 01 20 a0 e3 02 10 11 e0 fb ff ff 0a a0 00 9f e5 . ..............
00000080: 03 10 a0 e3 00 20 90 e5 01 20 02 e0 00 10 a0 e3 ..... ... ......
00000090: 02 00 51 e1 0e 00 00 1a 01 10 a0 e3 00 20 a0 e3 ..Q.......... ..
000000a0: 02 10 81 e1 00 10 80 e5 6c 00 9f e5 00 10 90 e5 ........l.......
000000b0: 08 20 a0 e3 02 10 11 e0 fb ff ff 0a 64 20 9f e5 . ..........d ..
000000c0: 1a 00 92 e8 04 00 53 e1 04 20 91 34 04 20 83 34 ......S.. .4. .4
000000d0: fb ff ff 3a 34 20 8f e2 18 00 92 e8 00 20 a0 e3 ...:4 ....... ..
000000e0: 04 00 53 e1 04 20 83 34 fc ff ff 3a 38 40 9f e5 ..S.. .4...:8 at ..
000000f0: 0f e0 a0 e1 14 ff 2f e1 30 10 9f e5 0f e0 a0 e1 ....../.0.......
>> I thought about submitting patches (it's pretty much a stand-alone
>> addition except for 3-4 lines in net.[ch]). But it was made
>> abundantly clear that tftp server code for U-Boot would never be
>> considered -- I was scolded for even asking about it.
>
> Maybe I can talk you into posting the patches? It would be an awful
> waste of effort not to at least post your (working!) implementation
> here and thus (at least) get it archieved. In Free Software written
> code always has the potential to change minds ;)
OK, I'll clean it up and post it.
--
Grant Edwards grant.b.edwards Yow! People humiliating
at a salami!
gmail.com
More information about the U-Boot
mailing list