(DIR) Josip Tišljar Mataušić (9A3SFZ)
       Objavljeno: 2025-08-14
       
       Nedavno sam uspostavio udaljeni primopredajnik u Krapini kako bih
       izbjegao QRM u Samoboru. Za primopredajnik sam htio nešto bazično,
       bez prevelikih ulaganja, drugim riječima jeftino.
       
       Quansheng UV-K5 se činio kao idealna opcija za početak. To je ručna
       radio stanica za 2m/70cm za koju su ljudi napravili brojne firmware.
       Svaki firmware donosi druga unaprjeđenja u odnosu na tvorničke
       mogućnosti. Vjerojatno najpopularniji Egzumer[1]ov firmware
       omogućuje: bolji AM prijem, brže skeniranje, itd. Čak je moguće
       napraviti hardwarske modifikacije[2] za primanje SSB-a na kratkom
       valu, ali o tome neki drugi put.
       
 (HTM) 1: https://github.com/egzumer/uv-k5-firmware-custom
 (HTM) 2: https://www.aliexpress.com/item/1005006963736709.html
       
       U moru različitih firmwarea našao se i jedan[3] koji radi upravo ono
       što je meni bilo potrebno, omogućuje kontrolu Quanshengs pomoću UART
       veze s računalom. Nakon flashanja firmwarea odmah sam moga
       kontrolirati stanicu s programom[4] za računalo. No za upotrebu na
       daljinu nije dovoljno moći kontrolirati stanicu, također moram
       spojiti zvučni ulaz i izlaz iz Quanshenga u zvučnu karticu. Obični
       kabel za programiranje kanala ima dovoljno žica samo za serijsku
       komunikaciju tako da sam morao napraviti vlastiti kabel s dodanim
       izvodima za zvuk. Uzeo sam konektore iz tvorničkog kabela i zalemio
       dodatne žice za zvuk prema ilustraciji[5] na stranici firmwarea.
       
 (HTM) 3: https://github.com/nicsure/quansheng-dock-fw
 (HTM) 4: https://github.com/nicsure/QuanshengDock
 (HTM) 5: https://raw.githubusercontent.com/nicsure/QuanshengDock/master/WiringMod2.png
       
       
       
       Napajanje
       
       Do sada je sve bilo sumnjivo jednostavno, no došlo je vrijeme da
       Quanshenga odnesem u Krapinu. Prvo pitanje koje sam postavio bilo je
       kako ga napajati. Mislio sam da će biti dovoljno cijelo vrijeme
       držati ga u bazi koja će puniti bateriju. Bio sam u pravu, baterija
       je stalno puna, no nisam računao da baza proizvodi smetnje na cijelom
       kratkovalnom području. Već imam u planu dodavanje kratkovalnog
       prijemnika na istu lokaciju s toga ću morati zamijeniti bazu nekim
       kvalitetnijim napajanjem. Planiram napraviti DC ispravljač koji nije
       svičerski i njime napajati Quanshenga direktno bez baterije. Time ću
       se osloboditi brige od zapaljenja baterije, ali i, još važnije,
       riješiti smetnji na kratkom valu.
       
       
       
       Pokretanje Windows programa na Linuxu
       
       Sljedeći problem je što računalo u Krapini pokreće Linux, a Quansheng
       Dock podržava samo Windows. Umjesto da se predam i samo instaliram
       Windowse, odlučio sam natjerati Quansheng Dock da radi na Fedora
       Linuxu[6].
       
 (HTM) 6: https://fedoraproject.org
       
       Za početak instalirao sam Wine[7].
       
 (HTM) 7: https://gitlab.winehq.org/wine/wine/-/wikis/Download
       
       sudo dnf install wine winetricks
       
       Wine omogućuje pokretanje .exe programa na Linuxu, no Quansheng Dock
       zahtjeva i .NET 6 pa sam i njega instalirao:
       
       winetricks dotnetdesktop6
       
       Imam starije računalo tako da sam bio nagrađen s još jednom komandom
       koju sam morao pokrenuti da bi se program pravilno renderirao. Ako
       imate nešto novije računalo nego ja (Pentium G2010) možete probati
       preskočiti sljedeću komandu:
       
       winetricks -q ddr=gdi
       
       Sada još samo moram proslijediti serijski port iz Linuxa u Wine:
       
       ln -s /dev/ttyUSB0 ~/.wine/dotdevices/com2
       
       Konačno došlo je vrijeme da pokrenem program:
       
       env -u DOTNET_ROOT -u DOTNET_ROOT_X64 WINE_NO_XVIDMODE=1 wine
       QuanshengDock.exe
       
       Time sam uspješno pokrenu Quansheng Dock na Linux računalu, bez
       obzira što program postoji samo za Windowse.
       
       
       
       XRDP - RDP server
       
       Udaljeno upravljanje vršit ću pomoću RDP[8] protokola. Jedan od RDP
       servera za Linux je XRDP[9].
       
 (HTM) 8: https://en.wikipedia.org/wiki/Remote_Desktop_Protocol
 (HTM) 9: https://github.com/neutrinolabs/xrdp
       
       sudo dnf install xrdp xorgxrdp-glamor
       
       U nastavku su izmjene koje sam napravio u konfiguraciji XRDP-a da
       omogućim hrvatsku tipkovnicu. Prvo sam u datoteku
       /etc/xrdp/xrdp_keyborard.ini dodao sljedeće:
       
       ...
       rdp_layout_hr=0x0000041A
       [default_layouts_map]
       ...
       rdp_layout_hr=hr
       [rdp_layouts_map_mac]
       ...
       rdp_layout_hr=hr
       
       U direktorij /etc/xrdp stavio sam km-0000041a.ini[10] datoteku.
       
 (TXT) 10: /km-0000041a.ini
       
       Nakon toga napravio sam datoteku /etc/xrdp/startwm.sh i odkomentirao
       XFCE. Ako koristite drugi desktop environment odkomentirajte njega:
       
       #!/bin/sh
       /usr/bin/alsactl init
       # Set ALSA Mixer configuration
       # Inputs
       /usr/bin/amixer -c 0 sset 'Input Source' 'Line'
       /usr/bin/amixer -c 0 sset 'Capture' 35% # 0dB
       # Outputs
       /usr/bin/amixer -c 0 sset 'Master' 100% unmute
       /usr/bin/amixer -c 0 sset 'PCM' 100%
       /usr/bin/amixer -c 0 sset 'Line' 74% unmute # 0dB
       /usr/bin/amixer -c 0 sset 'Line Boost' 0%
       # Connect Audio I/O
       (sleep 5; /usr/bin/pw-link alsa-internal-capture xrdp-sink)&
       (sleep 5; /usr/bin/pw-link xrdp-source alsa-internal-pcm)&
       # DO NOT USE dbus-launch, it messes with the keyboar layout
       # GNOME
       # /usr/bin/gnome-session
       # GNOME Classic
       # env GNOME_SHELL_SESSION_MODE=classic /usr/bin/gnome-session
       # KDE
       # /usr/bin/startplasma-wayland
       # Cinnamon
       # /usr/bin/cinnamon-session
       # MATE
       # /usr/bin/mate-session
       # Xfce
       /usr/bin/startxfce4
       # LXDE
       # /usr/bin/startlxde
       # LXQt
       # /usr/bin/startlxqt
       # Budgie
       # env GNOME_SHELL_SESSION_MODE=Budgie:GNOME /usr/bin/budgie-desktop
       # Sugar
       # /usr/bin/sugar
       
       Istu sam datoteku učinio pokretljivom:
       
       sudo chmod +x /etc/xrdp/startwm.sh
       > Napomena: slobodno uklonite prvi blok komandi vezanih za zvučnu
       > karticu ako ih smatrate nepotrebnim
       > meni su potrebne da zvučni ulaz/izlaz XRDP-a s izlazom i ulazom
       > zvučne kartice.
       
       Kako bi se ova skripta izvršila na početku svake sesije uredio sam
       /etc/xrdp/sesman.ini da na vrhu datoteke bude sljedeće:
       
       ;; See `man 5 sesman.ini` for details
       [Globals]
       ; listening port
       #ListenPort=sesman.socket
       EnableUserWindowManager=false
       ; Give in relative path to user's home directory
       UserWindowManager=startwm.sh
       ; Give in full path or relative path to /etc/xrdp
       DefaultWindowManager=/etc/xrdp/startwm.sh
       ; Give in full path or relative path to /etc/xrdp
       ReconnectScript=reconnectwm.sh
       
       Na kraju bilo je potrebno odkomentirati [Xorg] blok u
       /etc/xrdp/xrdp.ini te koristiti Xorg opciju pri spajanju, a ne Xvnc:
       
       ; Some session types such as Xorg and Xvnc start a display server.
       ; Startup command-line parameters for the display server are
       configured
       ; in sesman.ini. See and configure also sesman.ini.
       [Xorg]
       name=Xorg
       lib=libxup.so
       username=ask
       password=ask
       port=-1
       code=20
       ; Frame capture interval (milliseconds)
       #h264_frame_interval=16
       #rfx_frame_interval=32
       #normal_frame_interval=40
       
       To je to sada mi je preostalo samo ponovno pokrenuti XRDP i učiniti
       da se pokreće pri pokretanju računala.
       
       sudo systemctl restart xrdp
       sudo systemctl enable xrdp
       
       
       
       Programiranje kanala
       
       Quansheng Dock ne podržava CHIRP što otežava programiranje kanala u
       stanicu s novim firmwareom. Moguće je uprogramirati samo .chan
       datoteke koje pak nije moguće dobiti iz CHIRP-a. Da ručno ne
       prepisujem 200 kanala potrošio sam puno previše vremena i napravio
       konverter[11] koji pretvara CHIRP-ov csv u .chan.
       
 (HTM) 11: https://github.com/pisoj/quansheng-tools
       
       
       
       Zaključak
       
       Volim cijediti uređaje do maksimuma tako da mi je jako drago da sam
       uspio iskoristiti računalo koje sam besplatno dobio iz jednog ureda.
       Rekli su mi da je staro i ne može više ništa otvoriti. Ipak, sada
       radi kao server za moje radio stanice. Software je definitivno bio
       najteži dio ovog projekta.
       
       
       
       Povezano
       
 (DIR) 2025-06-04 SDR i udaljeni primopredajnik u Krapini
       
       
       
       Najnovije
       
 (DIR) 2025-11-01 Srednjevalni predajnik s NE555
 (DIR) 2025-09-08 Enkodiranje imena servisa u IPv6 adresu
 (DIR) 2025-09-07 BGP najava vlastitog prefiksa
 (DIR) 2025-07-15 DSB modulator s MC1496
 (DIR) 2025-06-04 SDR i udaljeni primopredajnik u Krapini
       
       --------------------------------------------------------------------------------
       
 (DIR) Lista repetitora
 (DIR) Početna
 (DIR) Dnevnik veza