WiFi на Raspberry Pi Zero W

pi-zero-w-1

После длительного использования нулевой Малинки, вылезла проблема со связью через WiFi. На форумах пишут, что это связано с ПО, в итоге, вместо экономии электричества, получаем не доступную по сети Raspberry Pi.

Как это лечить? Сначала я попробовал использовать внешний “свисток”, Edimax EW-7811Un, но и он отваливался от сети. Для лечения внутреннего чипа нужно отключить управление питанием, в файле /etc/rc.local добавьте строчку:

iwconfig wlan0 power off

Это должно отключить управление питанием чипа и он просто будет работать все время, без (неудачных) переходов в спящий режим. При запуске данной команлы из консоли, управление питанием будет отключено без перезагрузки системы.

С внешним WiFi-адаптером от Edimax все сложнее, нужно создать (если не существует) файл /etc/modprobe.d/8192cu.conf и добавить в него строчку:

options 8192cu rtw_power_mgnt=0 rtw_enusbss=0

Если вы вы выполните нижеописанные команды, то, как минимум, вторая будет с единицей, т.е. для адаптера будет включено управление питанием.

cat /sys/module/8192cu/parameters/rtw_enusbss
cat /sys/module/8192cu/parameters/rtw_power_mgnt

Чтобы настройки вступили в силу, нужно перезагрузить вашу плату.

Также, при использовании внешнего WiFi-адаптера, можно (и нужно) отключать внутренний, для этого добавьте в файл /boot/config.txt следующую строчку:

dtoverlay=disable-wifi

Еще будет полезным отключить IPv6, который наверняка вам не нужен, для этого в файле /etc/sysctl.conf добавьте строчки:

# to disable IPv6 on all interfaces system wide
net.ipv6.conf.all.disable_ipv6 = 1

И вишенка на торте – это скрипт, который проверяет есть ли подключение к сети и пытается её перезапустить:

https://github.com/VBaczynski/WiFi_Check

Поставьте на файл права на исполнение и добавьте его в крон:

chmod 755 /usr/local/bin/WiFi_Check
env EDITOR=nano crontab -e

-- в кроне добавьте запись --
# WiFi check
*/5 * * * * /usr/local/bin/WiFi_Check >/dev/null 2>/dev/null

Надеюсь, это поможет и вам.

P.S.
Все команды выполняются из-под пользователя root, если запускаете из-под обычного пользователя, используйте sudo.


Теги: , , , , , , , ,

FreeBSD 12-CURRENT на PINE A64+ или Raspberry Pi 3

PINE A64

Pine A64+ – 64-битный одноплатный ПК с широкими возможностями. Подробно о характеристиках можно почитать на их сайте. Из того, что мне лично нравится, это наличие отдельного порта для подключения литиевой батареи*, HDMI-выхода**, полноценных USB-портов (хотя и стандарта 2.0), 1Gbps Ethernet, портов для LCD (touch screen) и камеры. К сожалению, плата не очень компактная, но на ней можно построить неплохой медиа-центр, например. Это, конечно, если у вас не суперсовременный телевизор, который все это умеет и сам.

Не так давно я узнал, что на Pine можно установить… FreeBSD. На то время была одна или две сборки, но у меня не получилось их завести, устройство не реагировало при включении. Недавно я решил повторить эксперимент и узнал, почему у меня не получалось раньше.

Читать остальную часть заметки »

Теги: , , , , , , , ,

Делимся вайфаем по проводам (Wireless-to-Wired Router)

В связи с отсутствием проводного подключения к сети  Интернет, понадобилось расшарить Интернет от 3G модема к устройству с Ethernet портом. Для этих целей я выбрал относительно недорогие платы OrangePi Zero(покупал тут). Вначале я выбрал образ с ОС Debian, но собрана она весьма рукожопно и пакеты не обновляются. Чтобы не заморачиваться, взял следующий дистрибутив – Ubuntu Server.

TL;DR
Далее кратко опишу плату, варианты подключения и настройку с нуля.

Читать остальную часть заметки »

Теги: , , , , , , , , , , ,

Rsync и двоеточие

При попытке синхронизировать при помощи rsync каталог или файл, в имени которого содержится двоеточие, можно получить ошибку:

~> rsync -av 2015-07-31_01:32:46/ newdir/
ssh: Could not resolve hostname 2015-07-31_01: hostname nor servname provided, or not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.1]

