USB充電を無効にする


22

バッテリーの寿命とは関係のないいくつかの理由で、USBホストが電話(ルート化されたNexus 4)に接続されている場合、バッテリーの充電を無効にする必要があります。インターネット(上を見て周りに取るリンク1リンク2)、それは私がシステムファイルを変更する必要があるように見えます。私は面白いにある一連のファイルを発見した/sys/class/power_supply/battery/sys/class/power_supply/usb、右のものかもしれない、(例えば無効USB充電を達成するために変更します/sys/class/power_supply/usb/present 0/1)。

誰かがそのようなことを試しましたか(ソフトウェアを介してUSB充電を制御し、そのようなシステムファイルを変更します)?これらのシステムファイルを変更する最良の方法はどれですか?adbシェルまたは別のツールを使用する必要がありますか?

これらのファイルを変更するために「ルート探索」アプリを試しましたが、ファイルを変更すると(アクセス許可を変更した後)、自動的に元の値に戻りました。


2
これは質問に貢献する場合もしない場合もありますが、USB充電を無効にする理由については興味があります。
dotVezz

私がここに持っているのは、組み込みシステムに似たものです。USB(USBアクセサリ)とハードウェア(USBホスト)がUSBで接続されています。電話のバッテリーは、特定の接続(Vdd)を介して接続されたハードウェアに供給します。ただし、USBホストは、USBのVBUSラインを介して電話機に供給(または充電)することになっています。私が避けたいのは、電話と接続されたハードウェアの間の充電ループです。接続されたハードウェアがホストであるにもかかわらず、システム全体を提供するのはAndroidフォンです。私の説明があなたに明確であったことを願っています。
STiLLeN

2
/ sysは、カーネルがノブとスイッチを公開して、カーネル構成を変更および検索する仮想ファイルシステムです。ファイルのアクセス許可を変更することはできません。ネクサスの携帯電話はロック解除され、ルート化されていると思います。充電回路は、おそらく構成可能なマキシムチップに基づいています。充電の検出を無効にできるカーネルが変更されています。逆も可能です。ただし、カーネルにパッチを適用して再コンパイルする必要がある場合があります。
ce4

1
nexus 4のFranco Kernelは高速充電を可能にし、ソースが利用可能です。多分あなたはそれを見て、それをオフにする方法を見つける
ce4

1
ドライバーは次のとおり
franciscofranco

回答:


7

私はちょうどあなたがファイルを変更する必要があることを試してみました:
sys/class/power_supply/usb/device/charge

デフォルトのコンテンツは「1」で、「充電を有効にする」ことを意味します。「0」に設定して「充電を無効にする」必要があります

$ su

$ echo 0 > /sys/class/power_supply/usb/device/charge

Nexus 4でテストしたところ、正常に機能しています。


echo 0 > /sys/class/power_supply/battery/charging_enabledCM11を搭載したSony Z1 Compactで、それが私にとってうまくいくことを確認できます。本当にありがとう!:)
seanlano

/ sysインターフェイスは仮想であり、再起動が持続しないことに注意してください
-kevinf


2

特定の携帯電話の充電器で動作するかどうかはわかりませんが、多くの場合、電力とデータの両方を転送するケーブルでは、電力とデータ用のケーブル内に別々のコードがあります。

私のアイデアを確認するために携帯電話の充電器を引き裂くことに特に興味はありませんが、ケーブルの一部を剥ぎ取り、ケーブル内の電源コードを特定して切断し、電気テープで巻き戻すことができます。

これを行うにはもっと簡単な方法がありそうですが、私はそれを知りません。


USBには一般に4つのピンがあります-5V電源用に2つ、データ用に2つ。
NoBugs 14

1
VbusとGroundを切断すると、データラインの動作も停止します。USBケーブルの接続は電源から検出されます(Aコネクタを参照してください。電源ピンは少し長いため、最初に接続します)。
diidu

1

コンピューターのUSBポートに接続すると電話が充電されるため、ソフトウェアで変更できるものではないと確信しています。おそらくあなたは手を汚し、電話自体の接続を1〜2回短くする必要があるでしょう。


