লেনভো টি 440 এর ব্যাটারির স্থিতি অজানা, তবে চার্জ হচ্ছে?


14

আমি আর্চ লিনাক্সে আমার লেনোভো কনফিগার করার চেষ্টা করছি। আমার শেষ কাজটি করা দরকার ব্যাটারিটি 100% কাজ করা।

এখনই দেখা যাচ্ছে যে মূল ব্যাটারির অবস্থা অজানা:

> acpi -V
Battery 0: Unknown, 97%
Battery 0: design capacity 5849 mAh, last full capacity 5956 mAh = 100%
Battery 1: Charging, 96%, 00:05:50 until charged
Battery 1: design capacity 1861 mAh, last full capacity 1536 mAh = 82%
Adapter 0: on-line
Thermal 0: ok, 43.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 200.0 degrees C
Cooling 0: x86_pkg_temp no state information available
Cooling 1: intel_powerclamp no state information available
Cooling 2: Processor 0 of 10
Cooling 3: Processor 0 of 10
Cooling 4: Processor 0 of 10
Cooling 5: Processor 0 of 10

তবে আমি যদি ব্যাটারিটি সরাসরি জিজ্ঞাসা করি তবে আমি সম্পূর্ণ ভিন্ন প্রতিক্রিয়া পাই:

> cat /sys/class/power_supply/BAT0/status
Charging

> cat /sys/class/power_supply/BAT0/uevent
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Charging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11100000
POWER_SUPPLY_VOLTAGE_NOW=12389000
POWER_SUPPLY_POWER_NOW=0
POWER_SUPPLY_ENERGY_FULL_DESIGN=23200000
POWER_SUPPLY_ENERGY_FULL=19150000
POWER_SUPPLY_ENERGY_NOW=19050000
POWER_SUPPLY_CAPACITY=99
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=45N1773
POWER_SUPPLY_MANUFACTURER=SANYO
POWER_SUPPLY_SERIAL_NUMBER=16120

আমি এখানে কী করব সে সম্পর্কে আমি সম্পূর্ণ ক্ষতি করছি loss আমার কাছে একটি স্ক্রিপ্টের রিপোর্টিং ব্যাটারি লাইফ রয়েছে যা এই কয়েকটি কমান্ডের আউটপুট বন্ধ করে দেয় এবং আমি এটি যথাসম্ভব সম্পূর্ণ হতে চাই। স্পষ্টতই ব্যাটারি চার্জ হচ্ছে, তবে এসপিআই-ভি কেন এটি অজানা বলে? কেউ কি জানে?


2
আমি আমার টি 460 এর দশকে প্রায় একই দেখতে পাচ্ছি। আমি মনে করি যে দুটি ব্যাটারি চার্জিং / ডিসচার্জিংয়ের মোড় নেয়; বর্তমানে আমার BAT0 "চার্জিং, 98%, 00:04:52 চার্জ হওয়া অবধি" এবং এসিপিআই অনুসারে আমার BAT1 "অজানা, 79%"। ল্যাপটপ-মোড-সরঞ্জামগুলি প্রতিবেদন করে "আপনার একটি ভাঙা ব্যাটারি আছে actual প্রকৃত অবস্থা নির্ধারণ করতে পারে না" , তবে ব্যাটারির আসল অবস্থা "চার্জিং" কিনা তা নির্ধারণের জন্য ইউপিওয়ারের একটি মীমাংসাকার রয়েছে
ম্যাথিয়াস রাভ

1
যদি ল্যাপটপে কেবল একটি একক ব্যাটারি থাকে তবে কেবলমাত্র 2 টি সম্ভাব্য রাষ্ট্র রয়েছে: "ডিসচার্জিং" এবং "চার্জিং" (এবং, ভাল, "চার্জ করা 100%")। যখন কোনও ল্যাপটপে 2 ব্যাটারি থাকে এটি কেবল তার মধ্যে একটি ব্যবহার করতে পারে, তবে দ্বিতীয় ব্যাটারির একটি অবস্থা "অজানা" হিসাবে বিবেচিত হবে (এটি চার্জিং বা ডিসচার্জও নয়)। আমার থিঙ্কপ্যাড এক্স 250 এর সাথে আমার একই ঘটনা ঘটছে তাই আমি অনুমান করি এটি একটি প্রত্যাশিত আচরণ।
ddnomad

