When I put 4V on the output pin(PWM), the transistor is almost full-open and the motor (no-load) consumes about 500mA
That is a puzzling statement.
When you say the transistor is fully open do you actually mean fully closed or fully on?
Anyway that transistor has a very low gain, according to the data sheet it is less than 30 at half an amp. So you need more base current or more gain. It is best to have more gain so:-
You need another transistor, small signal high gain to make this transistor into a darlington. Put the second transistor to the firsts collector. Disconnect the original transistor base and put it to the new transistor emitter. Finally treat the new transistor's base as if it were the original transistor.