<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">I’m the guy who developed most of the Yaesu FT-2900 driver. &nbsp;An issue has recently been reported where the driver doesn’t work with one variant of the radio. &nbsp;Apparently the radio has had some solder bridges changed, to alter the configuration.</div><div class=""><br class=""></div><div class="">The way the cloning process for this radio works is that, on download, the radio sends a short IDBLOCK to the computer, which the computer looks at, compares with what it expects, and then discards (or reports an error). &nbsp;The radio then sends a series of regular-sized data blocks, and finally, it sends a checksum, which is checked and discarded. Only the standard data blocks are saved in the .img file. &nbsp;This is the strategy used in the FT-2800 driver, which I used as inspiration for the FT-2900 upload/download.</div><div class=""><br class=""></div><div class="">I can easily make the download routine more lenient, so that a mismatch in the IDBLOCK doesn’t prevent a download. &nbsp;But on upload, the radio insists on getting the correct IDBLOCK, and will abort the upload if the IDBLOCK isn’t exactly what it is expecting. &nbsp; And the only way I have of knowing which IDBLOCK to send is by having the user choose the correct model radio.</div><div class=""><br class=""></div><div class="">There was a similar issue reported long ago with the European versus US version of that radio (the Euro/USA modification can also be done by altering the solder bridges). &nbsp;It was addressed by registering a separate version of the radio, with an overridden variable containing the appropriate IDBLOCK.</div><div class=""><br class=""></div><div class="">I have developed a fix for this issue by registering yet another variant of the FT-2900 radio, similar to what was done with the Euro version. &nbsp;I got out my soldering iron, altered my own radio to duplicate the issue reported in issue #3387, and tested the altered driver, verified that it works, and then put my radio back to its original configuration. &nbsp;So this strategy works, but I wonder if there’s a better way to avoid cluttering up the list of supported radios too much.</div><div class=""><br class=""></div><div class="">For anyone interested in the gory details, this is the diff that seems to fix the problem.</div><div class=""><br class=""></div><div class=""><div class=""><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">--- a/chirp/drivers/ft2900.py<span class="Apple-tab-span" style="white-space: pre;">        </span>Mon Feb 22 09:52:12 2016 -0800</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+++ b/chirp/drivers/ft2900.py<span class="Apple-tab-span" style="white-space: pre;">        </span>Fri Feb 26 09:40:08 2016 -0800</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">@@ -658,3 +658,15 @@</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">&nbsp;&nbsp; &nbsp; MODEL = "FT-2900E/1900E"</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">&nbsp;&nbsp; &nbsp; VARIANT = "E"</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">&nbsp;&nbsp; &nbsp; IDBLOCK = "\x56\x43\x32\x33\x00\x02\x41\x02\x01\x01"</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+# the FT2900Mod is a version of the radio that has been modified to</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+# allow transmit on a greater range of frequencies.&nbsp; It is almost</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+# identical to the standard version, except for the model number and</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+# ID Block. We create and register a class for it, with only the&nbsp;</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+# needed overrides</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+@directory.register</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+class FT2900ModRadio(FT2900Radio):</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+&nbsp; &nbsp; """Yaesu FT-2900Mod"""</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+&nbsp; &nbsp; MODEL = "FT-2900Mod/1900Mod"</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+&nbsp; &nbsp; VARIANT = "Opened Xmit"</div><div class="" style="margin: 0px; font-size: 11px; font-family: Menlo;">+&nbsp; &nbsp; IDBLOCK = "\x56\x43\x32\x33\x00\x02\xc7\x01\x01\x01"</div><div class=""><br class=""></div></div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">My purpose in sending this query to the list is to find out if anyone else has run across a similar problem and figured out a more technically elegant solution.</div><br class=""><div apple-content-edited="true" class="">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Richard Cochran</div><div class=""><a href="mailto:ag6qr@sonic.net" class="">ag6qr@sonic.net</a></div><div class=""><br class=""></div></div></span><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""></body></html>