@knuxvomica I spotted this. From your config.g:
M569 P20.0 S0 ; assign physical drive 0 at can 20
M569 P10.0 S1 ;T2.6:2.6:5:0 ; assign physical drive 0 at can 10
M569 P10.1 S1 ;T2.6:2.6:5:0 ; assign physical drive 1 at can 10
M569 P0.0 S0 ; assign physical drive 0
M569 P0.1 S1 ; assign physical drive 1
M569 P0.2 S1 ; assign physical drive 2
M584 Y10.0 X10.1 E20.0 Z0.0:0.1:0.2 ; map drives
;Drive settings
M350 X16 Y16 Z32 E16 I1 ; configure microstepping with interpolation
M92 X160 Y160 Z320 E562 ; set steps per mm
M566 X1000 Y1000 Z500 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X100000 Y100000 Z3000 E3000 ; set maximum speeds (mm/min)
M201 X4000 Y4000 Z20.00 E1500 ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E650 I30 ; set motor currents (mA) and motor idle factor in per cent
From your M122 B10 report:
Driver 0: pos 0, 80.0 steps/mm,ok, SG min 0, mspos 0, reads 40162, writes 0 timeouts 0, steps req 0 done 0
Driver 1: pos 1599840, 160.0 steps/mm,ok, SG min 9, mspos 9, reads 40161, writes 0 timeouts 0, steps req 0 done 0
Driver 2: pos 0, 80.0 steps/mm,ok, SG min 9, mspos 9, reads 40161, writes 0 timeouts 0, steps req 0 done 0
Moves scheduled 1, completed 1, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
This indicates that driver 1 is correctly configured and 1 move has been executed, which has moved driver 1. However, driver 0 indicates 80 steps/mm which is the default, whereas your config.g maps axis Y to driver 10.0 and the subsequent M92 command sets the Y steps/mm to 160. So I suspect that some commands in config.g may not be working as intended.
Please can you try sending the M584, M92 and M906 commands manually from the command line with the same parameters as used in config.g. Then send M584, M92 and M906 without parameters to check that the correct values are reported. Also send M913 to check that all axes are set to 100% motor current. Finally, test whether you can make X or Y moves using e.g. G91 G1 H2 X10.