Fehlerverhalten in Hotspotbetrieb

  • Hallo,


    Ich moechte gerne ein Fehlverhalten des UP4DARs im Hotspot-modus diskutieren.


    Einerseits werden Autokonfigurationsbefehle ausgesendet, so dass das Funkgeraet sich mit RPT1 = Rufzeichen und RPT2 Rufzeichen G selbst konfiguriert.
    Anderseits werden in der 'send_dcs_hotspot funktion' in der Datei dcs.c RPT1 und RPT2 auf "DIRECT" ueberprueft, und dann verworfen, falls die Autokonfiguration stattgefunden hat.


    Bei den Geraeten von Icom ist ein setzen der RPT1 und RPT2 im Simplex-modus nicht moeglich, so dass man ohne RPT-Rufzeichen fahren muss. Das bringt ebenfalls ein Verwerfen der Daten in der oben genannten Funktion, da diese Felder leer sind und nicht de String "DIRECT " beinhalten.


    Der Ausweg ist normalerweise einen Repeater mit Shift 0 einzurichten, so dass man dann RPT eintragen kann. Da man jetzt jedoch im Repeater-Modus arbeitet, ist dann das Repeaterflag gesetzt, was zu einem Verwerfen der Daten in der Datei txtask.c Funktion vTXTask linie 895: ((hotspot_mode) && (rx_header[0] & 0x40) hervorruft.


    Die Loesung die Ich hier sehe ist das Entfernen der Autokonfiguration im Hotspot-modus, da diese sowiesoh nicht funktioniert, und das Veraendern der send_dcs_hotspot Funktion aus der dcs.c-Datei so dass auch ein leeres RPT Feld als gueltig erkannt wird:


    Code
    1. if ( (hotspot_mode &&
    2. (dcs_state == DCS_CONNECTED) && // only send if connected
    3. (crc_result == DSTAR_HEADER_OK) && // last received header was OK
    4. ((rx_header[0] & 0x40) == 0) && // no repeater flag in header
    5. ((memcmp("DIRECT ", rx_header + 3, 8) == 0) || (memcmp(" ", rx_header + 3, 8) == 0)) && // RPT1 and RPT2 contain "DIRECT " or " "
    6. ((memcmp("DIRECT ", rx_header + 11, 8) == 0) || (memcmp(" ", rx_header + 11, 8) == 0))
    7. )
    8. ||
    9. [...]


    Uebrigens, ein Ignorieren der RPT-Rufzeichen und des Repeater-Flags waehre ebenfalls eine Option, und wuerde Simplex und 0-Shift Repeater mit Autokonfiguration zulassen.


    Die oben beschriebene Aenderung habe ich getestet und funktioniert entsprechend im Simplex-Modus mit meinem IC7100 mit neuester Firmware (e5).


    Marius, YO2LOJ

  • Hallo Marius,


    vielen Dank für so einen Beitrag, der so tief in die Interna von UP4DAR-Software geht! Vielleicht folgt der eine oder der andere Deinem Beispiel.


    Nun zu Deiner Frage. Dazu hole ich einwenig aus. Ein HotSpot ist in der D-STAR Welt eigentlich nicht definiert, deshalb haben wir uns im UP4DAR-Team Gedanken dazu gemacht, wie man ein HotSpot in die D-STAR Klassifizierung einsortiert. Dabei ist eine sehr interessante Matrix entstanden, die man hier Call sign usage in DSTAR-Header einsehen kann.


    Warum ist nun ein HotSpot z.B. nicht ein Repeater. Nach unserer Auffassung erfüllt er die Hauptaufgabe eines Repeaters nicht, nämlich "Spiegelung von Uplink auf den Downlink"! (Im Gegenteil zu uns behandelt bspws. G4KLX z.B. ein HotSpot wie ein Repeater). Deswegen muss ein UP4DAR-HotSpot mit RPT1=RPT2=DIRECT angesprochen werden.


    Wenn aber ein HotSpot etwas zurückschickt, so haben wir uns dafür entschieden, daß er etwas mehr Information von sich gibt. Damit kann man mit (nicht unbedingt ICOM-Geräten) etwas mehr über den HotSpot erfahren.


    Diesem Konzept folgt auch die Implementierung. Ich hoffe, daß ich die Zusammenhänge etwas aufklären können.


    73 de Denis DL3OCK

  • Hallo Denis,


    Ja, die Matrix ist interessant. Nur mit einigen Problemen im Hotspotmodus, der irgentwie viel zu streng implementiert ist. Sonst ist ja alles I.o.
    U. zw. bei Direct Operation/QSO sendet nicht jedes Funkegerat "DIRECT" aus, und das ist auch nicht am Funkgeraet einstellbar, und wie Du selber sagst, gibt es ja keinen Hotspotmodus am Geraet.


    IC7100 z.B. sendet da leere Felder. Im Setupdisplay erscheint "--------" und das kann man im Simplexbetrieb nich aendern.
    Das hat sich eigentlich bei Icom in den Firmwares ab e3 veraendert (inzwischen sind die bei e5) - frueher hat alles funktioniert. Und ich koennte mir vorstellen, das dieses Verhalten auch bei neueren Firmwares fuer andere Modelle umgesetzt wird (und so dass immer mehr Icoms UP4DAR-Hotspot-inkompatibel werden).


    Der vorher beschriebene Patch ist minimal und behebt dieses Problem indem er auch leere RPT-Felder zulaesst, welche meiner Meinung nach als "DIRECT" zu deuten sind.

  • Hallo Marius,


    Das, was man in der Anzeige des Funkgerätes sieht (also Leerzeichen oder Unterstriche) ist nur das Design der GUI-Programmierer. In die Luft senden
    alle mir bekannten Geräte bei einem NICHT-Repeater-Betrieb IMMER die Zeichenketten "DIRECT" aus!


    73 de Denis OE/DL3OCK

  • Wie gesagt, in der luft sendet mein Icom mit neuerer firmware NICHT "DIRECT" aus, sondern etwas, was beim Empfang in buffer als 8x space erscheint.
    Deswegen hat der Hotspot mit diesem Geraet auch nicht mehr funktioniert.


    Ich fahre jetzt mit der Aenderung, kein Problem in meinem Fall, da ich das selber machen kann, nur wahrscheinich werden auch Andere damit Probleme haben. Ich wollte nur ein bischen 'proaktiv' sein :-)


    Ich guck mir den Datenaustausch noch einmal genauer an und komme mit Details...

  • Ok,


    Den ganzen Thread kann man ruhig vergessen.


    Ich habe die unveraenderte 1.01.41 neu draufgespielt und alles scheint zu funktionieren.
    Und das Geraet sendet tatsaechlich "DIRECT " fuer RPT1 und RPT2 aus (gechecked).


    Jetzt wieso das zu einem Zeitpunkt nicht ging, kann ich mir nicht vorstellen, das lag wahrscheinlich an irgend einer Einstellung am Funkgeraet die mir im Moment nicht bewusst ist.


    Entschuldigung fuer den Krawall.