UPower shows incorrect charge level on fedora linux

I noticed that when I let my Lenovo laptop run down, once it reaches 6-7%, it stays there for 2-3 hours until it’s completely discharged.

UPower gives me this:

battery 
  present: yes 
  rechargeable: yes 
  state: discharging 
  warning-level: none 
  energy: 21,12 Wh 
  energy-empty: 0 Wh 
  energy-full: 21,79 Wh 
  energy-full-design: 54,7 Wh 
  voltage-min-design: 15,6 V 
  capacity-level: Normal 
  energy-rate: 6,18 W 
  voltage: 17,558 V 
  charge-cycles: 63 
  time to empty: 3,4 hours 
  percentage: 97% 
  capacity: 39,8355% 
  technology: lithium-polymer

I also tried with tlp - recalibrate but it gives me:

Error: there is no hardware driver support for battery recalibrate.I