lleo_kaganov (lleo_kaganov) wrote,
lleo_kaganov
lleo_kaganov

Настроился новый домашний серверок на Bananа BPI-R1

это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2016/03/18.html

Пока я тут поболел каким-то бронхитом и не было сил работать, повозился пару дней с домашним сервером, и наконец он работает.

Вкратце этапы эволюции сервера. 2001 — гостившие Морозовские ставят домашний сервер раздавать всем жителям квартиры интернет. Системный блок Пентиум 200Мгц. Примерно 2003 — появляется новое железо, Семеняка ставит новую FreeBSD. Я проникаю внутрь BSD и делаю всякие скрипты, на которых вешается электроника к COM-порту. Железо апгрейдится пару раз, последняя материнская плата появляется в 2010 (спасибо Артему), это мощный Пентиум, он уже имеет четкую концепцию:



Организационно сервер был выставлен в коридор за дверь, потому что в квартире он шумел. В 2011 году стали появляться идеи избавляться от сервера в пользу чего-то более компактного. По итогам обсуждений в блоге было решено остановиться на Asus N16:

И до весны 2016 он исправно работал, хотя мощности не хватало: тормозил дисковый архив (кино в хорошем качестве смотреть было нельзя), между нажатием кнопки звонка и звуком из колонок проходила пара секунд, а DD-WRT не давала поставить все пакеты, какие бы хотелось. Зато сервер был бесшумный, тоже держал этот сайт (на него даже движок встал без особых проблем) и выполнял работу роутера WiFi, позволив отказаться от лишней коробки. В коридоре стало чище:

Наконец сегодня (спасибо за помощь Serge и Кириллу!) была настроена Bananapi BPI-R1. Коридор стал совсем компактным, убрался внутрь дисковый архив, мощностей теперь хватает на все эксперименты, а практически чистый Debian позволяет ставить любой софт без ограничений. Коричневая дощечка временная, когда определюсь с блоком питания, внутренним аккумулятором (на Banana) пойму, нужен ли маленький дисплей, решу, куда ставить некоторые внутренности, и пойму, ставить GSM-модуль и электронику туда же или рядом, то соберу корпус из красивого дерева.

Дай Бог каждому!

Поскольку на Bananapi запаяно помимо портов GPIO вообще всё мыслимое железо, включая ИК-порт и микрофон, я вчера успел накидать скрипт, который распознает голос — принимает команду поставить будильник на нужное время. В принципе работает (использовал речевые технологии Яндекса), но что-то напутал в алгоритме определения минут-часов, поэтому не все формы фраз пока понимает, завтра поправлю. Еще на пару часиков сваял плеер — веб-интерфейс позволяет серфить по бесконечным папкам всего домашнего архива mp3 (а это на минуточку 200 гигабайт) и играть хоть во внутренние колонки, хоть в наружные на лестницу, хоть в браузере. Оказалась такая милая игрушка!


PS: А напоследок сегодняшний прикол.

sudo mv linux-developers /dev/hell
pan-setup --fire=on --firepower=200% /dev/hell

Как это принято у пидарасов случается в мире, родные драйвера WiFi для роутера Bananapi BPI-R1 глючат — теряют сеть:

/var/log/sdaemon.log

Mar 18 09:31:56 banana kernel: [68540.652527] usbcore: deregistering interface driver rtl8192cu
...
Mar 18 09:33:53 banana hostapd: wlan0: STA 3c:43:8e:75:b9:c3 IEEE 802.11: associated
Mar 18 09:33:53 banana hostapd: wlan0: STA 3c:43:8e:75:b9:c3 RADIUS: starting accounting session 56EBA12C-00000001
Mar 18 09:33:53 banana hostapd: wlan0: STA 3c:43:8e:75:b9:c3 WPA: pairwise key handshake completed (RSN)
Mar 18 09:34:23 banana hostapd: wlan0: STA 3c:43:8e:75:b9:c3 IEEE 802.11: disassociated

Полез гуглить документации и прочее, нашел рекомендацию пересобрать драйвер WiFI-карты RTL. Собственно, я пытался это делать и ранее, но мне не удалось. Сейчас нашел совсем адову инструкцию на китайском, полез выполнять. Ну, компиляция софта под Линуксы у меня вообще обычно никогда не получается, это я не удивлен. Не получилась и тут. Выдало ошибку:

Makefile:567: /usr/src/linux-headers-3.4.108-bananian/arch/armv7l/Makefile: Нет такого файла или каталога

Обычно на этом я опускаю руки, но тут полез посмотреть. Файл есть:

/usr/src/linux-headers-3.4.108-bananian/arch/armv71/Makefile

Но инсталлятор пишет, что его нет:

/usr/src/linux-headers-3.4.108-bananian/arch/armv7l/Makefile

Вы уже заметили разницу? ;)))

Правильное написание «armv7l» — такое название ветки ядра встречается в интернете. Поэтому разработчики драйвера Realtek видимо обращаются по правильному адресу. А вот сборщики системы Bananian явно не понимают различие иероглифов «l» и «1» — это для них видимо один и тот же иероглиф «одиноко растущее дерево без ветвей». Поскольку «armv71» все равно в системе был симлинком с «arm», я просто создал новый симлинк:

ln -s /usr/src/linux-headers-3.4.108-bananian/arch/arm /usr/src/linux-headers-3.4.108-bananian/arch/armv7l

И компиляция сработала без ошибок. WiFi с этим новым драйвером пока держится, будет ли падать — не знаю, поглядим.



это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2016/03/18.html
Tags: домашний сервер, программирование, сделай сам, электроника
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments