LAN9512 adalah perangkat perangkat keras yang mengontrol port Ethernet dan USB. Chip ini mengkonsumsi hampir 200mA, dan akan sangat berguna untuk menonaktifkannya untuk menghemat energi ketika saya tidak membutuhkan USB atau Ethernet. Lembar data LAN9512 menjelaskan beberapa kondisi perangkat untuk menghemat energi - mode ini adalah SUSPEND2, SUSPEND1 dan SUSPEND0. Karena itu, hal itu tampaknya mungkin.
Saya sudah menemukan solusi parsial:
echo 0x0 > /sys/devices/platform/bcm2708_usb/buspower
akan secara efektif menonaktifkan perangkat dan membangunkannya lagi denganecho 0x1
file yang sama. Namun, setelah perangkat dihentikan dan mulai beberapa kali, perangkat tidak akan terbangun lagi hingga reboot sistem operasi berikutnya.
Apakah ada metode untuk menonaktifkan LAN9512 dan mulai lagi dengan andal? (Mungkin saya bisa memuat ulang beberapa driver yang mengontrol LAN9512?)
Motivasi
Ketika model raspberry pi B menganggur, ia mengkonsumsi 400 mA. Saat stres, 470mA. Ketika LAN9512 dinonaktifkan, ia mengkonsumsi 200mA saat idle dan 260mA ditekankan.
Lainnya
- Saya telah menguji kemampuan menonaktifkan chip melalui "buspower" dengan menggunakan skrip yang menonaktifkan LAN9512, mencoba memasang perangkat usb untuk memeriksa aktivitas dan mem-boot ulang. Sampai sekarang, pi raspberry telah melakukan reboot 9222 kali tanpa kesalahan.
echo 1 > /sys/devices/platform/bcm2708_usb/bussuspend
Menonaktifkan LAN9512 Tapi tidak akan membangunkannya lagi ketika melakukanecho 0
ke file yang sama. Setelah menonaktifkannya, pi raspberry berjalan sangat lambat melaporkan rata-rata beban hingga 4.
sumber
Jawaban:
Setelah melakukan beberapa eksperimen sendiri, saya melakukan yang berikut untuk bereksperimen:
Kabel USB to TTL / Debug dengan 5V via multimeter.
Boot normal pada layar login hanya dengan daya dan jaringan yang terhubung sekitar 420-380Ma
Saya pertama kali mematikan jaringan melalui
/etc/init.d/networking stop
dan kemudian chip olehecho 0 > /sys/devices/platform/bcm2708_usb/buspower
dan memang turun ke ~ 240MaSaya juga gagal ping ke Google! (Yang mana yang bagus)
Saya kemudian menyalakannya kembali dengan menggema 1 ke kekuatan bus dan menjalankan perintah mulai jaringan. Dan sekali lagi saya kembali ke sekitar 370-420ma. Ping google kemudian bekerja.
Saya kemudian memasukkan ini ke file SH yang di-loop dan itu berlangsung lebih dari 10 kali tanpa perlu di-reboot. Dalam perintah Anda, saya bisa melihatnya mem-boot ulang setiap kali, apa pun yang terjadi karena Anda memasukkan perintah reboot.
Kode untuk tes ini dapat ditemukan @ Ubuntu Paste dari kode reboot otomatis.
Ini kemudian dapat digunakan untuk berhenti dan memulai. Anda bisa melakukan bagian pertama sebagai perintah berhenti dan bagian kedua sebagai perintah mulai.
Saya juga melakukan penulisan penuh pada @ Blog Saya ini
sumber
Fitur menonaktifkan dan mengaktifkan LAN9512 melalui:
Telah di-debug pada kernel yang lebih baru dan sekarang berfungsi dengan sempurna tanpa modifikasi. Saya telah membuat beberapa skrip untuk mengujinya.
Tujuan yang pertama adalah untuk menguji penonaktifan melalui fitur perangkat lunak. Skrip menonaktifkan LAN9512 dan mencoba memasang perangkat USB. Jika bisa, maka tes gagal. Jika tidak, maka tes berhasil. Akhirnya reboot dan mulai lagi. Script telah berjalan selama empat hari dan telah melaporkan 8.039 reboot tanpa kegagalan pada raspbian 2013-9-25.
Skrip kedua dimaksudkan untuk menguji fitur yang diaktifkan. Pertama-tama, skrip menonaktifkan LAN9512. Kemudian tunggu beberapa detik untuk membiarkan pi beristirahat. Selanjutnya ini memungkinkan LAN9512 dan akhirnya mencoba untuk mengeksekusi perintah "lsusb". Ini mencantumkan semua perangkat USB. Jika kernel dapat mengenali semua perangkat USB, maka LAN9512 berfungsi kembali. Jika tidak, tes gagal. Tes telah berjalan selama seminggu dan melaporkan 7209 loop tanpa kesalahan pada raspbian 2013-9-25 dan 5374 loop pada raspbian 2014-1-7.
Kernel dan firmware
Tentang raspbian 2014-1-7:
kernel: Linux raspberrypi 3.10.25+ # 622 PREEMPT Jumat 3 Jan 18:41:00 GMT 2014 armv6l GNU / LINUX firmware: b00bb3ae73bd2799df0e938b7a5f17f45303fb53 (bersih) (rilis)
Pada raspbian 2013-9-25
kernel: Linux raspberrypi 3.6.11+ # 538 PREEMPT Jumat 30 Agustus 20:42:08 BST 2013 armv61 firmware GNU / LINUX: 4f9d19896166f46a3255801bc1834561bf092732 (bersih) (rilis)
sumber
Jawaban di atas benar ketika ditawarkan, tetapi pada suatu waktu di tahun 2015, Raspbian membuat perubahan dan pengguna yang tertarik harus mencari kontrol yang relevan.
Terima kasih saya kepada pengguna Adrian! https://raspberrypi.stackexchange.com/users/37611/adrian
sumber