Автор Гілка: Skystar2 SuSE  Linux 10.1  (Прочитано 2070 раз)

Відсутній Desper@do

  • Дописувач
  • **
  • дописів: 52
  • Карма: +0/-0
Skystar2 SuSE  Linux 10.1
« : 2006-09-12 08:39:24 »
хто стикався, настроював супутникову карту Скайстар 2 на лінуксі? мається на увазі 3 речі ;)
1. Перегляд ТВ в тому числі і платних каналів. 8-)
2. Супутниковий інтернет (наприклад через супутникового провайдера Satgate (найдешевші умови))
3. Граббінг (використовуючи Skynet).
????

Відсутній Desper@do

  • Дописувач
  • **
  • дописів: 52
  • Карма: +0/-0
Re: Skystar2 SuSE  Linux 10.1
« Відповідей #1 : 2006-09-20 08:21:24 »
так. по крайній мірі із налаштуванням інета я розібрався. чекайте моє власне how-to.

Відсутній UA_Igor

  • Кореспондент
  • ***
  • дописів: 106
  • Карма: +0/-0
Re: Skystar2 SuSE  Linux 10.1
« Відповідей #2 : 2006-09-20 10:02:03 »
Якщо потрібна допомога з намисанням як-це звертайтесь, допоможу.

Відсутній Desperado

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
  • QA
Re: Skystar2 SuSE  Linux 10.1
« Відповідей #3 : 2006-09-25 00:34:16 »
Налаштування Скайстар 2 під Лінукс (Suse Лінукс 10.1.)
Хочу сказати що я довго грався із цим всім поки воно все в мене запрацювало. В мене дома встановлений SUSE Linux 10.1 . Драйвери до Скайстар у ньому уже вбудовані в ядро і їх не потрібно встановлювати, тому для тих щасливих людей що мають цей Лінукс розділ 1 не є необхідним. Також всі налаштування торкаються ядра 2.6. Якщо треба під 2.4 спитайте, я відпишу.
1. Перш за все потрібно додати в /usr/src/linux/.config наступні налаштування:

#
# Digital Video Broadcasting Devices
#
CONFIG_DVB=y
CONFIG_DVB_CORE=m


#
# Supported FlexCopII (B2C2) Adapters
#
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_DVB_B2C2_FLEXCOP_PCI=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
CONFIG_DVB_B2C2_SKYSTAR=m

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_STV0299=m
CONFIG_DVB_MT312=m


Що ж тепер наберем в директорії  cd /usr/src/linux/ && make mrproper && make modules && make modules_install. Модулі готові.
Потрібно всього три з них: -core, stv0299, skystar2. dvb-core необхідно завантажувати із параметром dvb_shutdown_timeout=0. В іншому випадку сигналу ви просто не побачите.
Ось так: modprobe dvb-core dvb_shutdown_timeout=0 dvb_net_debug=1 && modprobe stv0299 && modprobe skystar2. dmesg повинен показати наступне (MAC-адреса повинна бути такою ж як і MAC-адреса на мітці вашої карти):
 
drivers/media/dvb/b2c2/skystar2.c: FlexCopIIB(rev.195) chip found
drivers/media/dvb/b2c2/skystar2.c: the chip has 38 hardware filters
driver_initialize MAC address = 00:d0:d7:0c:d3:1d:34:cf
DVB: registering new adapter (SkyStar2).
DVB: registering frontend 0 (ST STV0299 DVB-S)...

Якщо ви бачите щось подібне у себе то значить драйвери налаштовані успішно.

2. Мережевий інтерфейс.

Якщо у вам встановлена devfs, то вам прийдеться створити відповідні інтерфейси. Краще всього це можна зробити за допомогою скрипта, який пропонує Nuclear Cat http://www.gs.ru/info/si/ss2lin24.html «Інструкція по налаштуванню Скайстар 2 під Лінукс 2.4». Чомусь у драйверах linuxtv-1.1.1.tar.bz2 (http://www.linuxtv.org/downloads/linuxtv-1.1.1.tar.bz2) скрипт так і не підправлений, так що копіюйте його у Nuclear Cat і запускайте ./makedev-dvb.sh (http://carpenter.bofh.ru/texts/sat-ssx/files/makedev-dvb.sh) . Але все-таки я думаю що краще використовувати devfs.