Все, что находится до двоеточия считается именем или адресом хоста и не резолвится.

Решить проблему можно тремя способами:

— указать полный путь к файлу или каталогу;
— добавить перед файлом или каталогом точку-слеш (./);
— добавить перед файлом или каталогом в одинарных кавычках pwd и слеш (`pwd`/).

~> rsync -av /home/username/2015-07-31_01:32:46/ newdir/
~> rsync -av ./2015-07-31_01:32:46/ newdir/
~> rsync -av `pwd`/2015-07-31_01:32:46/ newdir/

То же самое относится и к scp.


Теги: , , , , , ,

Клонирование дисков

dd if=/dev/ada1 of=/dev/ada2 bs=4096 conv=notrunc,noerror,sync
# очень полезно, если на исходном диске много битых секторов

Много примеров тут.


Теги: ,

Отправка письма из shell

Как отправить письмо с вложением из оболочки UNIX? Есть несколько вариантов, я рассмотрю самые простые, – системными средствами и сторонним ПО.

mail + uuencode

Почти наверняка самый рабочий способ на любой системе.

~> ( echo "body text message" ; echo ; cat file.txt | uuencode file.txt ) | mail -s 'Subject' to@domain.tld

в почтовый ящик придет сообщение в виде:

To: to@domain.tld
Subject: Subject
Message-Id: <20111205165235.0DB932ECAC@dom.tld>
Date: Mon,  5 Dec 2011 16:52:35 +0000 (UTC)
From: sender@domain.tld (sender)

body text message

begin 644 file.txt
M+W-B:6XO;61M9G,@+7,@-#`Y-DT@+6D@,3`R-"`M=R!M>7-Q;#IM>7-Q;"`M
M<"`W-S<@;60P("]M>7-Q;%]T;7`*(R,M+2TM+2TC(PT*26YC;W)R96-T(&EN
...
M;F1E>"YP:'`[(&-D("T[(&QS("UL82`D:2]I;F1E>"YP:'`[(&1O;F4*(R,M
)+2TM+2TC(PH*
`
end

Плюсы: универсальный способ, не требует установки дополнительного ПО

Минусы: не все почтовые клиенты понимают этот формат и письмо возможно придется раскодировывать. Если вы пользуетесь почтой Гугла (GMail) – вам повезло, такой формат он понимает и файл можно будет скачать как обычный прикрепленный файл.

mail + base64
~> cat file.txt | base64 | mail -s 'Subject' to@dom.tld
~> cat file.txt | uuencode -m file.txt | mail -s 'Subj' to@dom.tld

Плюсы: файл в письме отправится

Минусы: письмо наверняка будет не понято почтовым клиентом и вложение будет просто выведено в виде текста, который нужно дополнительно распаковывать. GMail такие письма не понимает.

sendmail
~> ( cat header ; cat ssh.txt | base64 ) | /usr/sbin/sendmail -t
~> ( cat header ; cat ssh.txt | uuencode -m ssh.txt ) | /usr/sbin/sendmail -t
~>
~> ( cat header ; cat ssh.txt | uuencode ssh.txt ) | /usr/sbin/sendmail -t
# это не правильно, но GMail понимает и такой формат

В файл header предварительно внесены необходимые заголовки:

~> cat header
Subject: With attachment
From: me@dom.tld
To: to@domain.tld
Content-Type: text/plain; charset=UTF-8
Content-Disposition: attachment; filename="file.txt"
Content-Transfer-Encoding: base64

Здесь мы явно указываем кодировку файла (UTF-8), имя файла, которое будет показываться в письме (может не совпадать с именем файла, который мы кодируем) и метод кодирования (base64). В третьем примере файл будет закодирован в uuencode, это тоже может вызвать сложности у почтовых клиентов. uuencode –m, в отличие от base64, помечает начало и конец закодированных данных, так же, как и просто uuencode. В первом случае начало данных будет помечено строкой:

begin-base64 644 file.txt

конец:

====

во втором случае:

begin 644 file.txt

конец:

end

Плюсы: письмо понимается большинством почтовых клиентов

Читать остальную часть заметки »

Теги: , , , , , , , , ,

Гиджет

Microsoft Fag Tag vs QR-Code = найдите 10 отличий.

Или только у меня шизофрения мне кажется, что Мелкософт заимствует черпает идеи у КОпетана?


Теги: , , , , , , , ,