Вимкнути 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.