RDT Band Plan Updater

Change the band plan of an .rdt file without rebuilding it. What the patch touches, why the radio ignores most of what it writes, and why channels outside the new plan are left exactly where they are.

On this page

The failure it exists for

You have an .rdt file — a club sent it round, or you pulled it off a forum, or you saved it against the wrong setting months ago. You open it in the factory Windows CPS, ask it to write, and get Band Error!. That is all the CPS will tell you, and it tells you nothing about what is actually in the file.

Every AnyTone codeplug carries a band plan — the factory CPS calls it Frequency Mode — and the radio carries its own copy somewhere else entirely. When the two disagree, that message is what you get. When it goes wrong owns the message itself, including its second and unrelated cause on the AT-D168UV.

The obvious fix is not available to you. The factory CPS has no way to change the band plan of a codeplug that already has channels in it: ask it, and it re-initialises the file. What it would write for your populated file on a new plan is, literally, an empty one — so anyone who tries it in the real CPS loses the codeplug. This tool exists to do far less than that, to a file that never has to enter a project at all.

Changing a file's band plan changes what the file claims. It does not move the radio, and it never looks at a single frequency inside the file. So a plan change can leave you with channels that never appear after a write, and whole bands the radio refuses to transmit on. Both are the radio behaving correctly. Neither is checked, warned about or reported here.

A patch, not a rebuild

What comes back is the file you uploaded. Same length, differing only where the band plan is recorded — and that is a stronger promise than "we were careful". Your channels, zones, contacts, encryption keys, APRS, GPS roaming, hot keys and bulk contact database come back untouched because nothing here ever decodes them in the first place. The values written in their place come from the factory's own blank files for each plan, so the result matches what the CPS itself would produce.

The success line tells you how much moved. A small number is normal — a plan change is a handful of bytes, not a rewrite — so do not read a low count as evidence that something was missed. Zero is the one worth noticing: applying the plan a file already carries does nothing at all, whatever the rest of the line says. You may also see the line end with mode byte only or range fields updated; both are ordinary outcomes, and neither is a failure.

Why importing and re-downloading is not the same thing

It is a fair question — you could import the file, change the plan on the project's Settings tab and download it again. But a project download is a rebuild rather than a patch, with different guarantees; How AesApp WebCPS works explains what that does and does not preserve. It also puts the file in a project, which ties it to one radio model and to your account, and a project's plan is restricted to the amateur list. If all you want is to change what one file claims, this tool is the smaller, safer instrument.

The file claims a plan; the radio enforces one

A radio does not read its band plan out of the codeplug. It reads it from its own factory settings, which a codeplug write cannot reach — Writing to your radio describes that refusal. Two plans, in two places, and a mismatch can be fixed from either end.

  • The file's plan is what this tool changes, and all it changes.
  • The radio's plan is changed over USB, either by Change Radio Bandplan on a project's Settings tab or by the Web AT Options tool. Web AT Options covers what else lives there.

Which end to move is a licensing question rather than a technical one, because the radio's plan is what decides where it will actually transmit. Fix either one and the CPS stops saying Band Error!. Fix neither and nothing improves.

AesApp WebCPS's own pre-write check compares the two for you. It warns rather than blocks: the message begins Band plan mismatch: the codeplug is, names this tool as one of the two ways to line them up, and lets the write proceed if you confirm it.

Why a "wrong" file can still be fine

A band plan is a number, not a set of frequencies. Both the file and the radio store the number, and the transmit and receive limits follow from it — the frequency ranges the CPS keeps alongside are bookkeeping for its own display. So a file whose plan number is right and whose ranges are stale is not a broken codeplug. The CPS is simply the only thing that notices.

That said, the tool will tell you when it spots the mismatch, which nothing else in the product does: The mode byte and the stored frequency-range block disagree: this file's band plan was changed without the CPS's range bookkeeping. Applying a plan here makes them consistent. You will see it on a file somebody edited by hand, or one that went through a tool that changed the number and nothing else.