Тепер настає досить важкий і відповідальний момент: вам необіхдно буде налаштувати карту для прийому інформації. Для цього вам знадобиться набір утиліт linuxtv-dvb-apps-1.1.0.tar.bz2 (http://www.linuxtv.org/downloads/linuxtv-dvb-apps-1.1.0.tar.bz2) із того ж сайту Linux TV. (http://www.linuxtv.org/) . Розпаковуємо їх, заходимо в директорію linuxtv-dvb-apps-1.1.0/util/ і набираємо make. Після компіляції, получаться такі от файли:

inuxtv-dvb-apps-1.1.0/utils/av7110_loadkeys/evtest
linuxtv-dvb-apps-1.1.0/utils/av7110_loadkesy/av7110_evtest
linuxtv-dvb-apps-1.1.0/utils/dvbdate/dvbdate
linuxtv-dvb-apps-1.1.0/utils/dvbnet/dvbnet
linuxtv-dvb-apps-1.1.0/utils/dvbtraffic
linuxtv-dvb-apps-1.1.0/utils/scan/dvb-c
linuxtv-dvb-apps-1.1.0/utils/scan/dvb-s
linuxtv-dvb-apps-1.1.0/utils/scan/dvb-t
linuxtv-dvb-apps-1.1.0/utils/szap/czap
linuxtv-dvb-apps-1.1.0/utils/szap/szap
linuxtv-dvb-apps-1.1.0/utils/szap/tzap
копіюємо або в локальний ~/bin, в /usr/local/bin або ще куда-небудь. В цій «забаві» нам потрібно буде всього три утілітки: szap, dvbnet и dvbtraffic.

Тепер нам необхідно розповісти карті про те, з яким транспондером і з яким каналом їй потрібно працювати. В даному випадку я використовую сервіс Satgate, супутник Sirius 2 Nordic Beam:

Частота      12322 Ghz
Поляризація      Вертикальна
Швидкість передачі      27670 Msps
PID       402

Формат файлу, який має в собі опис каналів S-діапазону такий:

Поле       Значення      Опис
Назва каналу\сервісу      -      Якщо є символи, які відрізняються від буквенно-цифрових, то назву треба брати в подвійні лапки.
Частота      GHz      Частота передачі каналу в GHz
Поляризація      v\h      Поляризація: v – вертикальна, h – горизонтальна (відповідно, для кругової h- ліва кругова, v- права кругова)
Diseqc      0\1      Якщо приймаюча головка одна, то «0», якщо більше то «1»
Symbol rate      Msps      Швидкість символьної передачі даних (symbol rate — Mega symbols per rate)
V-PID      Номер      Ідентифікатор пакетів відеопотоку (Video Packet Identificator)
A-PID      Номер      Ідентифікатор Аудіо Пакетів (Audio Packet Identificator)
SID      Номер      Ідентифікатор Сервісу (використовується тільки в цифровому мовленні) для використання ресівером певного сервісу (Service ID)

Відповідно, створюєм файл /etc/channels.conf і робимо в ньому запис:

Satgate:12322:v:0:27670:0:0:0


Пробуємо налаштувати карту на прийом даних: bin/szap -c /etc/channels.conf(http://carpenter.bofh.ru/texts/sat-ssx/files/channels.conf). Якщо все було зроблено правильно то ми побачимо на екрані наступне:

reading channels from file '/etc/channels.conf'
zapping to 1 'Satgate':
sat 1, frequency = 12322 MHz V, symbolrate 27670000, vpid = 0x0000, apid = 0x0000
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
status 01 | signal 9bc4 | snr 7188 | ber 000001fa | unc 00000000 |
status 1f | signal ba7d | snr aa82 | ber 00001d5b | unc 00000000 | FE_HAS_LOCK
Зрозуміло, що якщо сигнал пропав по якійсь причині, наприклад сталось затемнення відбивача, то цю процедуру необхідно повторити.

Залишилось активувати мережевий інтерфейс. Будьте уважні – все залежить від того, який тип фільтрації використовує ваш Інтернет провайдер. Якщо фільтрація пакетів іде по MAC-адресі, то виправляти нічого не потрібно. Якщо фільтрація іде по IP-адресі, то необхідно встановити MAC-адресу карти в потрібне значення. Наприклад виданий провайдером IP-адрес 10.252.155.40, то його необхідно перевести в шістнадцяткову форму: 0A:FC:9B:28 і прибавити ще два нулі: 00:00:0A:FC:9B:28. Інколи правда, провайдер додає спеціальний префікс. Наприклад 02:00:0A:FC:9B:28. Але взагалі-то цю інформацію ви самі можете в нього взнати.

Наприклад мені оператором Satgate призначено адрес 172.16.3.50 – відповідно я його і вводжу.
1.      Налаштовуємо фільтрація по PID, вказаному провайдером (ідентифікатору пакетів) і створюємо мережевий інтерфейс. Наприклад dvbnet -p 402.

linux-x0vn # dvbnet -p 402

DVB Network Interface Manager
Version 1.1.0-TVF (Build Fri Aug 12 14:12:43 2005)
Copyright (C) 2003, TV Files S.p.A

Device: /dev/dvb/adapter0/net0
Status: device dvb0_0 for pid 402 created successfully.

2. Присвоюємо інтерфейсу IP-адресу і MAC-адресу. Тут будьте уважні – якщо ви зробите щось невірно, то tcpdump буде показувати наявність трафіку, але працювати нічого не буде.
ifconfig dvb0_0 172.16.3.50 netmask 255.255.255.255 broadcast 255.255.255.255
ifconfig dvb0_0 hw ether 00:00:0A:FC:9B:28
route add 172.16.3.50 dev dvb0_0
Тепер ifconfig повинен показати щось типу:
linux-x0vn:~ # ifconfig
dvb0_0    Link encap:Ethernet  HWaddr 00:D0:D7:0F:CC:A8
          inet addr:172.16.3.50 Bcast:255.255.255.255  Mask:255.255.255.255
          inet6 addr: fe80::2d0:d7ff:fe0f:cca8/64 Scope:Link
          UP BROADCAST RUNNING NOARP MULTICAST  MTU:4096  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:236 (236.0 b)  TX bytes:0 (0.0 b)
            Base address:0x192

А в таблиці маршрутизації повинна з’явитись наступна строка
Kernel IP routing table
Destination  Gateway Genmask Flags Metric Ref    Use Iface
172.16.3.50  *       255.255.255.255 UH    0  0     0 dvb0_0
212.58.163.130*      255.255.255.255 UH    0  0      0 ppp0
loopback      *    255.0.0.0       U      0    0        0 lo
default 212.58.163.130  0.0.0.0    UG    0   0        0 ppp0
Настав трепетний момент провірки працездатності мережевого інтерфейсу. Варіантів є два. Самий простий:

# tcpdump -ni dvb0_0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on dvb0_0, link-type EN10MB (Ethernet), capture size 96 bytes
21:42:01.020568 IP 217.10.39.84.80 > <GW_IP>88.2909: . 1195548608:1195549945(1337)
      ack 1701755686 win 57491
21:42:01.020584 IP 217.10.39.84.80 > <GW_IP>88.2909: . 1337:2674(1337) ack 1 win
      57491
21:42:01.020586 IP 217.16.19.219.80 > 10.252.246.254.2394: S 3017247152:3017247152(0)
      ack 4146269160 win 5840 <mss 1460>


Другий варіант провірки ще простіший:

linux-x0vn # dvbtraffic
0365    10 p/s     1 kb/s    15 kbit
1029    89 p/s    16 kb/s   134 kbit
1030   166 p/s    30 kb/s   250 kbit
1031   774 p/s   142 kb/s  1164 kbit
1036   312 p/s    57 kb/s   469 kbit
1037   616 p/s   113 kb/s   926 kbit
1038  1035 p/s   190 kb/s  1557 kbit
1039   678 p/s   124 kb/s  1020 kbit
1040    91 p/s    16 kb/s   137 kbit
1042   119 p/s    21 kb/s   180 kbit
1050     1 p/s     0 kb/s     2 kbit
1051  2161 p/s   396 kb/s  3250 kbit
1056     5 p/s     0 kb/s     8 kbit
1057   359 p/s    65 kb/s   540 kbit
1058   961 p/s   176 kb/s  1445 kbit
1059     5 p/s     0 kb/s     8 kbit
1101   244 p/s    44 kb/s   367 kbit
1102   222 p/s    40 kb/s   334 kbit
1103     9 p/s     1 kb/s    14 kbit
1104   166 p/s    30 kb/s   249 kbit
1105    49 p/s     8 kb/s    73 kbit
1109  1095 p/s   201 kb/s  1647 kbit
2000  9177 p/s  1684 kb/s 13802 kbit
-PID--FREQ-----BANDWIDTH-BANDWIDTH-
0365     9 p/s     1 kb/s    14 kbit

Тепер було-би добре скласти все в один скрипт наприклад skystar.sh

!bin/sh

/usr/local/bin/szap -c /etc/channels.conf -n 1 -x
/usr/local/bin/dvbnet -a 0 -p402
 
ifconfig dvb0_0 172.16.1.53 netmask 255.255.255.255 broadcast 255.255.255.255
ifconfig dvb0_0 hw ether 00:D0:D7:0F:CC:AB
route add 172.16.1.53 dev dvb0_0
echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter

Щоб цей скрипт став запускаємим, робимо chmod a+x skystar.sh

3.      Зворотній канал.

Зверніть увагу що у вас вже повинен бути налатований зворотній канал. Особисто я використую GPRS – підключення від стільникового оператора Life:) . В мене воно відповідно працює через інтерфейс ppp0 . Саме налаштування цього інтерфейсу я поки-що не буду описувати.
Також слід зауважити що я не використовую саме OpenVpn підключення, а використувую  Slonax(http://www.onlyslon.org/slonax/).   Остання версія в момент написання 2.00.07

Опис OpenVPN підключення з’явиться, але трошки пізніше.

    4. Маскарадінг.

Відповідно щоб використовувати наші 2 підключення разом, потрібно замаскарадити два мережеві інтерфейси.

В моєму випадку це робиться наступними командами :

modprobe ipt_MASQUERADE
iptables -F; iptables -t nat -F; iptables -t mangle -F
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Ці строки можна сміливо дописати у наш скрипт зверху.

5.      Слонакс.

Далі необіхдно провести налаштування власне слонакса і запустити його.
Приведу свій конфігураційний файл slonax_conf

# SlonAx client configuration file

[NETWORK]
remote_server_ip      212.44.94.246
remote_server_port      3444


[PROXY]
local_proxy_enabled    yes
local_proxy_bind_to      127.0.0.1
local_proxy_port       8080


[SOCKS]
local_socks_enabled    yes
local_socks_bind_to      127.0.0.1
local_socks_port      1080


[PORT_MAPPING]
port_map_bind         127.0.0.1
#port_map            local_port->remote_ip:remote_port
port_map
port_map              110->pop3.mail.ru:110
port_map              6667->wenet.ru:6667

[AUTHENTICATION]
login              ******
password      *******

[SPEED]
# 'speed_auto' Works only with SatGate service.
speed_auto            yes
# All speed in Kbyte/s.
speed_in      32
speed_out      1

[HTTP_SPEC_FLAGS]
http_econom_flags     65535
http_use_prefetch     no

[TRANSPORT]
ptoto_type            udp
mtu                   1400
mru                   1400

[WIN32]
set_ie_proxy          yes
set_loopback          no
safe_mode             no

[DEBUG]
debug_level           5
debug_file            debug.log
    
Дані настройки швидкостей виставлені для швидкості 256 кбіт\с і GPRS – підключення.

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

linux-x0vn:/home # linux-x0vn:/home/lin_dist # ./slnx_client
[2006.09.17 17:21:08] DEBUG Find PORTMAP: 110->pop3.mail.ru:110
[2006.09.17 17:21:08] DEBUG Find PORTMAP: 6667->wenet.ru:6667
[2006.09.17 17:21:08] MARK  F:main: SlonAx v.2.0.7 (beta) 2006 SatGate LLC. All rights reserved.
[2006.09.17 17:21:08] MARK  F:main: v.2_00_07 Build Tue, 29 Aug 2006 16:45:25 +0400 @papa-slon
[2006.09.17 17:21:08] MARK  F:main: Starting standby service...
[2006.09.17 17:21:08] MARK  F:xmit_thread: Created xmit thread....speed_limit =1
[2006.09.17 17:21:08] DEBUG F:service_thread: Im in alive service...
[2006.09.17 17:21:09] MARK  F:try_register: Use magic key=49676  use sess_id=5510011
[2006.09.17 17:21:12] DEBUG F:try_register: Got register reply
[2006.09.17 17:21:12] DEBUG F:try_register: Got test alive packet.
[2006.09.17 17:21:12] DEBUG F:try_register: Success login 'dugjosat' to '212.44.94.246'
[2006.09.17 17:21:12] DEBUG F:try_register: Service info: 212.44.94.246:53482
[2006.09.17 17:21:12] DEBUG F:try_register: Transport parms: IP:172.16.1.53  HWaddr: 00:d0:d7:0f:cc:ab
[2006.09.17 17:21:12] MARK  F:service_thread: got an alive...
[2006.09.17 17:21:12] MARK  F:service_thread: got an alive...
[2006.09.17 17:21:12] MARK  F:main: Starting PROXY service....
[2006.09.17 17:21:12] MARK  F:main: Starting SOCKS service....
[2006.09.17 17:21:12] MARK  F:main: Starting PORTMAP service....
[2006.09.17 17:21:13] MARK  F:service_thread: got an alive...
[2006.09.17 17:21:13] DEBUG F:main: Map to: 110->194.67.23.102:110
[2006.09.17 17:21:18] DEBUG F:main: Map to: 6667->195.210.181.100:6667
[2006.09.17 17:21:18] MARK  F:main: Start HTTP Economizer service...

Хоча я все-таки використовую більш стару версію 2.00.03 і вам поки-що рекомендую так як в момент написання http на порті 8080 не зовсім працював.

© Стражник Руслан . 2006 рік. Всі права захищено.
« Змінено: 2006-09-25 00:38:14 від Desperado »

Praporshic

  • Гість
Re: Skystar2 SuSE  Linux 10.1
« Відповідей #4 : 2006-09-25 18:18:17 »
Сподіваюсь воно вже на docs.linux.org.ua? Йому там саме місце ;)

Відсутній Desperado

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
  • QA
Re: Skystar2 SuSE  Linux 10.1
« Відповідей #5 : 2006-09-25 20:30:36 »
Сподіваюсь воно вже на docs.linux.org.ua? Йому там саме місце ;)
дякую, скоро буде.

Відсутній Desperado

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
  • QA
Re: Skystar2 SuSE  Linux 10.1
« Відповідей #6 : 2006-09-26 12:43:01 »
Сподіваюсь воно вже на docs.linux.org.ua? Йому там саме місце ;)
дякую, скоро буде.
Воно вже там є. Можете додавати коментарі