[flashrom] [patch] serprog hangs under FreeBSD

Michael Zhilin mizhka at gmail.com
Fri Dec 2 16:41:26 CET 2016


Hi,

This is attached patch to avoid hang of serprog under FreeBSD. Patch is
against trunk (r1955, 10 context lines).

My use case is flashrom+serprog to read SPI flash (MX25L6406) via Arduino
Nano V3. Actual command is:
 /usr/local/bin/flashrom -p serprog:dev=/dev/cuaU0:57600 -c
MX25L6406E/MX25L6408E -r tcw770.dump

Using flashrom 0.9.9 it hangs after 5 seconds on read from tty ("ttyin").
The problem is that kernel method "ttydisc_rint" ignore same bytes. It
happens due to enabled IEXTEN local flag of termios. TTY cuts few bytes,
Arduino reads 11264 bytes, but flashrom gets 11244 bytes (corrupted) and
waits for remaining 20 bytes.

The fix is simple: turn off IEXTEN local flag.

Tested on Arduino Nano V3 + FreeBSD 12-CURRENT. But I didn't check
compilation on other BSD / Linux distros. Could you please test it and let
me know results?

Signed-off-by: Michael Zhilin <mizhka at gmail.com>
I've added signed-off-by here, because I don't know how to add it into svn
patch.
It's my first patch, so please let me know if i miss anything.

Thanks,
  Michael!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.flashrom.org/pipermail/flashrom/attachments/20161202/54d64040/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: flashrom-serial-IEXTEN.patch
Type: text/x-patch
Size: 1005 bytes
Desc: not available
URL: <http://www.flashrom.org/pipermail/flashrom/attachments/20161202/54d64040/attachment.patch>


More information about the flashrom mailing list