"Himanshu B. Dave" <[email protected]> wrote:
> avrdude: ser_send(): write error: Invalid argument
That's in ser_posix.c, here:
rc = write(fd->ifd, p, (len > 1024) ? 1024 : len);
if (rc < 0) {
fprintf(stderr, "%s: ser_send(): write error: %s\n",
Try reducing the 1024 to something else, and report back what number
works for you. Apparently, your ACM driver fails to split the write()
call into multiple URBs.
As there's an outer loop around it repeating the write until all data
have been written, and as usual UARTs only buffer few data anyway, we
can easily adopt to a smaller block size here, as long as we know
which one will work universally. So far, you're the first to run into
such a limitation (at least, the first I've heard of).
--
cheers, Joerg .-.-. --... ...-- -.. . DL8DTL
http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)
_______________________________________________
AVR-chat mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/avr-chat