はい、ソフトウェア経由でも可能です。根ざしたNexus 4のこのアプリを ご覧くださいstopCharge
STiLLeN

1

adb shell dumpsys battery set usb 0を使用できます。// USB充電を無効にし、

adb shell dumpsys battery set usb 1; // USB充電を有効にするため


1
これは簡単ですが、残念ながら充電は無効になりません。無効になっているように見えるだけです。
diidu

0

マイクロUSBコネクタ側のピンを変更することにより、ハードウェアの問題を解決できます。1つの明白な方法は、ピン#1(VBUS)を接続しないことであり、もう1つの方法は、ピン#4(ID)を接地してホスト(PC)がOTGデバイスであるふりをすることです。その場合、ピン#1(VBUS)切断する必要があります。そうしないと、両方ではないにしても、デバイスの1つが焼損します。

コマンドラインソリューションについては、適切な(デバイスに依存する)/sys/...ファイルを見つける必要があります。ただし、既に述べたように、これらを変更するには書き込みアクセス権とルート権限が必要です。また、それを行うと、次の再起動またはUSB周辺機器の変更までしか持続しません。


2
推奨されるハードウェアソリューションは正しくありません。ほぼすべてのAndroidフォンには、USBホスト(ラップトップなど)から電源を取得するUSB​​デバイスがあり、アクセサリモードで動作します。VBUS回線を切断すると、USBデータ通信が機能しなくなります。私はこれを自分でテストしました。私はそれをテストしませんでしたが、他の方法(IDピン)についても同じことを言います。ソフトウェアソリューションについては正しいですが、すべてのAndroidスマートフォンに/sys/...必要なファイルがあるわけではありません(Nexus 4はい、Nexus 5いいえ)。別の解決策は、充電ドライバーの動作をカーネルに変更することです。
STiLLeN 14年

0

opと同様に、USBで接続されているホストもダミーバッテリーとして接続されています。単純にUSBケーブルを使用し、バッテリーを使用することはできません。Androidは起動しません。また、USBは十分な電流を供給しません。

Androidは起動中にVbusを使用するため、ソフトウェアでこれを修正することはできません。ブートローダーコードをハッキングする場合も除きます。

USB充電対バッテリー電圧ループを回避するために、充電回路を変更する必要があります。

Galaxy S3では、USB標準の一部であるデータ(d + d-)を有効にするには5Vバスが必要であることを確認しました。

OTGは問題を電気的に解決できますが、ホストクライアントルールは正しくありません。また、この電話はOTGと充電が可能です(私はYケーブル+ゲームパッドを使用します)

参照の編集:https : //forum.xda-developers.com/showthread.php?t=1863303


充電回路の変更が
わかっ

0

バッテリードライバーの専門家である同僚に尋ねました。カーネルバージョンが4.4.21のNut Pro 2では、バッテリー充電のオン/オフのノードは次のとおり/sys/class/power_supply/battery/input_suspendです。


0

ブロッキング側をアクセサリに向けて、ピン1間にショットキーダイオードをいつでも使用できます。そのようにピン1は5v信号を取得するため、通信は機能しますが、アクセサリから携帯電話に電流は流れません。または、逆方向に配置する場合は、ダイオードを異なる方向に配置します。


-1

いいえ、まだルート化されていないデバイスでは不可能です。Settings.SystemとADB_EN​​ABLEDを使用しますが、ADB_EN​​ABLEDはアプリケーションによって変更できないSecure-System-Settingです。

はい、ルート化された電話で実行できます。

許可android.permission.WRITE_SECURE_SETTINGSを追加する必要があります。私はあなたがそれをどのように行うのかを尋ねることになることを知っています:ここに似たアプリのリンクがありますhttps : //play.google.com/store/apps/details?id= com.jim2 & hl=en


1
ADB_ENABLEDUSB充電とは何が関係していますか?リンクするアプリでUSB充電を無効にできますか?
ダンヒューム

アプリでは、書き込み保護設定を変更した後、USB充電を無効にすることができます。
ラビンドラサヘイ

「キンダ」?従うべき手順は何ですか?
ダンヒューム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.