Показаны сообщения с ярлыком Cubieboard. Показать все сообщения
Показаны сообщения с ярлыком Cubieboard. Показать все сообщения

10.02.2016

DNS Leak

Кто твой первый советник, тёмный лорд?    >>>    DNS Leak Test

Злоумышленник может не просто вычислить тебя по айпишнику и набить морду, но и подменить IP-адрес сайта при твоём запросе к DNS серверу. Поэтому лучше, на всякий случай, спрячем наши запросы.

Для шифрования DNS-трафика будем использовать dnscrypt-proxy. Когда я обращаюсь к более далёким товарищам с вопросом, да ещё и шифрую этот диалог, то чётко понимаю, что скорость снижается. Поэтому очень хочется кэшировать. А dnscrypt-proxy этого, естественно, не делает. Для кэширования DNS-запросов есть выбор: Dnsmasq и Unbound (и ещё плюс всякого, конечно). Первый - комбайн. Берём второй. Unbound ещё и быстр! А кэш у него хранится целиком в памяти. Вот и получается прослойка:

13.04.2015

Фоторамка

Рамка деревянная. Выступает на 15 мм - этого достаточно спрятать толстый экранированный кабель витой пары. Для производства была задействована ленточная пила, шлифовальная машинка, фреза, а углы делались на торцовочной. Яхтный лак, клей. Фоторамка прижилась до ремонта. Отодрать не повредив не возможно ))




23.04.2014

Падает

Уж больно часто падает APT. Лечению не всегда поддаётся. Часто переустанавливаю систему с ноля.
Решил таки проверить память:
apt-get install memtester
top (смотрю FREE)
memtester 620 1
Но проверяется только свободная память. А меня подозрения перерастают в паранойю.

Обновился сильно.

Добавил фильтрацию по питанию (электролиты+ферриты). Монтаж на USB-маме, выдранной со старой системной платы.


Пока полёт нормальный. На недельном аптайме выключился на профилактику кулера блока питания. Перепаял вентилятор на питание 5В. Шума меньше, пыли меньше. Думаю, что БП с 10-ти кратным запасом мощности не нуждается в конкретном потоке воздуха.

Добавил радиаторы на камень и память.



Можно ещё подкрутить частоту памяти Fex_Guide#SDRAM
Но может оказаться не всё так просто (Стабильность работы CB2)
Посмотреть на какой частоте работает память CB2. Вот тут утилита a10-meminfo
Нужно сделать файл исполняемым и запустить в терминале.

И перенос Cubian из NAND на HDD

А ещё Fix random crash !

Железо



Для питания Кубика был выбран завалявшийся компьютерный БП Codegen 300W. Так решился вопрос с питанием SATA HDD. Не покупать же ноутбучный винт! По питанию был сделан дополнительный фильтр и на Кубик наклеил радиаторы. Так получилась не слабо брутальная барсетка.




Картинка из коммента:

22.04.2014

10.04.2014

Dropbox


Тут raspberrypi.org пишут про Drop2PI

Install
apt-get install python-pip
pip install --upgrade setuptools
pip install d2pi
pip install --upgrade d2pi (на будущее)

Ищу куда мы поставились:
find / -name "d2pi" -print
cd /usr/local/lib/python2.7/dist-packages/d2pi
Запускаю несколько раз
python demo.py
Вводим ключи и код, полученный с сайта дропбокса
Конфиг тут: "~/.d2pi/config.yml"
Были изначально косяки. Написал товарищу: soundbbg at gmail
Автор ответил, что подправил коды. Обновился. Всё работает!
crontab -e
@reboot /usr/local/lib/python2.7/dist-packages/d2pi/mw.sh &
По старту системы запускается mw.sh
#!/bin/sh
sleep 300
cd /usr/local/lib/python2.7/dist-packages/d2pi
python mw.py
Суть Питоновского скрипта mw.py:
        from d2pi.watch import watcher
        watcher.auto_download = True
        watcher.can_delete = True
        watcher.can_download = True
        watcher.can_upload = True
        watcher.run()


Но постепенно переползаю на BitTorrent Sync

21.03.2014

3G модем

Временным явлением кубик смотрит в Интернет через ломанный модем: ZTE MF70 unlock

Пакеты для работы с модемом уже есть в Cubieez:
apt-get install usb-modeswitch usb-modeswitch-data
Вставляю модем в USB, убеждаюсь в eth1
dmesg
[   13.13] cdc_ether 1-1.1.1:1.0: eth1: register..........

