* [ECOS] Redboot: [xyz]modem via TCP?
@ 2001-02-06 11:37 Grant Edwards
2001-02-08 14:29 ` Grant Edwards
0 siblings, 1 reply; 6+ messages in thread
From: Grant Edwards @ 2001-02-06 11:37 UTC (permalink / raw)
To: ecos-discuss
With Redboot, can you do [xyz]modem download via TCP instead of
serial port? It looks like it should work, but I don't have an
easy way to try it. It would be a nice alternative to running
a TFTP server, so I might try to impliment it if it doesn't work
already.
--
Grant Edwards
grante@visi.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ECOS] Redboot: [xyz]modem via TCP?
2001-02-06 11:37 [ECOS] Redboot: [xyz]modem via TCP? Grant Edwards
@ 2001-02-08 14:29 ` Grant Edwards
2001-02-09 5:29 ` Gary Thomas
2001-04-18 11:02 ` Grant Edwards
0 siblings, 2 replies; 6+ messages in thread
From: Grant Edwards @ 2001-02-08 14:29 UTC (permalink / raw)
To: ecos-discuss
On Tue, Feb 06, 2001 at 07:37:24PM +0000, Grant Edwards wrote:
> With Redboot, can you do [xyz]modem download via TCP instead of
> serial port?
I slapped together a Python program that uses "sx" to download
an S record file via TCP using xmodem protocol. Small files
(less than 2K or so) work fine, but when I get up to about 2K,
RedBoot crashes. I can load thelarge files fine via TFTP and
xmodem/serial.
Anybody else see anything like this?
--
Grant Edwards
grante@visi.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ECOS] Redboot: [xyz]modem via TCP?
2001-02-08 14:29 ` Grant Edwards
@ 2001-02-09 5:29 ` Gary Thomas
2001-02-09 7:24 ` Grant Edwards
2001-02-09 10:36 ` Grant Edwards
2001-04-18 11:02 ` Grant Edwards
1 sibling, 2 replies; 6+ messages in thread
From: Gary Thomas @ 2001-02-09 5:29 UTC (permalink / raw)
To: Grant Edwards; +Cc: ecos-discuss
On 08-Feb-2001 Grant Edwards wrote:
> On Tue, Feb 06, 2001 at 07:37:24PM +0000, Grant Edwards wrote:
>
>> With Redboot, can you do [xyz]modem download via TCP instead of
>> serial port?
>
> I slapped together a Python program that uses "sx" to download
> an S record file via TCP using xmodem protocol. Small files
> (less than 2K or so) work fine, but when I get up to about 2K,
> RedBoot crashes. I can load thelarge files fine via TFTP and
> xmodem/serial.
>
> Anybody else see anything like this?
I've not tried this. If you want to share [only with me if necessary]
the Python program, I'll give it a look-see when I get a chance.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ECOS] Redboot: [xyz]modem via TCP?
2001-02-09 5:29 ` Gary Thomas
@ 2001-02-09 7:24 ` Grant Edwards
2001-02-09 10:36 ` Grant Edwards
1 sibling, 0 replies; 6+ messages in thread
From: Grant Edwards @ 2001-02-09 7:24 UTC (permalink / raw)
To: Gary Thomas; +Cc: ecos-discuss
On Fri, Feb 09, 2001 at 06:29:10AM -0700, Gary Thomas wrote:
> >> With Redboot, can you do [xyz]modem download via TCP instead of
> >> serial port?
> >
> > I slapped together a Python program that uses "sx" to download
> > an S record file via TCP using xmodem protocol. Small files
> > (less than 2K or so) work fine, but when I get up to about 2K,
> > RedBoot crashes. I can load the large files fine via TFTP and
> > xmodem/serial.
> >
> > Anybody else see anything like this?
>
> I've not tried this. If you want to share [only with me if necessary]
> the Python program, I'll give it a look-see when I get a chance.
Thanks.
Here it is. I didn't try any variations on protocol/frame-size
or anything. Just the defualt x-modem mode. IP addresse and
filename are hard-coded...
========================================================================
import time
import socket
import os
import sys
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('192.168.1.21',9000))
print "connected to: ",s.getpeername()," from ",s.getsockname()
r = s.recv(1024)
print "received: ",r
if not r.startswith("RedBoot"):
raise "No answer from RedBoot"
s.send("load -m x\r")
r = s.recv(1024)
print "received: ",r
fd = s.fileno()
os.dup2(fd,0)
os.dup2(fd,1)
os.spawnv(os.P_WAIT,"/usr/bin/sx",("/usr/sbin/sx","-v","dataFile.srec"))
sys.stderr.write("done\n");
s.close()
========================================================================
--
Grant Edwards
grante@visi.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ECOS] Redboot: [xyz]modem via TCP?
2001-02-09 5:29 ` Gary Thomas
2001-02-09 7:24 ` Grant Edwards
@ 2001-02-09 10:36 ` Grant Edwards
1 sibling, 0 replies; 6+ messages in thread
From: Grant Edwards @ 2001-02-09 10:36 UTC (permalink / raw)
To: Gary Thomas; +Cc: ecos-discuss
On Fri, Feb 09, 2001 at 06:29:10AM -0700, Gary Thomas wrote:
> >> With Redboot, can you do [xyz]modem download via TCP instead of
> >> serial port?
> >
> > I slapped together a Python program that uses "sx" to download
> > an S record file via TCP using xmodem protocol. Small files
> > (less than 2K or so) work fine, but when I get up to about 2K,
> > RedBoot crashes. I can load thelarge files fine via TFTP and
> > xmodem/serial.
> >
> > Anybody else see anything like this?
>
> I've not tried this. If you want to share [only with me if necessary]
> the Python program, I'll give it a look-see when I get a chance.
Could the X Modem stuff be getting messed up by the code in
net_io.c that interprets Telnet escape/command characters? The
data file (Motorola S-records) is all ASCII, so it would have
to be the protocol stuff itself.
--
Grant Edwards
grante@visi.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ECOS] Redboot: [xyz]modem via TCP?
2001-02-08 14:29 ` Grant Edwards
2001-02-09 5:29 ` Gary Thomas
@ 2001-04-18 11:02 ` Grant Edwards
1 sibling, 0 replies; 6+ messages in thread
From: Grant Edwards @ 2001-04-18 11:02 UTC (permalink / raw)
To: ecos-discuss
> > With Redboot, can you do [xyz]modem download via TCP instead of
> > serial port?
>
> I slapped together a Python program that uses "sx" to download
> an S record file via TCP using xmodem protocol. Small files
> (less than 2K or so) work fine, but when I get up to about 2K,
> RedBoot crashes. I can load thelarge files fine via TFTP and
> xmodem/serial.
I've been messing around with this intermittently for a few
days and haven't made any progress. I had to disable the
telnet command character processing in net_io.c so that x-modem
packets are allowed through "raw". After that I can download
some files, but not others. With DEBUG enabled in xyzModem.c,
I get errors because things (e.g. the ram_start variable) is
being overwritten by data from x-modem packets. With DEBUG
disabled, I get different error behavior. There must be a
buffer overflow somewhere, but I havn't been able to find it.
I've noticed that if the s-record code decides to give up, the
x-modem link isn't shut down gracefully and the other end keeps
sending retries that are interpreted by RedBoot as commands.
That's not very easy to fix since the s-record routines only
have a "getc()" routine to call and no way to shut down the
transfer when an error is detected.
Since x-modem won't work due to telnet command processing
anyway, I think I'm going to try a third "direct" mode where
the s-record file is accepted directly rather than being
encapsulated in x-modem packets.
--
Grant Edwards
grante@visi.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2001-04-18 11:02 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-02-06 11:37 [ECOS] Redboot: [xyz]modem via TCP? Grant Edwards
2001-02-08 14:29 ` Grant Edwards
2001-02-09 5:29 ` Gary Thomas
2001-02-09 7:24 ` Grant Edwards
2001-02-09 10:36 ` Grant Edwards
2001-04-18 11:02 ` Grant Edwards
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).