<div dir="ltr"><div>Hi group,<br><br>I think I finally have a handle on what is causing the CHIRP 'Unsupported Model" problem with the UV-B5 and UV-B6 radios. Under certain conditions, one confirmed as receive CTCSS tones selections, things change that cause CHIRP to stop working with radio.<br>
<br></div>Here is the radio 'ident' check.<br><div><br> ident = radio.pipe.read(8)<br> print util.hexprint(ident)<br> if ident != "HKT511\x00\x04":<br> raise errors.RadioError("Unsupported model")<br>
<br></div><div>The HKT511\x00\x04 ident is what is returned from a factory radio or a radio that has been reset. When you program certain receive CTCSS frequencies (and some other settings will cause this, too), the 'ident' changes to the following.<br>
<br>HKT511\x00\x00<br><br></div><div>This can be easily fixed by checking for both ident strings or by shorting the string to just 7 characters.<br><br></div><div>When this is done, CHIRP starts the download process, but then the clone process is ended with 'Unexpected respose'.<br>
<br></div><div>Here is where the process fails.<br><br> ecks = radio.pipe.read(1)<br> if ecks != "x":<br> raise errors.RadioError("Unexpected response")<br><br></div><div>What happens is when the 'ident' changes, the 'ecks' value changes too. I have seen as many as three different responses (including the original 'x').<br>
<br></div><div>The easiest 'fix' would be to just remove the check. Either Baofeng doesn't check or they know what to check for.<br><br>Another 'fix' would be to grab the first 'ack' and then use it to check the rest. Maybe something like this?<br>
<br> ack = radio.pipe.read(1)<br></div><div> if i == 0<br> ack0 == ack<br></div><div> if ack != ack0:<br> raise errors.RadioError("Unexpected response")<br><br></div><div>
Does anyone have any better ideas to work around this UV-B5/B6 quirk?<br><br></div><div>Thanks,<br></div><div>Jim KC9HI<br></div><div><br><br></div></div>