Правлю IP-адрес
Поднимаю интерфейс:
ifup eth1
И задаю роут:
route delete default
route add default gw 192.168.0.1

По маршрутам почитать: Маршрут по умолчанию

13.03.2014

Webcam

0. Video
На вебках всё реже пишут про совместимость с Linux. Но обязательно указывают все версии Windows. Даже драйверов на диске нет! Какже быть?
Подключаем не_совместимую с Linux USB-вебку и набираем команду убедиться, что она у нас уже есть в системе:

ls /dev/video*




1. mjpg_streamer - ретранслятор


Качай с источника mjpg-streamer-cubie или с моего MyDrive
Может пригодится оригинал mjpg-streamer-r63

Компиляция и запуск:
cd mjpg-streamer
sudo apt-get install libv4l-dev libv4l-0 libjpeg8-dev imagemagick
make USE_LIBV4L2=true clean all
export LD_LIBRARY_PATH=.
./mjpg_streamer -i "./input_uvc.so -f 30 -r 1280x720" -o "./output_http.so  -p 8080 -w ./www"
Ошибка...
ERROR:
Adding control for Pan (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Но работает!!!
http://10.10.10.10:8080
top: CPU 3-5%

А если не работает, то, возможно, камера не поддерживает режим. Тогда в командную строку сходу добавляем "-y". Если не получилось, то смотрим режимы внимательней:
sudo apt-get install uvcdynctrl
uvcdynctrl -f

Автозапуск
Создаём файл /etc/init.d/mjpg_streamkick
#!/bin/sh

### BEGIN INIT INFO
# /etc/init.d/mjpg_streamkick
# Provides:          mjpg_streamer.sh
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: mjpg_streamer for webcam
# Description:       Streams /dev/video0 to http://IP/?action=stream
### END INIT INFO

ld_library_path=/home/user/mjpg-streamer
export LD_LIBRARY_PATH ld_library_path
export LD_LIBRARY_PATH=/home/user/mjpg-streamer

NAME=mjpg_streamer
DESC="M-JPEG Streamer"
DAEMON=/home/user/mjpg-streamer/mjpg_streamer
MJPG_QUALITY=85
MJPG_RESOLUTION=800x600
MJPG_FREQ=10
MJPG_VIDEO_DEVICE="/dev/video0 -y"
MJPG_OUTPUT=/home/user/mjpg-streamer/www
MJPG_OUTPUT_PORT=8080
USER_PASS=rv:rv

f_message(){
        echo "[+] $1"
        echo "      "
}


# Carry out specific functions when asked to by the system
case "$1" in
        start)
                f_message "Starting $DESC..."
                $DAEMON -b -i "input_uvc.so -d $MJPG_VIDEO_DEVICE -f $MJPG_FREQ -r $MJPG_RESOLUTION -q $MJPG_QUALITY " -o "output_http.so -p $MJPG_OUTPUT_PORT -w $MJPG_OUTPUT -c $USER_PASS -n "
                sleep 1
  echo ".."
                sleep 1
                f_message "$NAME Started!"
  /etc/init.d/mjpg_streamkick status
                ;;
        stop)
                f_message "Stopping $DESC..."
                killall mjpg_streamer
                f_message "$NAME Stopped!"
                ;;
        restart)
                f_message "Restarting $DESC..."
                killall $NAME
                f_message "$NAME Killing!"
                $DAEMON -b -i "input_uvc.so -d $MJPG_VIDEO_DEVICE -f $MJPG_FREQ -r $MJPG_RESOLUTION -q $MJPG_QUALITY " -o "output_http.so -p $MJPG_OUTPUT_PORT -w $MJPG_OUTPUT -c $USER_PASS -n "
                sleep 1
  echo ".."
                sleep 1
                f_message "$NAME Restarted!"
  /etc/init.d/mjpg_streamkick status
                ;;
        status)
                pid=`ps -A | grep $NAME | grep -v "grep" | grep -v $NAME. | awk '{print $1}' | head -n 1`
                if [ -n "$pid" ];
                then
                        f_message "$DESC Status:"
                        f_message "$DESC is running with pid ${pid}"
                        f_message "$NAME was started with the following command line"
                        cat /proc/${pid}/cmdline ; echo ""
                else
                        f_message "$DESC Status:"
                        f_message "Could not find $NAME running!"
                fi
                ;;
        *)
                f_message "Usage: $0 {start|stop|status|restart}"
                exit 1
                ;;
