I’ve tried the ChirpStack 4.11.x revision. It all looks right, except that the downlink freq for CN470 (LoRaMAC 1.0.4 RP002-1.0.3) is wrong. When Uplink FREQ is 470.9 for JoinRequest, the responsed JoinAccept is using Downlink FREQ=500.9MHz. According to RP002-1.0.3 CN470 Type-A 20MHz, the downlink FREQ is started from 483.9MHz. The correct downlink freq to answer the above JoinReques should use 484.5MHz. Is there anyway to change it through a configuration file?
It looks like CN470 changed between LoRaWAN 1.0.3 and 1.0.4+. If you are able to, you can make a patch and submit a Pull Request (PR).
Since CN470 was one of those fixed-channel regions, I don’t think you can do anything else other than making a change to this file and to build a new version of Chirpstack: lorawan/band/band_cn470_510.go at master · brocaar/lorawan
It would be ideal if there can be backward-compatibility with versions up to 1.0.3 and beyond 1.0.3, as seen in other bands like AU915: lorawan/band/band_au915_928.go at master · brocaar/lorawan