- Inlägg: 39
- Tack mottaget: 0
Länkar på 23 cm
Jag debuggade paketdumpen, och hittade mitt i slip-paketet ett komplett TDMA_meddelande. Paketet börjar 80 05 och sen kommer deferal timer, och mac-address.
Någonstans i min kod skrivar jag sönder bufferten, skall bara hitta var.
Intressant är att paketet kommer fram till slipänden. Om man läser på, så kan man se att slip inte har någon checksumma eller felkorrigering, å det handlar ENDAST
om enkapsulering. Detta förklarar varför paketet tas emot trots att det är korrrupt, slip har ingen AAAAAning, det är ICMP som klagar över innehållet.
Nu skall vi bara hitta var detta händer.....
Gullik / SM4FBD
Please Logga in to join the conversation.
408 byte + tcp + ethernet borde få plats i mtu, men indikerar samtidigt att något händer mitt i paketet.
//Adam
Please Logga in to join the conversation.
408 bytes from 44.5.5.1: icmp_seq=160 ttl=64 time=128 ms
408 bytes from 44.5.5.1: icmp_seq=161 ttl=64 time=129 ms
wrong data byte #222 should be 0xde but was 0x80
#16 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
#48 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
#80 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
#112 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f
#144 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af
#176 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf
#208 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd 80 5 0 12 4b 4e d0 69 55 1 0 0 4d 59 30 43 41 4c
#240 4c 20 30 30 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 7 8 9 a b c d e f
#272 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
#304 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
#336 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
#368 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f
408 bytes from 44.5.5.1: icmp_seq=162 ttl=64 time=128 ms
408 bytes from 44.5.5.1: icmp_seq=163 ttl=64 time=128 ms
Detta får jag när jag ökar paketlängden på pingen. Vid första anblick verkar det som ett paket blir korrupt,
men notera att sista OK paket är 161, sen kommer felet i seq 162, MEN 162 loggas som mottaget.
Det är alltid byte 222 som markeras som fel. Felet kommer "random"
Gullik
Please Logga in to join the conversation.
Om dessa görs från varsin tty, först slattach, sen ifconfig sl0 x.x.x.x pointopoint y.y.y.y mtu 576 up, så dyker sl0 upp som den skall och fungerar.
man kan sedan döda slattach med ctrl-c utan bieffekt.
Jag är alltså tillbaks till sliptestning.....
Gulik
Please Logga in to join the conversation.
Please Logga in to join the conversation.
ubuntu uppdateringen. Detta verkar ha att göra med net-tools, som anses vara "föråldrat" och ersätts med nm-cli. Där verkar inte längre finnas stöd för SLIP-länkar,
i.o.f.s. förståeligt, men stämmer ju inte så bra med vad jag har försökt bygga. Jag har alltså svårt att testa mina "förbättringar".
Man kan ju undra vad t.ex. raspberry-gängen anser om detta, det finns ju tydligen ett behov av "billig och enkel" tcp mellan embedded och någon mer central dator.
tips eller lösningar på detta dilemma emottages gärna....
Man kan naturligtvis leta reda på några "gamla" datorer, med äldre operatv,till för bara några veckor sedan körde jag SLIP och testade, men nu går det inte längre.....
Jag har nu börjat titta på seriell nedladdning igen, och hoppas kunna presentera lösningar både för Linux och Windows, detta blir ju ett måste om man skall
kunna utvidga testar och utvecklarkretsen.....
1 W pa är ochså på gång.....eller snarare "frontend", kommer att ha en LNA som ger någon extra dB på mottagarsidan för att matcha höjningen av uteffekt
från 12 dBm till (hoppas jag) 29-30 dBm, och därmed få vettig räckvidd.....
73 de Gullik / SM4FBD
Please Logga in to join the conversation.
Jag har konstaterat att för 23 cm är RG6U / TV-koax den bästa kabelm. Glöm polyetenbasedade kablar!!!!
Jag har byggt en "BiQuad" som funkar bra och ger c:a 10 dB gain. Med en i varje ände bör räckvidden bli runt 20 km.
Material:
1 st Balksko ( 90 graders vinkel man bygger t.ex. gäststuga med) (från BILTEMA)
1 bit 23 cm x 35 cm armeringsmatta med 20 mm hål. ( hålen blir 0.1 Lambda, så nätet "ser ut " som det vore massiv metall, men med låg vindlast)
1 stump 6/5 mm mässingrör
1 bit RG6U / TVKOAX
1/2 meter inneredare från "kulo" , 1.5 mm blank koppartråd.
Balkskon blir fäste mot mast eller vägg.
Koppartråden böjs till en liggande 8, ganska okritiskt men tänk två kvadrater sida vid sida.
Mässingsröret används som hölje till TVKOAX, om man skalar bort ytterstya plasthöljet kan man skuta in kabeln i röret. Krymp röret på koaxen, limma smältlim, på med krympslang mot vatten.
Mässingsröret ger lite stadga åt antennen.
Armeringsmattan böjs till en 23 x 23 cm stor reflektor, med två utskjutande 60 mm höga kanter på "uppsida och nersida" ( vertikal polarisation)
Början och slutet av koppartråden föds till koax innerledare, "mitten" på 8'an mot mässingsröret (koaxskärm).
Avstånd mellan 8 och reflektor, c:a 20 mm för 75 ohm,har du en VNA, så använd den.
Antennen ger c:a 10 dB över en GP, som är mina referensantenner, även dessa gjorda av en "balksko", en F-chassiejack och en 60 mm lång koppartråd.
Äkta svensk hemslöjd, tar 10 min att tillverka, funkar fint.
73 de SM4FBD / Gullik
Please Logga in to join the conversation.
Firmware är nu uppe i V 0.94b, och jag kommer strax att öppna GitHub nedladdning så att vi kan bli fler som "hackar".
V 0.94b har fått en "callsign" parameter, det är nog dags att skicka med en identifierare om vem som kör noden.
Denn kommer att läggas in i "beacon message" och i TDMA message, så den syns så snart radion kör bryggning eller
seriell transport.
V 0.94b har dessutom en enkerl variant av "TX defer", då varje nod inleder sin trafik genom att tala om hur mycket tid den behöver.
Detta medför att alla lyssnande noder VET hur länge de skall vänta innan de går över i TX. Iden, att minska antlet kollisioner,
och "prata i munnen"
V 0.94 skall få gå i provdrift här ett par dagar, och om allt ser bra ut bli "release candidate".
Kvar att göra här då jag inte fått några frivilliga hacckers:
1) fixa så att alla som har en radio kan uppdatera den via seriellt gränssnitt.
2) Cadda effektsteg, 12 dBm är ju kul, men 24 dBm bättre.
73 de Gullik / SM4FBD
Please Logga in to join the conversation.
NPR-70 har som ni nog vet TDMA för att minimera kollisioner. En av noderna är "master" och tilldelar "slavarna" tid att sända. Jag har grunnat över detta och har ett annorlunda förslag.
När det är "tyst" på kanalen, så kan vilken nod som helst säga "Jag är nr 1". Den skickar sedan ut ett meddelande när den vill, med följande lydelse:
Jag är nr 1, kommer att prata xx mS, och näste man är nr MAX+1 ( dvs fri anslutningsslot)
En annan nod väntar till dess den hör detta och säger Jag vill vara nr 2, och näste man är MAX+1.
Nr 1 ändrar nu sitt TDMA-paket till Jag är nr 1 och näste är nr 2.
Nr2 säger att den är 2 och "sist".
Tid-slotten MAX+1 används för den som vill ansluta sig. Alla vet att efter den "sista" noden kommer en anslutninsslot, där en icke ansluten nod kan begära det.
Kostnaden i tid blir bara anslutningsslotten. Den uppkäftigaste noden blir nr 1.
Vad händer om nod 4 slutar utnyttja sin slot? Efter ett antal tomma slot 4 passerat kommer nod 3 att i ställer för nästa = 4 säga nästa = 5.
Vi kan nu köra en stund till. OM nr 4 kommer tillbaks får den först annonsera sig i anslutnings-slotten, dvs den efter "sista" nod.
Ansluningsslotten kommer att vara utsatt för konkurrens, så man får antagligen göra någon "backoff-algoritm" så att man ökar sannolikheten för att EN vinner.
Det kan ju vara 4 som vill återansluta, men också nr sist+1.
Alla kan följa sekvensen och detektera saknade noder. Om nod 1 droppar ur, kan nod 2 efter "ett tag" dra slutsatsen att DEN bör starta uppräkningen.
Nod 1 kan återansluta mha. anslutnings-slotten.
Detta passar nog skapligt om "alla hör alla" , men borde fungera bra även på punkt till punkt med bara 2 noder.
Varje nod inleder med ett TDMA-paket, där den talar om hur länge den kommer att sända baserat på hur många paket som finns i dess kö.
Därmed vet nästa nod när DEN kan börja prata.
Ja, ungefär så, "MasterLESS TDMA"
Gullik
Please Logga in to join the conversation.
Please Logga in to join the conversation.
Please Logga in to join the conversation.
Men tänkte jag skulle försöka mig på att införskaffa sådan 23cm-länk du bygger men hittar inte din Github. Skulle du kunna länka den?
Please Logga in to join the conversation.
Jag har fått förfrågan om "tillbehör" till radiokortet, så här kommer mina källor:
USB till TTL uart, kan man köpa 4 st för c:a 94 kronor på amazon.se
10 pol IDC kabel med kontakter 10 cm längd för att ansluta w5500 adapter och få ethernet, också amazon.se 48 kronor.
Man kan naturligtvis köpa kabel på metervara och kontakter på t.ex elektrokit.
Gör inte kabeln *för* lång, hastigheten är ju 12 Mbit/sek "cmosnivåer" så kabeln kanske läcker störningar annars... jag kör 10 cm.
Enklaste sättet att få igång radion, 4 trådar med GND, RX TX och +5V från USB-adaptern till J1 och 5-volten till J3, så skall man få kontakt med kortet.
73 de Gullik / SM4FBD
Please Logga in to join the conversation.
går inte så bra som 0.93b ÄNNU, den tappar ibland segment vilket är katastrof för ethernetpaket större än 253 bytes.
Den har fått ett kommando "tasks" som visar hur de olika modulerna kör i freertos.
Även om jag ägnat större delen av mitt liv åt "realtidsapplikationer" med olika operativ så har jag aldrig använt FreeRTos förut,
så det är lite "learning curve". Så snart jag kan reproducera prestanda lika föregående kommer jag att lägga upp källkoden på Github.
73 de Gullik / SM4FBD
Please Logga in to join the conversation.
Nej, inget schema, bara en GALI-84+, 10 pF i serie med in, 10 pF i serie med out, 3 varv 0.5 mm cul på 3 mm borr,
kanske 20 nH eller så, till + 5V.
Med radion in ger den +22 dBm ut.
Men, den måste ju ha en antennswitch så att RX får signal, och det hara jag inte ännu.
Det finns en kul transistor, BFP840, som är lågbrusig SiGe, och skall tåla 100 mW på
ingången....!!!! Det skulle kunna bli LNA....
Gullik / SM4FBD
Please Logga in to join the conversation.
en som bara hanterar CLI, kommandon och svar, och en som bara blinkar en LED 5 ggr / sek, men som skall
köra ethernetmodulen.
Nu pågår portering och omskrivning av koden. En viktig sak är "slå av / på radio" vilket är en förutsättning
för att kunna prova andra hastigheter / modulationer. Mycket "hemmasnickrat" som kan skrotas nu när man
kan få "preemption" mellan tasks. Samma gärller "data uart".
Återkommer när den kan "göra" något.
Att göra:
Testa ut 4FSK
Testa ut någon lägre / högre hastighet och göra en configparameter till detta
Ex. radio speed 1 ( 0.5 / 2 ) eller något liknade
Testa ut TI's seriella programmerare www.ti.com/lit/zip/swra466 och se till att man tillförlitligt kan progga "mina hexfiler"
Testa när "knäet" inträffar, t.ex. vid vilken signalstyrka/RSSI har pakethastigheten gått ner 10%??
Utveckla och bygga antennswitch, så att man kan få 150 mW ut i.st. för 20 mW med min enkla EBK.
Räckviddstest med dok RSSI och några enkla antenner typ biquad.
Det finns säkert mer...
Gullik / Sm4FBD
Please Logga in to join the conversation.
Vilken bra beskrivning.
Kolla så att du ansluter VCC rätt, jag *tror* enligt bilden att du matar in 3.3 V på 5 V pinnen, radion går ner till 1.8 V eller så, men
du matar in FÖRE 3.3 V regulatorn.
Naturligtvis ser du för låg serielll hastighet. Det kan ha smugit sig in någon bug när jag integrerade eternet med seriellt,
jag hade 96% av focus på ethernet just då.....
Jag skall lägga ut schema, så att man kan se alla anslutningar
73 de Gullik
Please Logga in to join the conversation.
Please Logga in to join the conversation.
Jag har gjort ett första bänktest för att se att jag får till anslutningarna rätt.
Överföringshastigheten blev märkligt nog endast 22 kbps.
En flaskhals är att jag använder mig av serieportar för datalänken och att de har en bithastighet på 115.200. När jag testar att koppla dem direkt får jag en effektiv hastighet för IP-trafik på 88 kbps. Men med radiomodulerna kopplade till respektive serieport får jag alltså 22 kbps.
Jag utgår från att det är något som jag missat eller att det finns en inbyggd begränsning i seriekommunikationen på radiomodulerna?
För mer detaljer, se bifogat dokument.
/joar, SM0TQT
Please Logga in to join the conversation.
Det skall bli intressant att få ta del av funktion / prestanda / räckvidd, så att konstruktionen kan förbättras.
Gullik /SM4FBD
Please Logga in to join the conversation.
Samtidigt tog jag mig tiden att lägga till en vanlig enkel "84+" från MiniCircuits, och blev belönad med + 22 dBm in i Speccan.
Det borde peka på 30 - 60 km räckvidd, men detta måste naturligtvis testas och verifieras.
Undrar om +22 dBm räcker för att styra ut en LDMOS transistor, i så fall pratar vi 4 W
73 de Gullik / Sm4FBD
Please Logga in to join the conversation.
Något av dessa PA borde kunna landa under 100SEK.
Gullik / SM4FBD
Please Logga in to join the conversation.
Nästa version bör bli med ett RTOS, freertos tänkte jag, minimalt med funktioner, bara dela upp de olika servicerutinerna i separata tasks. Detta fixar ett stort problem som jag brottats med, nämligen att det finns "blocking i/o" i drivrutinerna, vilket medför att om man gör en så enkel sak som att skriva ut en rad på "console" så hänger CPU på den och är då en textrad lång kan man missa andra händelser / paket. Genom att använda ett RTOS, så får andra "tasks" köra medan I/O pågår.
73 de Gullik / SM4FBD
Please Logga in to join the conversation.
Man kan alltså brygga ett mindre ethernetsegment, OCH ha en SLIP-länk gående mellan två radio.
Hastigheten över seriell kanal är max 115200 kbit7sek och över ethernet når man mellan 500 och 600 kbit/sek.
Nu blir det städning...och dokumentation... och V1.0 rc1.
73 de SM4FBD
Please Logga in to join the conversation.
nytt kommando "heard" som rapporterar MAC på ansluten nod....
Please Logga in to join the conversation.