উত্তর:


0

আর্কে থাকাকালীন আপনি প্যাকেজটি ইনস্টল করার চেষ্টা করতে পারেন tpacpi-bat(এসিপিআই সহ একটি পার্ল স্ক্রিপ্ট সাম্প্রতিক থিঙ্কপ্যাডের জন্য কল করে (যেমন টি 420 এবং ডাব্লু 520) যার ব্যাটারি প্রান্তিক tp_smapi দ্বারা সমর্থিত নয়)

pacman -S tpacpi-bat

এটি এটি ঠিক করতে সহায়তা করতে পারে। কনফিগারেশন সম্পর্কে তথ্য এখানে দেখুন


0

দ্বৈত ব্যাটারি সহ থিঙ্কপ্যাড ল্যাপটপের এটি একটি সাধারণ সমস্যা।

আপনি যখন আপনার ল্যাপটপটি প্লাগ ইন করেন এটি BAT0 চার্জ করে শুরু হবে যখন BAT1 একটি অজানা অবস্থার খবর দেয়। BAT1 পূর্ণ হয়ে গেলে এবং BAT1 আসলে চার্জ শুরু করলে বিএটি 1 চার্জিংয়ের প্রতিবেদন করবে।

আপনার স্ক্রিপ্টে এটি অ্যাকাউন্টে নেওয়া দরকার, এবং ব্যবহারযোগ্য কিছু পাওয়ার জন্য BAT0 এবং BAT1 এর মানগুলি একত্রিত করতে হবে:

battery_level=$(("$battery_level_0 + $battery_level_1"))
battery_max=$(("$battery_max_0 + $battery_max_1"))

battery_percent=$(("$battery_level * 100"))
battery_percent=$(("$battery_percent / $battery_max"))

এখানে একটি সম্পূর্ণ উদাহরণ:

#!/bin/sh

path_ac="/sys/class/power_supply/AC"
path_battery_0="/sys/class/power_supply/BAT0"
path_battery_1="/sys/class/power_supply/BAT1"

ac=0
battery_level_0=0
battery_level_1=0
battery_max_0=0
battery_max_1=0

if [ -f "$path_ac/online" ]; then
    ac=$(cat "$path_ac/online")
fi

if [ -f "$path_battery_0/energy_now" ]; then
    battery_level_0=$(cat "$path_battery_0/energy_now")
fi

if [ -f "$path_battery_0/energy_full" ]; then
    battery_max_0=$(cat "$path_battery_0/energy_full")
fi

if [ -f "$path_battery_1/energy_now" ]; then
    battery_level_1=$(cat "$path_battery_1/energy_now")
fi

if [ -f "$path_battery_1/energy_full" ]; then
    battery_max_1=$(cat "$path_battery_1/energy_full")
fi

battery_level=$(("$battery_level_0 + $battery_level_1"))
battery_max=$(("$battery_max_0 + $battery_max_1"))

battery_percent=$(("$battery_level * 100"))
battery_percent=$(("$battery_percent / $battery_max"))

if [ "$ac" -eq 1 ]; then
    plug=""

    echo "$plug $battery_percent %"
else
    if [ "$battery_percent" -gt 95 ]; then
        echo ""
    elif [ "$battery_percent" -gt 85 ]; then
        icon=""
    elif [ "$battery_percent" -gt 60 ]; then
        icon=""
    elif [ "$battery_percent" -gt 35 ]; then
        icon=""
    elif [ "$battery_percent" -gt 10 ]; then
        icon=""
    else
        icon=""
    fi

    echo "$icon $battery_percent %"
fi
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.