środa, 8 lutego 2017

CAT + SignaLinkUSB + IC-718 + Kali Linux - cz. 2

Zgodnie z obietnicą z ostatniego spotkania pokażę Wam w jaki sposób skonfigurować CAT kontroler na układzie pl2303 (taki akurat miałem pod ręką) w systemie Kali Linux i CQRLOG-iem.



Na wstępie chcę powiedzieć, że dystrybucja Kali Linux oparta jest na dystrybucji Debian. Kali Linux z założenia jest dystrybucją służącą do testów penetracyjnych, łamania zabezpieczeń, wykonywania audytów bezpieczeństwa i jest następcą popularnej dystrybucji BackTrack znanej chyba wszystkim specjalistom parającym się bezpieczeństwem systemów komputerowych i nie tylko im:). Podczas instalacji tego systemu nie napotkałem się z problemami z jakimi początkujący adept sztuki linuksowej by sobie nie poradził. Po instalacji logujemy się bezpośrednio do systemu na koncie root-a, zakładamy konto zwykłego usera za pomocą odpowiedniej komendy podając hasło do konta. Nie będę się rozpisywał jak to zrobić ponieważ w sieci jest wiele poradników na ten temat typu how-too  itp. Oczywiste sprawy konfiguracji i dostrajania systemu do swoich potrzeb pominę ponieważ w sieci jest wielu grafomanów którzy tak jak ja mają światu coś do opowiedzenia w kwestiach dotyczących systemu linux i nie tylko. Skupię się bardziej na aspektach dotyczących sposobu konfiguracji naszego CAT-a, modemu dźwiękowego oraz oprogramowania które by to wszystko obsłużyło. A więc do dzieła! Odpalamy konsole systemu linux i sprawdzany za pomocą komend tekstowych jakie mamy urządzenia typu USB w naszym komputerze. Po wydaniu polecenia lsusb mój komputer wygenerował następująca odpowiedź:

sq4fks@kali:~$ sudo lsusb
[sudo] hasło użytkownika sq4fks:
Bus 002 Device 004: ID 05c6:9205 Qualcomm, Inc. Gobi 2000
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 006: ID 17ef:4816 Lenovo Integrated Webcam
Bus 001 Device 005: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 001 Device 004: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
Bus 001 Device 009: ID 3938:1032 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Jak widzimy wypluł jakiś bełkot i tyle:). Ale nie przejmujcie się tym, na początku użytkowania linuksa większość komunikatów będzie niezrozumiała. Tłumacząc ten bełkot na język ludzki linux komunikuje że wykrył modem GOBI 2000, potem haba usb, kamerkę internetową, czytnik linii papilarnych itp. Wpisując w google poszczególne linie dostaniemy bardziej szczegółowe informacje. Teraz do portu USB podłączam nasz interfejs CAT i wydajemy ponownie to samo polecenie:

sq4fks@kali:~$ sudo lsusb
Bus 002 Device 004: ID 05c6:9205 Qualcomm, Inc. Gobi 2000
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 006: ID 17ef:4816 Lenovo Integrated Webcam
Bus 001 Device 005: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 001 Device 004: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
Bus 001 Device 011: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 009: ID 3938:1032 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I co? Widzimy zmianę, doszła nam jeszcze jedna linia z opisem układu na jakim mamy zrobionego CAT-a oraz informację, że komputer wykrył nasz czarodziejski kabelek. Wszystko jest ok, ale pod jakim nr portu skrył się nasz interfejs? Musimy się tego dowiedzieć żebyśmy mogli potem wpisać nr portu do pliku konfiguracyjnego naszego programu np. do logowania łączności, lub zarządzania radiem przez komputer, albo do automatycznej korekcji efektu Dopplera podczas pracy przez sieć satelitów amatorskich.
Aby się tego dowiedzieć musimy wydać kolejne polecenia w konsoli systemu linux:

 sq4fks@kali:~$ sudo dmesg | grep pl2303
[ 6543.540694] usbcore: registered new interface driver pl2303
[ 6543.540716] usbserial: USB Serial support registered for pl2303
[ 6543.540795] pl2303 1-1.2:1.0: pl2303 converter detected
[ 6543.543250] usb 1-1.2: pl2303 converter now attached to ttyUSB3

W odpowiedzi na wydane polecenie system poinformował nas, że nasz czarodziejski kabelek CAT został przypisany w systemie jako port ttyUSB3. Zaznaczam, że u każdego z Was odpowiedź może być całkiem inna. Ponadto miałem sytuację, że system prawidłowo rozpoznał interfejs, ale nie chciał współpracować z radiem. Takie są uroki tanich interfejsów na USB.
Nadszedł czas abyśmy w systemie zainstalowali oprogramowanie które będzie wykorzystywało dobrodziejstwa naszego interfejsu CAT. Ja osobiście do logowania łączności, używam CQRLOG-a. Więc zaczynamy wydając w konsoli zespół komend, a mianowicie:

