I don't know the internals of NetworkManager but perhaps some timeout is exceeded. The modified driver has a new module parameter: parm: delay_time:Seconds to delay before switching lower speed; default = 11 seconds(3 trials) (uint) You could try to lower it to see if it improves the situation. 6 seems to be the safe lowest value possible.