esac
exit 0

И... Внедряем
sudo chmod 755 /etc/init.d/mjpg_streamkick
sudo update-rc.d mjpg_streamkick defaults 







2. Motion - детектор движения, юзает на входе поток из ретранслятора.
sudo apt-get install motion

Конфигурация:
/etc/motion/motion.conf
netcam_url http://10.10.10.10:8080/?action=stream
width 1280
height 720
framerate 10
webcam_port 8880
webcam_localhost off
control_port 8881
control_localhost off
locate on                  # рисует рамку по движению
target_dir /tmp/motion     # директория для сохранения снапшотов

sudo motion
top: CPU 101-103%

Ещё почитать:

Несколько камер: http://ubuntuforums.org/showthread.php?t=1897786
Motion, использует дополнительные, спицифичные для каждой камеры, конфиги, подключаемые в основном файле конфигурации:
thread /etc/motion/thread0.conf
thread /etc/motion/thread1.conf
thread /etc/motion/thread2.conf

thread1.conf
videodevice /dev/video1
text_left USBWebcam-1
target_dir /home/motion/images/webcam1
webcam_port 8881




Выход в люди:
Port Forwarding
DynDNS

Скорость сети

Intel® NAS Performance Toolkit

Замеряю самбу в рабочем режиме, т.е. не отключая задания в кроне и не делая твиков.

Cubieboard2 / 2012-09-09 / AllWinner A20 ARM Cortex-A7 Dual-Core (habrahabr.ru)
Cubieez 1.1 (A20) - Debian 7.5 Wheezy with kernel 3.4.79
Barracuda 7200.7 120Gb

samba

/etc/samba/smb.conf

[global]
 workgroup = 7EVEN.NET
 netbios name = cubie
 server string = %h server

;    interfaces = lo, 10.10.10.0/24 eth0
 interfaces = lo, eth0
 bind interfaces only = true

 dos charset = cp688
 unix charset = UTF8

 syslog = 0
 log file = /var/log/samba/log.%m
 max log size = 1000

 dns proxy = No
 panic action = /usr/share/samba/panic-action %d

 security = share
# отключаем принтеры 
 load printers = no 
 show add printer wizard = no 
 printcap name = /dev/null 
 disable spoolss = yes 

# по умолчанию все файлы, начинающиеся с точки будут иметь атрибут "скрытый" 
 hide dot files = yes


[share]
 path = /home/user/sata
 comment = Share
 create mode = 0777
 directory mask = 0777
 available = yes
 browsable = yes
 public = yes
 writable = yes
 printable = no
adduser user
sudo smbpasswd -a user
mkdir -p /home/user/sata
chown -R root:users /home/user/sata
chmod -R 0777 /home/user/sata
/etc/init.d/samba restart

Директива security = share устарела, то конфиг для версии старше 4 меняется следующим образом:
[global]
  workgroup = DEAD.NET
  netbios name = cubieboard2
  server string = Samba Server %v

  dns proxy = no
  log file = /var/log/samba/log.%m
  max log size = 1000
  syslog = 0
  panic action = /usr/share/samba/panic-action %d

  server role = standalone server
  security = user
 # Если пользователь Samba существует в системе и введен неверный пароль, 
 # то вход этого пользователя отклоняется, 
 # если пользователя не существует, 
 # тогда ему присваивается статус гость
  map to guest = Bad Password
  passdb backend = tdbsam
  obey pam restrictions = yes
  unix password sync = yes
  passwd program = /usr/bin/passwd %u
  passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
  pam password change = yes
  usershare allow guests = yes
 # по умолчанию все файлы, начинающиеся с точки будут иметь атрибут "скрытый" 
  hide dot files = yes

 # отключаем принтеры 
  #load printers = no 
  #show add printer wizard = no 
  #printcap name = /dev/null 
  #disable spoolss = yes 

  #  SHARE
    [share]
     comment = Share
     path = /mnt/sata
     public = yes
     writable = yes
     available = yes
     browsable = yes
     guest ok = yes
     create mask = 0777
     directory mask = 0777

12.03.2014

Всё о мониторах сюда

  1. VGA
  2. HDMI
  3. LVDS
  4. DUAL
  5. SSH-X11
  6. VNC
disp_init Configuration from Fex Guide

Подключаю матрицу от ноутбука - LVDS

