Actually the BTech GMRS-V1 has semi-fixed channels. Channels 0 through 22 are fixed and channels 23 through 127 are programmable. I think the driver may let the user go through the motions of programming the fixed channels, the radio just ignores the changes.
Oh I see, well, then maybe the valid_bands thing isn't the right fix. Because really the problem is just that the tests are using the first channel in the list as the test channel.
Sounds like a more complicated change is going to be needed. In the tests, perhaps it should go looking for a memory channel that isn't immutable before it tries to use it to set things?
Very rough idea:
test_mem = None for i in range(*rf.memory_bounds): m = radio.get_memory(i) if not 'freq' in m.immutable: test_mem = m break
if not test_mem: # skip because no memories are usable
# continue to do test with test_mem instead of just blindly using #1
--Dan