Hallo mailinglist,
hat jemand HF-01 von HB9JNX ans laufen bekommen (es handelt sich um eine pactor-1/amtor/rtty- Software für die Soundkarte) ?
Ich verwende SuSE 6.3 mit selbstgebackenem Kernel 2.2.13 und ALSA 0.5.10b. Andere Soundkartenprogramme (GPSK31, QSSTV und ACFAX) laufen einwandfrei.
1. Ich habe keine Programmierkenntnisse. Das Kompilieren der Software klappt trotzdem ;-) , allerdings mit einigen Fehlermeldungen. Ist das normal, ist die Software trotzdem benutzbar ?
Warnungen:
mkgtortables.c:213: warning: unused variable `k' pactor.c:1704: warning: unused variable `buf200' msg.c:307: warning: unused variable `err' main.c:1005: warning: comparison is always 1 due to limited range of data type main.c:1029: warning: comparison is always 1 due to limited range of data type main.c:1151: warning: statement with no effect main.c:1152: warning: statement with no effect calccorr.c:147: warning: implicit declaration of function `gettimeofday' dcf77rx.c:76: warning: assignment of read-only variable `lsb_mode' dcf77rx.c:80: warning: assignment of read-only variable `lsb_mode' dcf77gen.c:78: warning: assignment of read-only variable `lsb_mode' dcf77gen.c:82: warning: assignment of read-only variable `lsb_mode'
kompletter make-Text:
make all-recursive make[1]: Entering directory `/usr/local/src/hf-0.1' Making all in l1 make[2]: Entering directory `/usr/local/src/hf-0.1/l1' Making all in user make[3]: Entering directory `/usr/local/src/hf-0.1/l1/user' gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../l1 -I../../l1/user -g -O2 -Wall -c fsk.c gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../l1 -I../../l1/user -g -O2 -Wall -c oss.c gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../l1 -I../../l1/user -g -O2 -Wall -c refclock.c rm -f libl1user.a ar cru libl1user.a fsk.o oss.o refclock.o ranlib libl1user.a gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../l1 -I../../l1/user -g -O2 -Wall -c link.c rm -f libl1linked.a ar cru libl1linked.a fsk.o link.o ranlib libl1linked.a make[3]: Leaving directory `/usr/local/src/hf-0.1/l1/user' Making all in kernel make[3]: Entering directory `/usr/local/src/hf-0.1/l1/kernel' gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../l1 -I../../l1/kdrv -g -O2 -Wall -c main.c rm -f libl1kernel.a ar cru libl1kernel.a main.o ranlib libl1kernel.a make[3]: Leaving directory `/usr/local/src/hf-0.1/l1/kernel' make[3]: Entering directory `/usr/local/src/hf-0.1/l1' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/usr/local/src/hf-0.1/l1' make[2]: Leaving directory `/usr/local/src/hf-0.1/l1' Making all in proto make[2]: Entering directory `/usr/local/src/hf-0.1/proto' gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c amtor.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c mkgtortables.c mkgtortables.c: In function `gen_huff': mkgtortables.c:213: warning: unused variable `k' gcc -g -O2 -Wall -o mkgtortables mkgtortables.o -lm ./mkgtortables > gtor_tables.h golay: correcting errors: 1 24 276 2024 1771 gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c gtor.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c pactor.c pactor.c: In function `pactor_check_call': pactor.c:1704: warning: unused variable `buf200' gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c rtty.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c standby.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c util.c rm -f libproto.a ar cru libproto.a amtor.o gtor.o pactor.o rtty.o standby.o util.o ranlib libproto.a make[2]: Leaving directory `/usr/local/src/hf-0.1/proto' Making all in os make[2]: Entering directory `/usr/local/src/hf-0.1/os' gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../os -I../l1 -I../proto -g -O2 -Wall -c main.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../os -I../l1 -I../proto -g -O2 -Wall -c msg.c msg.c: In function `process_msg': msg.c:307: warning: unused variable `err' gcc -g -O2 -Wall -o hfkernel_user main.o msg.o ../l1/user/libl1user.a ../proto/libproto.a -lpthread -lm gcc -g -O2 -Wall -o hfkernel_kernel main.o msg.o ../l1/kernel/libl1kernel.a ../proto/libproto.a -lpthread -lm gcc -g -O2 -Wall -o hfkernel_link main.o msg.o ../l1/user/libl1linked.a ../proto/libproto.a -lpthread -lm make[2]: Leaving directory `/usr/local/src/hf-0.1/os' Making all in hfterm make[2]: Entering directory `/usr/local/src/hf-0.1/hfterm' make all-recursive make[3]: Entering directory `/usr/local/src/hf-0.1/hfterm' Making all in src make[4]: Entering directory `/usr/local/src/hf-0.1/hfterm/src' gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../../include -I../intl -I/usr/X11R6/include -I/usr/lib/glib/include -g -O2 -Wall -c main.c main.c: In function `on_text_keypress_event': main.c:1005: warning: comparison is always 1 due to limited range of data type main.c: In function `on_text_keyrelease_event': main.c:1029: warning: comparison is always 1 due to limited range of data type main.c: In function `main': main.c:1151: warning: statement with no effect main.c:1152: warning: statement with no effect gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../../include -I../intl -I/usr/X11R6/include -I/usr/lib/glib/include -g -O2 -Wall -c support.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../../include -I../intl -I/usr/X11R6/include -I/usr/lib/glib/include -g -O2 -Wall -c interface.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../../include -I../intl -I/usr/X11R6/include -I/usr/lib/glib/include -g -O2 -Wall -c spectrum.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../../include -I../intl -I/usr/X11R6/include -I/usr/lib/glib/include -g -O2 -Wall -c msg.c gcc -g -O2 -Wall -o hfterm main.o support.o interface.o spectrum.o msg.o -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm make[4]: Leaving directory `/usr/local/src/hf-0.1/hfterm/src' make[4]: Entering directory `/usr/local/src/hf-0.1/hfterm' make[4]: Leaving directory `/usr/local/src/hf-0.1/hfterm' make[3]: Leaving directory `/usr/local/src/hf-0.1/hfterm' make[2]: Leaving directory `/usr/local/src/hf-0.1/hfterm' Making all in hftermfl make[2]: Entering directory `/usr/local/src/hf-0.1/hftermfl' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/usr/local/src/hf-0.1/hftermfl' Making all in dcf77 make[2]: Entering directory `/usr/local/src/hf-0.1/dcf77' gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c util.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c xgintf.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c audioin.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c audioout.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c calccorr.c calccorr.c: In function `tc_start': calccorr.c:147: warning: implicit declaration of function `gettimeofday' gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c timedec.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c timeenc.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c dcfdemod.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c dcfdemodpn.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c dcfmod.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c hbgdemod.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c hbgmod.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c mktables.c gcc -g -O2 -Wall -o mktables mktables.o -lm ./mktables 1 > costab.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c costab.c ./mktables 2 > pntab.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c pntab.c rm -f libdcf.a ar cru libdcf.a util.o xgintf.o audioin.o audioout.o calccorr.o timedec.o timeenc.o dcfdemod.o dcfdemodpn.o dcfmod.o hbgdemod.o hbgmod.o costab.o pntab.o ranlib libdcf.a gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c dcf77rx.c dcf77rx.c: In function `main': dcf77rx.c:76: warning: assignment of read-only variable `lsb_mode' dcf77rx.c:80: warning: assignment of read-only variable `lsb_mode' gcc -g -O2 -Wall -o dcf77rx dcf77rx.o libdcf.a -lm gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c dcf77gen.c dcf77gen.c: In function `main': dcf77gen.c:78: warning: assignment of read-only variable `lsb_mode' dcf77gen.c:82: warning: assignment of read-only variable `lsb_mode' gcc -g -O2 -Wall -o dcf77gen dcf77gen.o libdcf.a -lm make[2]: Leaving directory `/usr/local/src/hf-0.1/dcf77' Making all in doc make[2]: Entering directory `/usr/local/src/hf-0.1/doc' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/usr/local/src/hf-0.1/doc' Making all in test make[2]: Entering directory `/usr/local/src/hf-0.1/test' gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c testcos.c gcc -g -O2 -Wall -o testcos testcos.o -lm gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c testgettimeofday.c gcc -g -O2 -Wall -o testgettimeofday testgettimeofday.o -lm gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c testoss.c gcc -g -O2 -Wall -o testoss testoss.o -lm gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -Wall -c testpoly.c gcc -g -O2 -Wall -o testpoly testpoly.o -lm make[2]: Leaving directory `/usr/local/src/hf-0.1/test' Making all in util make[2]: Entering directory `/usr/local/src/hf-0.1/util' gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c chantab.c gcc -g -O2 -Wall -o chantab chantab.o -lm ./chantab > chan_tables.h gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c channel.c gcc -g -O2 -Wall -o channel channel.o -lpthread -lm gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c reffreq.c gcc -g -O2 -Wall -o reffreq reffreq.o -lm gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c testgaussgen.c gcc -g -O2 -Wall -o testgaussgen testgaussgen.o -lm gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c filtbench.c gcc -g -O2 -Wall -o filtbench filtbench.o -lm gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c pactorcrc.c gcc -g -O2 -Wall -o pactorcrc pactorcrc.o ../proto/libproto.a -lm gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../proto -I../l1 -g -O2 -Wall -c amtorsymsort.c gcc -g -O2 -Wall -o amtorsymsort amtorsymsort.o -lm make[2]: Leaving directory `/usr/local/src/hf-0.1/util' make[2]: Entering directory `/usr/local/src/hf-0.1' make[2]: Leaving directory `/usr/local/src/hf-0.1' make[1]: Leaving directory `/usr/local/src/hf-0.1'
2. Läuft die Software grundsätzlich NICHT mit den ALSA- Soundkartenmodulen ?
Hintergrund: ich habe in meinem Notebook so einen dämlichen Solo1- Soundchip. Das Kernelmodul esssolo1.o - übrigens auch von HB9JNX - funktioniert nur in Richtung Wiedergabe (auch bei neuereren 2.2 - Kernelversionen). Aufnahme geht nicht, z.B. mit kspec sieht man gar nix.
Die Soundblaster- Emulation ist auch nur in Richtung Wiedergabe nutzbar (man sieht zwar mit kspec Rauschen, aber der Mixer wird nicht korrekt angesteuert).
Also bin ich auf ALSA umgestiegen; allerdings kommt die bei SuSE 6.3 mitgelieferte Version auch noch nicht mit dem Solo1- Chip klar. Ich nutze daher eine selbstkompilierte neuere ALSA- Version.
Zurück zu HF-01:
Ich starte die beiden Programm- Komponenten mit:
hfkernel_user -a /dev/dsp0 -M /dev/mixer0 -c /var/run/hfapp -p /dev/ttyS1 -m 350.000 hfterm -k /var/run/hfapp
(ich weiss zwar nicht so genau, was ein Socket ist und wie man den anlegt, aber ich habe irgendeinen fremden im temp- Verzeichnis gefunden, kopiert und in hfapp umbenannt ;-)
Mit esssolo1.o - Modul bzw. sb.o - Modul funktioniert die Software anscheinend in Senderichtung, d.h, ich höre z.B., wenn ich auf RTTY-Senden gehe, das RTTY- Signal. Aber nur zu Senden ist etwas langweilig.....
Mit den ALSA- Treibern erhalte ich die Fehlermeldung:
hfkernel[335]: hfkernel v0.2 starting... hfkernel[335]: Your soundcard is full duplex capable. Good; the reference time will be derived from the sample clock, which should be accurate within +-20ppm. So I hope your soundcard uses 'real' crystals instead of cheap ceramic resonators. Adjust the clock with the soundcard correction factor. hfkernel[335]: FSK Parameters: Space frequency: 1600 Mark frequency: 1800 hfkernel[337]: error: mmap: PROT_READ: Input/output error dk5bu:~ #
Unter SuSE 7.1 mit Standardkernel klappte das Kompilieren erst gar nicht, die unter 6.3 kompilierten Programme zeigten dort allerdings das gleiche Verhalten.
Hat jemand 'nen Tip ???
73, Ralf
PS: Optimal wäre es natürlich, wenn das Programm in die SuSE- HAM- Serie aufgenommen würde, nachdem sich ein Profi mit den Sourcen auseinandergesetzt hat. Ich denke, Pactor mit Soundcard würde eine Reihe von Leuten interessieren, und sei es nur, um nicht immer zwischen Soundkarte und Pactor-I -Controller umstecken zu müssen...