Вимкнути LAN9512


35

LAN9512 - апаратний пристрій, який управляє портами Ethernet та USB. Цей чіп споживає майже 200 мА, і буде дуже корисно відключити його для економії енергії, коли мені не потрібен USB або Ethernet. Таблиця даних LAN9512 пояснює деякі стани пристрою для економії енергії - такими режимами є SUSPEND2, SUSPEND1 та SUSPEND0. Тому, здається, це можливо.

Я вже знайшов часткове рішення:

  • echo 0x0 > /sys/devices/platform/bcm2708_usb/buspowerефективно відключить пристрій і знову його прокине echo 0x1до того ж файлу. Однак після того, як пристрій було зупинено і запущено певну кількість разів, воно не прокинеться до наступного перезавантаження операційної системи.

Чи є спосіб відключити LAN9512 і запустити його знову надійно? (Можливо, я можу перезавантажити якийсь драйвер, який управляє LAN9512?)

Мотивація

Коли малинова пі-модель B простоїть, вона споживає 400 мА. Коли це підкреслено, 470mA. Коли LAN9512 відключений, він споживає 200 мА на холостому ході та напруга 260 мА.

Інші

  • Я перевірив справність відключення чіпа через "buspower", використовуючи скрипт, який відключає LAN9512, намагається встановити usb-пристрій для перевірки на активність та перезавантаження. Досі малиновий пі перезавантажувався 9222 рази без помилок.
  • echo 1 > /sys/devices/platform/bcm2708_usb/bussuspendВимикає LAN9512 Але не буде його знову прокидатися під час роботи echo 0з тим самим файлом. Після відключення його малиновий пі надзвичайно повільно повідомляє про середню навантаження до 4.

1
Тільки з цікавості; Чи зменшується споживання електроенергії при її відключенні, використовуючи одну з перерахованих вище команд?
Гербен

2
Так! Файли з шиною і шиною, зменшуючи споживання 200mA. Коли малиновий пі простоює, він споживає 400 мА. Коли це підкреслено, 470mA. Якщо чіп відключений, він споживає 200 мА на холостому ході та напругою 260 мА.
aleixrocks

Дійсно приємно. Дякую. До жаль , я не можу допомогти , хоча
Гербена

Просто цікаво: якщо ви відключили USB та Ethernet, як ви надішліть команду пробудження? З роботою на кроні чи після сну?
Моше Кац

Я віддаю перевагу сну для простоти. Під час налагодження я використовую "echo 0x0> / sys / devices / platform / bcm2708_usb / buspower; sleep 2; echo 0x1> / sys / devices / platform / bcm2708_usb / buspower; сон 30; перезавантаження". Таким чином, якщо USB не прокинеться, він автоматично перезапуститься. "сон 2" - це просто дати деякий час апаратним засобам на реакцію.
aleixrocks

Відповіді:


7

Після власних експериментів я зробив наступне для експерименту:

Кабель від USB до TTL / налагодження з 5 В через мультиметр.

Нормальне завантаження на екрані входу з лише підключеним живленням та мережею становило близько 420-380Ма

Я спочатку вимкнув мережу через, /etc/init.d/networking stopа потім чіп echo 0 > /sys/devices/platform/bcm2708_usb/buspowerі, дійсно, він знизився до ~ 240Ма

Я також міг невдало пінг Google! (Що добре)

Потім я знову ввімкнув його, повторивши 1 на потужність шини та запустивши команду запуску мережі. І я знову повернувся до 370-420м. Пінгінг Google тоді працював.

Потім я помістив це у файл SH, який циклічно працює, і він тривав більше 10 разів, не потребуючи перезавантаження. У вашій команді я міг бачити її перезавантаження кожного разу, незалежно від того, через що ви додаєте команду перезавантаження.

Код тесту можна знайти @ Ubuntu Paste коду автоматичного перезавантаження.

Потім це можна просто використовувати для зупинки та запуску. Першу частину ви можете виконати як команду зупинки, а другу частину як команду запуску.

