LAN9512を無効にする


35

LAN9512は、イーサネットおよびUSBポートを制御するハードウェアデバイスです。このチップは約200mAを消費しますが、USBやイーサネットが不要な場合は、このチップを無効にしてエネルギーを節約すると非常に便利です。LAN9512データシートは、エネルギーを節約するためのデバイスのいくつかの状態を説明しています-これらのモードは、SUSPEND2、SUSPEND1およびSUSPEND0です。したがって、それは可能だと思われます。

私はすでに部分的な解決策を見つけました:

  • echo 0x0 > /sys/devices/platform/bcm2708_usb/buspowerデバイスを効果的に無効にecho 0x1し、同じファイルで再度起動します。ただし、デバイスが特定の回数停止および起動されると、オペレーティングシステムの次の再起動まで再び起動しません。

LAN9512を無効にして、確実に再起動する方法はありますか?(たぶん、LAN9512を制御するドライバーをリロードできますか?)

動機

ラズベリーパイモデルBがアイドル状態の場合、400 mAを消費します。ストレスがかかったとき、470mA。LAN9512を無効にすると、アイドル時に200mAを消費し、ストレスが260mAになります。

その他

  • LAN9512を無効にするスクリプトを使用して、「buspower」でチップを無効にする機能をテストしました。USBデバイスをマウントして、アクティビティと再起動を確認します。これまで、ラズベリーパイはエラーなしで9222回再起動しました。
  • echo 1 > /sys/devices/platform/bcm2708_usb/bussuspendLAN9512を無効にしますがecho 0、同じファイルに対して行ったときに再び起動することはありません。それを無効にした後、ラズベリーパイは非常に遅くなり、最大4の負荷平均を報告します。

1
単なる好奇心から; 上記のコマンドのいずれかを使用して無効にすると、電力消費は低下しますか?
ゲルベン

2
はい!バスパワーとバスサスペンドの両方のファイルにより、200mAの消費が削減されます。ラズベリーパイがアイドル状態のとき、400 mAを消費します。ストレスがかかったとき、470mA。チップを無効にすると、アイドル時に200mA、ストレス時に260mAを消費します。
aleixrocks

すごくいい。ありがとうございます。申し訳ありませんが、私は助けることができません
ガーベン

好奇心が強い:USBとイーサネットを無効にした場合、ウェイクアップコマンドをどのように送信しますか?cronジョブを使用するか、スリープ状態にしますか?
モシェ・カッツ

私は単純さのために睡眠を好む。デバッグ中に、「echo 0x0> / sys / devices / platform / bcm2708_usb / buspower; sleep 2; echo 0x1> / sys / devices / platform / bcm2708_usb / buspower; sleep 30; reboot」を使用します。したがって、USBが起動しない場合、自動的に再起動します。「スリープ2」は、ハードウェアが反応するための時間を与えるためのものです。
aleixrocks

回答:


7

私自身のいくつかの実験を行った後、私は実験するために以下を行いました:

USBからTTL /マルチメーター経由の5Vのデバッグケーブル。

電源とネットワークのみが接続されたログイン画面での通常の起動は約420〜380Maでした

私は最初に経由/etc/init.d/networking stopでネットワークをオフにしてからチップをオフにしecho 0 > /sys/devices/platform/bcm2708_usb/buspower、実際に〜240Maまで低下しました

また、Googleにpingを送信できませんでした!(どっちがいい)

次に、1をバス電力にエコーし、ネットワーク開始コマンドを実行して、再びオンにしました。そして再び、約370-420maに戻りました。その後、GoogleにPingを実行しました。

次に、これをループするSHファイルに入れて、再起動することなく10回以上続きました。あなたのコマンドでは、再起動コマンドを入力したために何が起こっても、毎回再起動することがわかりました。

テストのコードは、自動リブートコードのUbuntu Pasteにあります。

これは、単に停止および開始するために使用できます。最初の部分を停止コマンドとして、2番目の部分を開始コマンドとして実行できます。