The last sentence of that notice is wrong, and the greyed-out button is the one telling you the truth. Applying the plan a file already claims does nothing — the file comes back unchanged and still inconsistent. Move it to a different plan and the bookkeeping is rewritten. If you need the original plan number back, apply it to the download: two passes, and the second one restores the file exactly.

One known false alarm: an AT-D578UV(III) Plus file on plan 18 is told its ranges disagree when they are perfectly correct for that radio. If that is your file, you can ignore the notice. And two plans — 6 and 15, which only the AT-D168UV can be moved to — get no verdict at all, so on those the absence of a notice means nothing was checked rather than that all is well.

Channels outside the new plan stay exactly where they are

Not dropped, not moved, not renumbered, not flagged. There is no frequency comparison anywhere in this tool, so a channel on 222 MHz survives a move to a plan with no 220 MHz segment — same slot, same name, and nothing anywhere tells you it happened.

The bill arrives later, on the radio, and it looks exactly like a failed write without being one: the radio accepts only channels inside its own plan, so out-of-plan channels may never appear and transmit is refused across whole bands. If a channel worked yesterday and has vanished today after a plan change, suspect the plan rather than the write — When it goes wrong has the checklist for a write that succeeded and a radio that will not key up.

So the checking is yours to do, and it is worth doing before you rely on the file. Hold your channel list against the plan's own ranges: the picker prints them beside every plan, which is what the numbers in Amateur US — Rx 400-480, 136-174 / Tx 420-450, 144-148 are there for.

Which plans you can actually pick

The picker lists every plan your model's own table names, but it can only apply the ones the factory CPS ships a reference for — the rest would have to be guessed at, and a guess here is worse than a refusal. Those appear greyed out with no factory reference beside them, and the server refuses them independently of the page: Band plan 6 cannot be applied to the Anytone AT-D878UVII: the factory CPS ships no reference for it, so its range values would have to be guessed.

Which ones those are depends on the model. Plans 6, 9, 12 and 15 are out of reach on the AT-D878UVII, AT-D890UV and AT-D578UV(III) Plus; on the AT-D168UV only 9 and 12 are. The AT-D578UV(III) Plus has one plan the others do not — plan 18, Amateur US + 1.25 m — Rx 400-480, 220-225, 136-174 / Tx 420-450, 222-225, 144-148 — and on the AT-D890UV a hand-made request for 18 is refused with Band plan 18 is not one the Anytone AT-D890UV knows.

If your file carries a plan its model's table does not name, the tool shows it rather than hiding it, and the label doubles up: the option reads Mode 18 · Mode 18 (not in this radio's table) — current while the Current band plan row above reads only Mode 18. That is a hand-edited byte or a plan a newer CPS added — not a corrupt file. You can move away from it and you can select it again in the list, but 3. Apply and download stays greyed out while it is chosen, because the button always refuses the plan the file already carries.

The only route to a non-amateur plan in a file

A project's Settings tab offers plans 3, 7, 10, 14 and 16 — plus 18 on the 578 — and enforces that on the server: You may only switch to an amateur band plan (Europe, US, Australia/Canada, or Thailand). This tool offers every plan it has a reference for, commercial and wide ones included, and prints no licence warning beside them. Neither screen mentions the difference, so it is worth knowing: this is the only way to put a non-amateur plan into a codeplug file here.

Plan 14 does not buy you 220 MHz

Writing 14 into a file is accepted on every model without complaint, and on its own it buys you nothing. The 220 MHz gate lives in the radio's firmware and acts on the radio's own plan, and whether it holds depends on the radio's Maint. Enable PW — a state no codeplug touches. Web AT Options owns that mechanism and is where that setting is put right. Plan 14 in a file is a claim; whether the radio honours it is decided elsewhere.

Two model facts save people a wasted afternoon. On the AT-D168UV, plan 14 gives you nothing plan 11 does not, and 11 is not gated at all. On the AT-D578UV(III) Plus, the plan a 1.25 m operator actually wants is 18 — also not gated.

Running it twice, and what we keep