КДПВ

Попал в руки ноутбук китайский не живой.
Разобрал и достал матрицу LP141X7 B1IB (Drive.Google)

Начитался про LVDS.
По идее дифф-сигналы весьма устойчивы к помехам.
В планах пустить кабель на несколько метров из экранированной витухи.
И далее иду за помощью в сообщество Cubieboard+LVDS [cubieforums.com]





 









Адаптирую под себя

Питание матрицы - 3,3 V
EEPROM - нет

Дифф-сигналы:
Матрица LVDS == Cubieboard  -- Цветовая маркировка пар витухи
5 == 4
6 == 1 Коричневый
8 == 6
9 == 3 Оранжевый
11 == 8
12 == 5 Синий
14 == 10
15 == 7 Зелёный

Данные из даташита для правки script.bin

Horizontal Period = 1344
Horizontal Blanking = 136
Vertical Period = 806
Vertical Blanking = 1...24
Clock freq = 65

Как править script.bin можно почитать здесь: VGA
Сама конфигурация начитывается:

[disp_init]
disp_init_enable = 1 
disp_mode = 0
screen0_output_type = 1
screen0_output_mode = 4

[lcd0_para]
lcd_hbp = 136 # Horizontal Blanking
lcd_ht = 1344 # Horizontal Period
lcd_vbp = 24  # 2*Vertical Blanking
lcd_vt = 1612 # 2*Vertical Period
lcd_dclk_freq = 65 # Clock freq
lcd_x = 1024
lcd_y = 768
lcd_if = 3    # its LVDS
lcd_io_cfg0 = 268435456
lcd_hw_if = 0         # parallel
lcd_lvds_bitwidth = 1 # 18 bit 

Инвертор болтается на отдельной плате со светодиодами индикации.
Распиновку разгребал мультиметром. ШИМ по идее у меня не задействован и в конфиге включать его не обязательно.
1 -- +5V
2 -- +5V
3 -- ШИМ (PWM) ???
4 -- +5V (ENABLE)
5 -- D5
6 -- D4
7 -- D3
8 -- D1
9 -- D2
10 -- GRND

И адаптирую к Кубику:
INV == Cubieboard
  3 == 31
  4 == 37

Получается следующий жгут, длиной метра 3-4:
К блоку питания: 3 провода
К Кубику: 3 провода
К Кубику витухой: 4 пары
Итого две витухи? Одна экранированная...
Можно браться за паяльник :)


Витуха медная:
Коричневая пара - 3,3V
Оранжевая пара - 5V
Зелёная пара - GND
Синяя пара - ENABLE 2 Cubieboard + NC



Экранированная витуха:
Цвет - LVDS - Cubieboard
Коричневый - А0 - 4M1P
Оранжевый - А1 - 6M3P
Синий - А2 - 8M5P
Зелёный - CLK - 10M7P
Белые провода - минус (M) дифференциала


Загружаюсь и возвращаю графику в конфиге, если надо.
Наслаждаюсь )))
ENABLE и PWM не подключал, занимательные артефакты при перезагрузке только радуют!





Далее ещё фотки и редизайн коннектора..............



HDMI