私もこの@ 私のブログの完全な記事を書きました


それはただの問題です。LAN9512は動作を停止するため、遅かれ早かれ、再起動する必要があります。再起動する必要のないソリューションを探しています。(ちょうど再起動する前に、私は手動でスクリプトを殺そうとしたので、私のスクリプトでは、私は、キーボードのみの停止作業している場合、すべての時間を再起動それはキーボードが、私はCtrl + Cの場合でそれをしませ殺すことができる作品、それだけで、再起動。。)
aleixrocks

私が言ったように、ネットワークpingのためにそれぞれが動作する一定のループで、最終的に50回以上テストしました。キーボードを再び接続するだけでいいのでしょうか、USBをリセットする必要があるのでしょうか?他の人が言ったように、それはそれのために設計されていません。ボーナスがあれば。したがって、モデルAの理由の一つ
ライアンWalmsley

私の場合、スクリプトを実行するたびにループは10ループしか続きません。USBを再度接続しようとしましたが、まだ動作しませんでした。なぜこの違いが私のラズベリーパイなのかわからない。誰か他の人が試すことができれば素晴らしいことです。
aleixrocks

3

LAN9512ト​​ラフを無効および有効にする機能:

  • echo 0x0> / sys / devices / platform / bcm2708_usb / buspower(無効)
  • echo 0x1> / sys / devices / platform / bcm2708_usb / buspower(有効)

新しいカーネルでデバッグされており、変更なしで完全に動作しています。それをテストするためのスクリプトをいくつか作成しました。

最初の目的は、ソフトウェア機能を使用して無効化をテストすることです。このスクリプトはLAN9512を無効にし、USBデバイスをマウントしようとします。可能であれば、テストは失敗します。そうでない場合、テストは成功します。最後に再起動して再起動します。スクリプトは4日間実行され、raspbian 2013-9-25で8039の再起動が失敗なしで報告されました。

2番目のスクリプトは、有効化機能をテストするためのものです。まず、スクリプトはLAN9512を無効にします。その後、パイを休ませるために数秒待ちます。次に、LAN9512を有効にし、最後に「lsusb」コマンドを実行しようとします。すべてのUSBデバイスがリストされます。カーネルがすべてのUSBデバイスを認識できる場合、LAN9512は再び動作しています。そうでない場合、テストは失敗しています。テストは1週間にわたって実行されており、raspbian 2013-9-25で7209ループ、raspbian 2014-1-7で5374ループが報告されました。

カーネルとファームウェア

raspbian 2014-1-7の場合:

カーネル:Linux raspberrypi 3.10.25+#622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l GNU / LINUXファームウェア:b00bb3ae73bd2799df0e938b7a5f17f45303fb53(クリーン)(リリース)

Raspbian 2013-9-25の場合

カーネル:Linux raspberrypi 3.6.11+#538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv61 GNU / LINUX firmware:4f9d19896166f46a3255801bc1834561bf092732(clean)(release)


「LAN9512の無効化および有効化の機能は、新しいカーネルでデバッグされました。」あなたが見たどのカーネルとファームウェアが何千ものスリープ/ウェイクサイクルを成功させることを報告できますか?ありがとう!より眠りやすいPiに向けた進歩に興味があります!
タイViinikka 14

1

上記の回答は提供されたときは正しいものでしたが、2015年のある時点で、Raspbianは変更を行い、関心のあるユーザーは関連するコントロールを探す必要がありました。

Off:  echo 0x0 > /sys/devices/platform/soc/20980000.usb/buspower   
 On:  echo 0x1 > /sys/devices/platform/soc/20980000.usb/buspower

ユーザーAdrianに感謝します! https://raspberrypi.stackexchange.com/users/37611/adrian


こんにちはタイ!興味のあるユーザーに参考資料を提供していただけますか?どのラズベリーパイを使用していますか?
aleixrocks
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.