Ok so I jacked up the bike and got the rear wheel off the ground. Turns out, it is constantly under drag by the brake. But the rotor does not seem damaged at all.
Is it hydraulic brakes, or cable-operated?
If it's cable-operated, there could be a damaged cable housing pinching the cable and keeping the brake engaged.
If it's hydraulic, then to fault this way it would need the lever itself (like if it's bent or a bit of debris is caught in the lever housing) to be keeping the master cylinder providing pressure to the brakes, or a mechanical issue at the caliper or pad(s) causing friction with the rotor.
If the brakes were dragging, the controller might detect the extra load (or have a sensor on the brakes detecting they are engaged) and prevent motor operation.
Another user on FB forum said that this was a normal antitheft feature... do you know anything about that?
What does the bike manual say about it's antitheft stuff? It should describe what functions it has in that regard.
Meanwhile, I removed the battery and even the controller, and tried it again, and when everything is disconnected, the brakes are even tighter and the rear wheel drags continuously and it's very hard to turn.
The mechanical brakes should not be affected by the electronics; if they were it would mean that it would always constantly use power to keep the brakes *not* applied except when you were actually braking, and that would complicate the braking system in a non-failsafe way that could cause a serious accident if there were ever a glitch in power supply, etc.
Some antitheft stuff could "lock" the motor electronically (I have a controller that does this) but only when the controller is connected to motor and battery.
So now I have the controller out and I'd like to test it... do you know how?
The only thing you can really test for is if the FETs are shorted, but if they were it would cause drag on the wheel. Since you get *more* drag with the controller *removed*, then this is highly unlikely to be the case.
With the controller installed and connected normally, you could test if the controller powers up and provides voltage to the motor halls (or other sensor) and throttle, etc. And test the halls (or other sensor) for corrrect output as the motor is manually turned.
Beyond that, you'd need to connect the controller to a computer and use Siaecosys' setup / diagnostic software to see if there are any error logs, etc.