1. sudo apt-get update
2. sudo apt-get install cqrlog

Po odświeżeniu bazy repozytoriów, ściągnięciu i zainstalowaniu naszego CQRLOG-a przystępujemy do jego konfiguracji o której nie będę się rozpisywał, a skupie się wyłącznie na aspektach zmuszenia naszego międzymordzia do współpracy z komputerem i radiostacją.
Mając już zainstalowany program mamy prawdopodobnie zainstalowane zależności i dodatki, biblioteki niezbędne do pracy naszego programu, a mianowicie bibliotekę hamlib do obsługi trx-ów za pomocą interfejsów szeregowych.
Przed wykonaniem kroków opisany niżej należy dodać naszego usera do grupy dialout za pomocą takiego polecenia:

sq4fks@kali:~$ sudo usermod -G dialout root sq4fks
Proponuję teraz podłączyć nasz interfejs z komputerem (jeżeli jeszcze nie jest podłączony) i trx-em włączyć go i odpowiednio w zależności od posiadanej radiostacji w menu ustawić prędkość pracy interfejsu CAT na 9600 oraz aktywować obsługę interfejsu CAT. Tutaj musimy być pewni na 100%, że radiostacja jest poprawnie skonfigurowana do współpracy z interfejsem CAT. Jeżeli nie wiemy jak to zrobić należ zgłębić instrukcje obsługi radiostacji, lub zapytać kolegów. Na forach dla krótkofalowców i nie tylko znajdziecie naprawdę dużo użytecznych informacji na ten temat. Mając już skonfigurowane radio, zainstalowany program, poprawnie wykryty interfejs w systemie linux przystępujemy do testowania połączenie przed ostateczną konfiguracją CQRLOG-a. Tak jak wcześniej w konsoli systemu linux wydajemy następujące polecenia:

  sq4fks@kali:~$ rigctl -l | grep 718
  313  Icom                   IC-718                  0.7.1           Beta
 
Za pomocą tego polecenia znajdziemy numer jaki jest przypisany do naszej radiostacji. Ja używam IC-718 więc wpisałem 718 za poleceniem grep. Jeżeli ktoś ma ft-817 to wpisze 817 i tak analogicznie 847, 857 itp. W razie problemów proszę o kontakt mailowy w tej sprawie. Po wydaniu polecenia widzimy odpowiedź programu rigctl na zapytanie o numer 718. Otrzymaliśmy informację zwrotną w postaci nr przypisania czyli 313, model radia jaki kryje się pod tym numerem (icom 718) i wersję sterownika radia tutaj 0.7.1 beta.
Mając już praktycznie wszystkie dane tj. numer portu ttyUSB3, prędkość interfejsu 9600, numer 313 pod jakim zapisano parametry do sterowania naszym trx-em możemy ręcznie połączyć się z naszym trx-em za pomocą programu grig (jeżeli w systemie nie ma zainstalowanego grig-a to nalezy go zainstalować komendą sudo apt-get update i sudo apt-get install grig) :

sq4fks@kali:~$ grig -m 313 -r /dev/ttyUSB3 -s 9600

Pisząc krótko, wydając to polecenie uruchamiamy program grig z parametrami, a mianowicie podajemy model radia poprzez wpisanie jego numeru -m 313, podajemy interfejs pod którym funkcjonuje nasz CAT o -r /dev/ttyUSB3 raz prędkość transmisji tj. -s 9600 (więcej o parametrach i programie możemy poczytać wydając w konsoli polecenie man grig). Po wydaniu tego polecenia oczom naszym powinien pojawić się program w wersji graficznej do zarządzania trx-em, a w konsoli w której wydaliśmy polecenie powinniśmy zobaczyć komunikaty przesyłane pomiędzy trx-em a, programem grig tak ja na rysunku poniżej

Jak widzimy temat "zagadał". Mamy połączenie komputera z radiem, urządzenia wymieniają się informacjami, pełen sukces :).  Teraz zajmiemy się konfiguracją CQRLOG-a aby współpracował z naszym trx-em:)
Otwieramy zakładkę Preferences, a w niej zakładkę TRX control i uzupełniamy zgodnie z poniższym slajdem, nr portu prędkość nazwę radia itp. Ustawienia przedstawione poniżej są przeznaczone dla Icoma IC-718.


Po zamknięciu zakładek i ponownym uruchomieniu aplikacji CQRLOG powinniśmy mieć w pełni funkcjonalny program z możliwością sterowania trx-em z programu CQRLOG tak jak na slajdzie pokazanym niżej.



W tej części to już by było na tyle. W następnej chce zamieścić opis konfiguracji programów do emisji cyfrowych FLDIGI i WSJTX i ich współpracy z CQRLOG-iem oraz sposób konfiguracji SygnalinkUSB w linuksie. Pozdrawiam Tomek SQ4FKS