Out of curiosity I just tested my OBD-II device again (it works on my City '15 and doesn't work on my Vitz '09).
Firstly I installed SZ viewer and HOB Drive (I already have Torque Pro and it detects city while it doesn't detect vitz).
I connected it to my vitz and opened SZ viewer, it displayed my obd2 device as fake device and I couldn't communicate on HOB drive even after teying different settings.
Went to my city, opened HOB drive and it couldn't connect. Opened SZ viewer, it again said OBD2 device is fake. I opened Torque Pro and it not only connected, detected but also showed all the real time data correctly.
PS. My OBD2 device is 2.1