Nothing accumulates, and nothing is at risk. Your original file is never modified: the rewrite is the download, renamed to the original stem plus _band and the plan number, which makes it look like a different codeplug when it is the same one. Applying the plan a file already has returns it untouched. Going 10 to 14 and back to 10 restores it exactly. There is no state to get into and nothing to clean up.

Nothing is stored either. Your upload lives for the length of one request and is deleted whether that request succeeded or failed; one log line records your account, the model, the plan it moved from and to, and how much changed — not the file. So there is nothing to retrieve if you lose the download, and nobody can look up your codeplug afterwards, us included.

Two practical notes. The file is uploaded twice, once to identify it and once to rewrite it, so on a large codeplug over a slow link expect two full uploads with no progress bar. And refreshing the page part-way costs you a click, not a file: your browser held it, the server never did.

What it refuses

Each of these is quoted from the app. A reference code means the same thing here as everywhere else — see When it goes wrong.

MessageWhat it meansWhat to do
Choose an .rdt codeplug file to upload.No usable upload arrived. This is also what a file too large for the server looks like — it never reaches the tool, so the message says nothing about size.Re-pick the file. If it is genuinely enormous, it is not an AnyTone codeplug.
That file is larger than this tool accepts (40 MB).Over the tool's own ceiling. Even a full contact database keeps a real codeplug well under that.Check you picked a .rdt and not an archive or a memory dump.
That file is too small to be an .rdt codeplug. / This file is too small to be a valid .rdt codeplug.There is not enough of the file to read at all.Re-export it from the CPS.
This does not look like a supported codeplug (header "…").Not an .rdt at all — a CSV, a radio backup, a firmware file. The header is quoted back to you.Upload a file saved by the AnyTone CPS.
This codeplug is from an unsupported codeplug format ("V1…", model "…"). Please re-export it from a supported CPS. …An .rdt from a CPS revision we do not read. The signature and the model name stored in the file are both quoted back, because the signature alone does not say which radio it came from — several models share one.Open it in a supported CPS and save it again, which rewrites the signature.
This AT-D878UVII codeplug was saved by CPS 3.05, whose format AesApp WebCPS does not read. Open it in CPS 3.08 or 4.00 and save it again…Your radio is supported; the file is simply from an older CPS. Also seen for the AT-D878UVII's CPS 3.03 and the first-generation AT-D878UV's 3.02, 3.03 and 3.04.Exactly what it says: open it in the named CPS, save, and upload that file. Nothing is lost in the re-save.
This is an … codeplug. AesApp WebCPS can identify this format but does not support it yet. …A file we can name but cannot open, such as a rebadge. Your file is fine; the support is not there.Nothing for now. About AesApp WebCPS lists which formats these are.
Band plan 99 is not one the Anytone AT-D878UVII knows.A plan number your model's table does not name. The picker cannot produce this; a hand-made request can.Choose from the list.
The band plan could not be applied to this file. Reference …The rewrite itself failed, which on the 578 and 168 is usually what a damaged or truncated file looks like. On those two you were warned at upload time, in the yellow notice beginning native range description failed:.Read the yellow notice first — it is more specific than this message. Otherwise quote the reference and send the file, since we keep no copy of it.

A successful download is not proof that your file is a healthy codeplug. On the AT-D878UVII and AT-D890UV the checks are deliberately shallow, and a damaged file can come back "rewritten" without complaint. Open it in the CPS before you write it to a radio — which is exactly what the success line asks of you.

Which of the three controls you want

What you are holdingWhat to use
An .rdt file, outside any project, whose plan is wrongThis tool. It is the only thing that rewrites a file in place, and the only way to put a non-amateur plan into one.
A project you are editing here, and a plan for the codeplug it buildsSave Codeplug Bandplan on the project's Settings tab. Amateur plans only, and it changes what future builds carry — not a file you already downloaded.
A radio on the wrong planChange Radio Bandplan on that same tab, or Web AT Options. Neither alters any file, so a codeplug you already downloaded still carries the plan it was built with.