I had this very same problem occur intermittently on my 2003 V8 4Runner. One time the gauge stuck at 3/4 of a tank, another time it stuck on Empty with the low fuel light on, and finally yesterday it stuck on Empty and didn't budge yesterday or today! I found this TSB fix in the 3rd Gen forum on the YotaTech board and I was shocked to find that it worked! My range on the dash display still shows as 0 (zero), but the gauge works again and I'm hopeful the range will sort itself out after the next fillup. Good luck and I hope this works for you too:
Originally Posted by Ringmaster View Post
Heres a TSB I found on Alldata,
Electrical EL010-99 99 & 00 4Runner
Vehicle has to be sitting on a level surface with an inclination of +/- 0.5 degrees.
1.With the ignition switch in the Off position, press and hold the trip speedometer reset button.
2. Continue pressing the reset button while turning the ignition switch to the On position.
3. Within 5 seconds of turning the ignition switch On, release the trip switch, press trip switch 3 times and on the 3rd press, hold the switch for 5 seconds. The buzzer will sound for 1 second at 800HZ.
4. After the buzzer stops, release the trip switch.
5.Press the trip switch one more time and hold for 5 seconds. Once more the buzzer will sound for 1 second at 800HZ.
Worked like a charm on mine, hopefully it will work on yours too!