[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 3
screen0_output_mode = 5
screen1_output_type = 3
screen1_output_mode = 5
fb0_width = 1024
fb0_height = 768
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 0

Два монитора

DualMonitorSupport

[disp_init] 
disp_mode = 2 
screen0_output_type = 4 
screen1_output_type = 3 
screen0_output_mode = 11 
screen1_output_mode = 5

SSH - X11


В Cubieez SSH инэйблится из основной конфигурации
X11 не подключился, хотя в /etc/ssh/sshd_config  
"X11Forwarding yes" уже присутствует.
Для графики X11 через дебаг-кабель или SSH в терминале нужно подправить переменную:
export DISPLAY=127.0.0.1:10.0
Именно IP-адрес!!!
Проверка:
env
echo $DISPLAY
xhost +
И при запущенном Xming из терминала запускаем графическое приложение на Windows-дисплей.

Меняю приветствие, редактируя файл:
/etc/motd

03.02.2014

Mount SATA

mount /dev/sda1 /home/user/SATA

Или автоматом при загрузке, тогда правим файл:
/etc/fstab
/dev/sda1 /home/user/sata   auto     defaults    0 0
При этом система сама определит файловую систему. Заморачиваться нет нужды.

Не будет лишним затюнить хард: HDD spin down 

Proxy

/etc/environment
PROXY_ENABLED="yes"
proxy_enabled="yes"
all_proxy=http://10.10.10.10:8080
http_proxy=http://10.10.10.10:8080
https_proxy=http://10.10.10.10:8080
socks_proxy=http://10.10.10.10:1080
ftp_proxy=http://10.10.10.10:2121
ALL_PROXY=http://10.10.10.10:8080
HTTP_PROXY=http://10.10.10.10:8080
HTTPS_PROXY=http://10.10.10.10:8080
SOCKS_PROXY=http://10.10.10.10:1080
FTP_PROXY=http://10.10.10.10:2121

Проверка:
env | grep proxy




/etc/rc.local
all_proxy=http://10.10.10.10:8080
ALL_PROXY="$all_proxy"
export all_proxy ALL_PROXY
export ALL_PROXY ALL_PROXY

http_proxy=http://10.10.10.10:8080
HTTP_PROXY="$http_proxy"
export http_proxy HTTP_PROXY
export HTTP_PROXY HTTP_PROXY

https_proxy=http://10.10.10.10:8080
HTTPS_PROXY="$https_proxy"
export https_proxy HTTPS_PROXY
export HTTPS_PROXY HTTPS_PROXY

socks_proxy=http://10.10.10.10:1080
SOCKS_PROXY="$socks_proxy"
export socks_proxy SOCKS_PROXY
export SOCKS_PROXY SOCKS_PROXY

ftp_proxy=http://10.10.10.10:2121
FTP_PROXY="$ftp_proxy"
export ftp_proxy FTP_PROXY
export FTP_PROXY FTP_PROXY


APT
/etc/apt/apt.conf.d/proxy
Acquire::http::Proxy "http://10.10.10.10:8080";
Acquire::https::Proxy "https://10.10.10.10:8080";
Acquire::socks::Proxy "http://10.10.10.10:1080";
Acquire::ftp::Proxy "http://10.10.10.10:2121";
Acquire::::Proxy "true";



Обратить внимание:
lxproxy
fsproxy



Строго говоря:
iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -p udp -j REDIRECT --to-ports 8080




IP

/etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)

auto lo 
iface lo inet loopback 

############################
# MAIN interface
auto eth0 
allow-hotplug-eth0 
#iface eth0 inet dhcp
iface eth0 inet static
   address 10.10.10.10 
   netmask 255.255.255.0 
   gateway 10.10.10.254
   network 10.10.10.0
   broadcast 10.10.10.255
   dns-nameservers 127.0.0.1

############################
# 3G-modem
auto eth1 
allow-hotplug-eth1 
iface eth1 inet dhcp

############################
# From mobile
auto usb0 
allow-hotplug-usb0
iface usb0 inet dhcp

############################
# route delete default 
# route add default gw 192.168.0.1 
# /etc/init.d/networking restart
# ifdown eth0
# ifup eth0
# For Ubuntu: ifdown --exclude=lo -a && ifup --exclude=lo -a

cubie-config

users: root / cubie
unified password: cubieboard

Если readme не читать, то просто в терминале набирать  cubie-config

1. Expand Filesystem — когда мы разворачивали образ на карту памяти, была создана ФС, использующая часть карты. Этот пункт позволит нам задействовать все доступное место на карте памяти.
3. Enable Boot to Desktop — переключает режимы загрузки в консоль или в иксы. Мне иксы не нужны, поэтому я сразу поменял на загрузку в консоль.
4. Internationalisation Options — позволяет задать локали, клавиатуры и часовой пояс.
Локали выбираем en_US.UTF-8 и ru_RU.UTF-8 (ну или кому какая нужна). По умолчанию можно выбрать любую локаль, но я рекомендую en_US, поскольку в дистрибутиве есть некоторые проблемы с консольными шрифтами — в кирилице корректно отображаются только символы одинакового начертания для латиницы. В общем это не проблема, поскольку работать с системой я буду по SSH, надеюсь и вы тоже.
Временную зону ставим свою. Никаких батареек плата не содержит, поэтому при отключении питания время сбрасывается. Если есть доступ в инет, время автоматически синхронизируется. Не очень хороший расклад, но если повесить кубик на любой бесперебойник, проблемы не будет. В противном случае, необходимо будет контролировать время в программах, для которых это критично.
Клавиатуру имеет смысл настраивать, если работать непосредственно с кубиком, по SSH это не принципиально.



Отсюдава