As mentioned, the first
02 is the amount of data bytes which are following (
This is because OBD2 requests are supposed to be full CAN frames, i.e., padded to 8 bytes.
On the wire, this command leads to:
(1634135175.912238) can0 7DF  02 09 0A
Most ECUs will not answer to that. Instead, you will need to send
(1634135272.796716) can0 7DF  02 09 0A AA AA AA AA AA
To get this, you issue, e.g.
cansend can0 7DF#02090AAAAAAAAAAA
Then, you will get the start of the result, which is something like that:
(1634135272.798427) can0 7E8  10 17 49 0A 01 45 43 4D
Note that you will not get the full response unless you implement ISO-TP, which requires you to send flow-control ACK frames in return.