Я також повністю написав цей @ Мій блог


Ось тільки проблема. Рано чи пізно вам потрібно перезавантажити, оскільки LAN9512 перестає працювати. Я шукаю рішення, яке не потрібно перезавантажувати. (На моєму сценарії я перезавантажувався кожен раз, тільки якщо клавіатура перестала працювати, тому що безпосередньо перед перезавантаженням я намагався вбити сценарій вручну. Це клавіатура працює, я можу її вбити за допомогою ctrl + c. Якщо ні, то просто перезавантажте)
aleixrocks

Як я вже говорив, я перевірив його більш ніж 50 разів, зрештою, в постійному циклі, кожен з яких працював за мережевим пінг. Можливо, клавіатура просто потребує підключення знову або USB потребує скидання? Як і інші казали, що це не для цього. Якщо він може свій бонус. Звідси одна з причин моделі A
Райан Уолмслі

У моєму випадку воно триває не більше 10 циклів, коли я виконував ваш сценарій. Я спробував знову підключити USB, і досі не працював. Не знаю, чому ця різниця, можливо, є моїм малиновим пі. Було б смачно, якби хтось інший більше міг спробувати.
aleixrocks

3

Особливість відключення та включення LAN9512 через:

  • echo 0x0> / sys / пристрої / платформа / bcm2708_usb / buspower (відключити)
  • echo 0x1> / sys / пристрої / платформа / bcm2708_usb / buspower (увімкнути)

Налагоджено на нових ядрах і зараз працює без змін. Я зробив пару сценаріїв, щоб перевірити його.

Мета першої - перевірити відключення через функцію програмного забезпечення. Сценарій відключає LAN9512 і намагається встановити USB-пристрій. Якщо це можливо, тест не вдасться. Якщо ні, то тест вдався. Нарешті перезавантажте і почніть знову. Сценарій працює впродовж чотирьох днів і повідомив про 8039 перезавантажень без збоїв у програмі Rasbian 2013-9-25.

Другий скрипт призначений для перевірки можливості включення. Перш за все, сценарій відключає LAN9512. Потім зачекає кілька секунд, щоб пі відпочити. Далі вмикається LAN9512 і, нарешті, він намагається виконати команду "lsusb". У ньому перераховані всі USB-пристрої. Якщо ядро ​​може розпізнати всі USB-пристрої, то LAN9512 знову працює. Якщо ні, тест не вдався. Тест тривав протягом тижня і повідомив про 7209 циклів без помилок на raspbian 2013-9-25 та 5374 циклів на raspbian 2014-1-7.

Ядра та прошивки

У розп’яні 2014-1-7:

ядро: Linux raspberrypi 3.10.25+ # 622 PREEMPT Пт 3 січня 18:41:00 GMT 2014 armv6l Прошивка GNU / LINUX: b00bb3ae73bd2799df0e938b7a5f17f45303fb53 (чисто) (реліз)

На распбіан 2013-9-25

ядро: Linux raspberrypi 3.6.11+ # 538 PREEMPT Пт 30 серпня 20:42:08 BST 2013 armv61 GNU / LINUX прошивка: 4f9d19896166f46a3255801bc1834561bf092732 (чисто) (реліз)


"Особливість відключення та включення LAN9512 була налагоджена на нових ядрах." Чи можете ви повідомити, яке ядро ​​та прошивку ви бачили, що дозволяють тисячам успішних циклів сну / неспання? Спасибі! Я зацікавлений у просуванні до більш спокійного Пі!
Tai Viinikka

1

Ці відповіді вище були правильними, коли їх запропонували, але через деякий час у 2015 році Raspbian вніс зміни, і зацікавлені користувачі повинні були шукати відповідні елементи контролю.

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

Дякую користувачеві Адріану! https://raspberrypi.stackexchange.com/users/37611/adrian


Привіт Тай! Чи можете ви надати якісь довідки для зацікавлених користувачів? Який малиновий пі ви використовуєте?
aleixrocks
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.