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...