diff --git a/content/_index.md b/content/_index.md index 9fe8d10..2962452 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,7 +1,6 @@ --- title: OE7DRT description: my personal website - --- This is my personal space on the internet that I use mainly to keep track on @@ -9,4 +8,3 @@ different topics mainly on tech stuff like [**amateur radio**](/categories/amate or general [computer](/categories/computerstuff/) related topics with some flavour of [Linux](/tags/linux/) and [networking](/tags/networking/) (and a bit of [\*BSD](/tags/openbsd/)) - diff --git a/content/about/index.md b/content/about/index.md index 4ef02ad..b6c6d10 100644 --- a/content/about/index.md +++ b/content/about/index.md @@ -4,8 +4,7 @@ date: 2019-08-21 coverCaption: > Längenfeld at the evening. Photo taken near [Astlehn/Fischbach](https://www.openstreetmap.org/?mlat=47.062377833333336&mlon=10.959586666666667#map=15/47.062377833333336/10.959586666666667). -lastmod: 2024-09-22T12:53:48+0000 - +lastmod: 2024-09-28T23:48:06+0000 comment: false showDate: false @@ -17,7 +16,6 @@ showAuthor: false sharingLinks: false feed_exclude: true - --- ## Who Am I @@ -56,13 +54,13 @@ I usually participate in the following [Winlink](https://winlink.org/) nets: ### [Winlink Wednesday](https://winlinkwednesday.net/) > The original Winlink Wednesday is a weekly amateur radio digital -net where check-ins are accomplished by using the Winlink (global -email via amateur radio) system. +> net where check-ins are accomplished by using the Winlink (global +> email via amateur radio) system. > The primary purpose of Winlink Wednesday is to encourage the regular -use of the Winlink system among amateur radio operators by providing an -opportunity to expand their skills with Winlink, and to practice them -on a regular basis. +> use of the Winlink system among amateur radio operators by providing an +> opportunity to expand their skills with Winlink, and to practice them +> on a regular basis. I think this summarizes the Winlink Wednesday pretty well. @@ -73,14 +71,15 @@ This is a german speaking net currently maintained by Patrick, OE1LHP. To quote the groups.io description: > This group is for announcements and information concerning the Winlink Net "WLNET-OE". -It represents some kind of Blackboard for those who want to participate and learn about -the use of Winlink in not only emergency communication situations. -Amateur radio operators from in and outside of Austria are encouraged to join the sessions. -To be clear: everyone is welcome, but keep in mind that the primary language will be German. +> It represents some kind of Blackboard for those who want to participate and learn about +> the use of Winlink in not only emergency communication situations. +> Amateur radio operators from in and outside of Austria are encouraged to join the sessions. +> To be clear: everyone is welcome, but keep in mind that the primary language will be German. I try to participate every week. {{< comment >}} + ### [FFWN](https://w0rmt.net/ffwn/) Well, I'm not so active on Mastodon (in terms of writing posts) but I @@ -89,9 +88,9 @@ occassionally participate in the net when I find the time. Also to quote the website: > For those operators who are active on federated social media (the “Fediverse”; -i.e., Mastodon), there is a weekly Winlink net called the #FediFridayWinlinkNet -(or #FFWN). Any amateur operators are welcome to check-in and participate, and -also to take turns serving as net control! And be sure to follow #FFWN on Mastodon. +> i.e., Mastodon), there is a weekly Winlink net called the #FediFridayWinlinkNet +> (or #FFWN). Any amateur operators are welcome to check-in and participate, and +> also to take turns serving as net control! And be sure to follow #FFWN on Mastodon. Find out more by following the hastag [#FFWN](https://mastodon.radio/tags/FFWN) (example link -- follow it on an instance that you like/prefer). @@ -126,9 +125,9 @@ to send me emails. Feel free to encrypt your message with OpenPGP and make sure you got this fingerprint: -~~~ +``` D49A 3CE2 CCF7 2668 4D98  9A31 BC9D 6AE1 A3BE 169A -~~~ +``` My public key is on [keys.openpgp.org][key] or on [my website][web] (\~4KB). @@ -149,4 +148,3 @@ GNU/Linux is the host system that serves the websites with Apache at _(celeste.) Some scripts still run on the old host at _bor.oe7drt.com_ which runs OpenBSD 7.5. Moving these script to the Linux host is already in progress (when time allows) and I don't think I will upgrade the host to OpenBSD 7.6. - diff --git a/content/equipment/_index.md b/content/equipment/_index.md index cee256c..6ce8b42 100644 --- a/content/equipment/_index.md +++ b/content/equipment/_index.md @@ -7,9 +7,7 @@ showReadingTime: false showWordCount: false feed_exclude: true - --- I will not write reviews of my equipment here, this page lists my equipment only. The publishing dates represent usually the day I got (bought) the stuff. - diff --git a/content/equipment/notebooks/_index.md b/content/equipment/notebooks/_index.md index a5dfe46..b41eafd 100644 --- a/content/equipment/notebooks/_index.md +++ b/content/equipment/notebooks/_index.md @@ -11,10 +11,8 @@ showPagination: false feed_exclude: true weight: 30 - --- A few of my used notebooks are listed below. Descriptions and/or opinions may not be complete -- they may not have been used only for amateur radio. - diff --git a/content/equipment/notebooks/apple-macbook-pro/index.md b/content/equipment/notebooks/apple-macbook-pro/index.md index 8e1a5a8..50404c0 100644 --- a/content/equipment/notebooks/apple-macbook-pro/index.md +++ b/content/equipment/notebooks/apple-macbook-pro/index.md @@ -1,16 +1,14 @@ --- title: Apple MacBook Pro Mid 2015 -summary: +summary: date: 2015-09-29 -# coverCaption: -# lastmod: +# coverCaption: +# lastmod: showBreadcrumbs: true showReadingTime: false showWordCount: false - --- This was my photography laptop running Lightroom and Photoshop back then. It is still a good choice: that's why I replaced the battery in 2024. - diff --git a/content/equipment/notebooks/asus-x73sv/index.md b/content/equipment/notebooks/asus-x73sv/index.md index a052b38..4a8c049 100644 --- a/content/equipment/notebooks/asus-x73sv/index.md +++ b/content/equipment/notebooks/asus-x73sv/index.md @@ -1,14 +1,13 @@ --- title: Asus X73SV-TY152V -summary: +summary: date: 2011-09-29 -# coverCaption: -# lastmod: +# coverCaption: +# lastmod: showBreadcrumbs: true showReadingTime: false showWordCount: false - --- I think this was my first laptop with hybrid graphics (Nvidia) and if @@ -21,4 +20,3 @@ Windows versions. [bf2]: https://en.wikipedia.org/wiki/Battlefield_2 [Loxone]: https://www.loxone.com/ - diff --git a/content/equipment/notebooks/hp-elitebook830/index.md b/content/equipment/notebooks/hp-elitebook830/index.md index 450dabe..5db5f14 100644 --- a/content/equipment/notebooks/hp-elitebook830/index.md +++ b/content/equipment/notebooks/hp-elitebook830/index.md @@ -1,14 +1,13 @@ --- title: HP Elitebook 830 G6 -summary: +summary: date: 2024-05-25 -# coverCaption: -#lastmod: +# coverCaption: +#lastmod: showBreadcrumbs: true showReadingTime: false showWordCount: false - --- I got this one specifically for my Winlink stuff so I don't have @@ -22,4 +21,3 @@ and similar protections). These protections are one big reason that will keep me from buying an HP laptop again. - diff --git a/content/equipment/notebooks/lenovo-t420/index.md b/content/equipment/notebooks/lenovo-t420/index.md index 0eff667..42189b6 100644 --- a/content/equipment/notebooks/lenovo-t420/index.md +++ b/content/equipment/notebooks/lenovo-t420/index.md @@ -2,16 +2,14 @@ title: Lenovo T420 summary: A tough notebook from Lenovo. It was quite decent when it came out. date: 2017-07-22 -# coverCaption: -lastmod: 2024-06-15T21:34:37+0000 +# coverCaption: +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- i5 quad core It's still usable but playing the VP9 codecs (youtube) in fullscreen can lag sometimes. - diff --git a/content/equipment/notebooks/lenovo-t60/index.md b/content/equipment/notebooks/lenovo-t60/index.md index 4cf34d2..babd2fa 100644 --- a/content/equipment/notebooks/lenovo-t60/index.md +++ b/content/equipment/notebooks/lenovo-t60/index.md @@ -1,14 +1,13 @@ --- title: Lenovo T60 -summary: +summary: date: 2014-02-10 -# coverCaption: -# lastmod: +# coverCaption: +# lastmod: showBreadcrumbs: true showReadingTime: false showWordCount: false - --- I don't use this anymore. It has a broken screen so it is packed into @@ -18,4 +17,3 @@ It ran primarily FreeBSD mostly without X. I used this often when I had to sleep at other locations for work to check my emails and read through some newsgroups. (I do not need a computer for my work so I used this at the evenings when I was back in the appartement.) - diff --git a/content/equipment/notebooks/lenovo-x1carbon/index.md b/content/equipment/notebooks/lenovo-x1carbon/index.md index c3f5f26..7ebb430 100644 --- a/content/equipment/notebooks/lenovo-x1carbon/index.md +++ b/content/equipment/notebooks/lenovo-x1carbon/index.md @@ -2,13 +2,12 @@ title: Lenovo X1 Carbon Gen7 summary: Compact notebook with solid hardware for power users. date: 2023-05-09 -# coverCaption: +# coverCaption: # lastmod: 2024-05-09T14:26:01+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- linux machine... pat, winlink, had openbsd and freebsd on it for a while... @@ -21,4 +20,3 @@ to keep them up to date. I would like to have more power and RAM on this machine (more power cores) but hey, it is really small so I will live with it... - diff --git a/content/equipment/notebooks/ms-surface2go/index.md b/content/equipment/notebooks/ms-surface2go/index.md index c6a1c75..7f549f7 100644 --- a/content/equipment/notebooks/ms-surface2go/index.md +++ b/content/equipment/notebooks/ms-surface2go/index.md @@ -2,13 +2,12 @@ title: Microsoft Surface 2 Go summary: Small tablet that runs Windows 10 (11). date: 2022-11-11 -# coverCaption: +# coverCaption: # lastmod: 2024-05-09T14:25:51+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- I currently run Fedora Linux on it -- because the touch interface @@ -20,12 +19,11 @@ hate lagging computers :winking_face_with_tongue: Some data: -| weight | description | -| :--- | :--- | -| 541g | tablet alone | -| 561g | tablet with pen | -| 786g | tablet with keyboard | +| weight | description | +| :----- | :--------------------------- | +| 541g | tablet alone | +| 561g | tablet with pen | +| 786g | tablet with keyboard | | 806g | tablet with keyboard and pen | I would not buy one again -- it is way too slow to be used by normal people. - diff --git a/content/equipment/notebooks/toshiba-p100/index.md b/content/equipment/notebooks/toshiba-p100/index.md index 225ddb3..0c6558d 100644 --- a/content/equipment/notebooks/toshiba-p100/index.md +++ b/content/equipment/notebooks/toshiba-p100/index.md @@ -1,14 +1,13 @@ --- title: Toshiba Satellite Pro P100 -summary: +summary: date: 2007-11-01 -# coverCaption: -# lastmod: +# coverCaption: +# lastmod: showBreadcrumbs: true showReadingTime: false showWordCount: false - --- Used for some basic internet tasks like reading websites and PDFs, @@ -16,4 +15,3 @@ checking mails and editing office documents. This one shut itself down very often when it got too hot. It was really annoying. - diff --git a/content/equipment/notebooks/tuxedo-polaris17/index.md b/content/equipment/notebooks/tuxedo-polaris17/index.md index 2ef5abf..d7d1cae 100644 --- a/content/equipment/notebooks/tuxedo-polaris17/index.md +++ b/content/equipment/notebooks/tuxedo-polaris17/index.md @@ -2,17 +2,16 @@ title: Tuxedo Polaris 17 summary: shit laptop - shit company date: 2021-04-30 -# coverCaption: +# coverCaption: # lastmod: 2024-05-09T14:40:37+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- Bought because of Linux. Tuxedo provides only very old LTS distributions like -fu***** Ubuntu 22.04... +fu**\*** Ubuntu 22.04... Keyboard drivers must be installed in order to use backlight... @@ -20,4 +19,3 @@ lots of problems with that device - also on other installations of other distros I still use this for cracking passwords with john or hashcat and gaming with Steam. It is also powerful enough to run a view virtual machines. - diff --git a/content/equipment/outdoor/_index.md b/content/equipment/outdoor/_index.md index a9c7939..8c7a16b 100644 --- a/content/equipment/outdoor/_index.md +++ b/content/equipment/outdoor/_index.md @@ -11,7 +11,4 @@ showPagination: false feed_exclude: true weight: 20 - --- - - diff --git a/content/equipment/outdoor/accessories/_index.md b/content/equipment/outdoor/accessories/_index.md index 53c63a8..8557c4b 100644 --- a/content/equipment/outdoor/accessories/_index.md +++ b/content/equipment/outdoor/accessories/_index.md @@ -11,7 +11,4 @@ showPagination: false feed_exclude: true weight: 20 - --- - - diff --git a/content/equipment/outdoor/backpacks/_index.md b/content/equipment/outdoor/backpacks/_index.md index 628b388..a714d14 100644 --- a/content/equipment/outdoor/backpacks/_index.md +++ b/content/equipment/outdoor/backpacks/_index.md @@ -11,7 +11,4 @@ showPagination: false feed_exclude: true weight: 20 - --- - - diff --git a/content/equipment/outdoor/backpacks/inateck-40/index.md b/content/equipment/outdoor/backpacks/inateck-40/index.md index f3d6c25..0d218e6 100644 --- a/content/equipment/outdoor/backpacks/inateck-40/index.md +++ b/content/equipment/outdoor/backpacks/inateck-40/index.md @@ -1,6 +1,6 @@ --- title: Inateck 40l -summary: +summary: date: 2021-06-30 showBreadcrumbs: true @@ -13,8 +13,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - - diff --git a/content/equipment/outdoor/backpacks/kombatuk-viking-60/index.md b/content/equipment/outdoor/backpacks/kombatuk-viking-60/index.md index 2b79759..0db433c 100644 --- a/content/equipment/outdoor/backpacks/kombatuk-viking-60/index.md +++ b/content/equipment/outdoor/backpacks/kombatuk-viking-60/index.md @@ -1,6 +1,6 @@ --- title: Kombat UK Viking 60l -summary: +summary: date: 2020-09-01 showBreadcrumbs: true @@ -13,8 +13,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - - diff --git a/content/equipment/outdoor/backpacks/northface-jester-26/index.md b/content/equipment/outdoor/backpacks/northface-jester-26/index.md index 8ec7e78..c31f28e 100644 --- a/content/equipment/outdoor/backpacks/northface-jester-26/index.md +++ b/content/equipment/outdoor/backpacks/northface-jester-26/index.md @@ -1,6 +1,6 @@ --- title: The North Face Jester 26l -summary: +summary: date: 2020-10-16 showBreadcrumbs: true @@ -13,8 +13,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - - diff --git a/content/equipment/outdoor/backpacks/skysper-daypack-20/index.md b/content/equipment/outdoor/backpacks/skysper-daypack-20/index.md index 85d8dcc..8c3d3fd 100644 --- a/content/equipment/outdoor/backpacks/skysper-daypack-20/index.md +++ b/content/equipment/outdoor/backpacks/skysper-daypack-20/index.md @@ -1,6 +1,6 @@ --- title: Skysper Daypack 20l -summary: +summary: date: 2024-05-11 showBreadcrumbs: true @@ -13,8 +13,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - - diff --git a/content/equipment/outdoor/backpacks/tt-modular-pack-30/index.md b/content/equipment/outdoor/backpacks/tt-modular-pack-30/index.md index 14b3f5e..44e20eb 100644 --- a/content/equipment/outdoor/backpacks/tt-modular-pack-30/index.md +++ b/content/equipment/outdoor/backpacks/tt-modular-pack-30/index.md @@ -1,6 +1,6 @@ --- title: TT Modular Pack 30l -summary: +summary: date: 2024-05-05 showBreadcrumbs: true @@ -13,8 +13,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - - diff --git a/content/equipment/outdoor/backpacks/tt-modular-trooper-pack-55/index.md b/content/equipment/outdoor/backpacks/tt-modular-trooper-pack-55/index.md index 00a3657..fec5c2f 100644 --- a/content/equipment/outdoor/backpacks/tt-modular-trooper-pack-55/index.md +++ b/content/equipment/outdoor/backpacks/tt-modular-trooper-pack-55/index.md @@ -1,6 +1,6 @@ --- title: TT Modular Trooper Pack 55l -summary: +summary: date: 2023-06-21 showBreadcrumbs: true @@ -13,8 +13,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - - diff --git a/content/equipment/outdoor/backpacks/tt-urban-tac-pack-22/index.md b/content/equipment/outdoor/backpacks/tt-urban-tac-pack-22/index.md index aa9baae..8a7934e 100644 --- a/content/equipment/outdoor/backpacks/tt-urban-tac-pack-22/index.md +++ b/content/equipment/outdoor/backpacks/tt-urban-tac-pack-22/index.md @@ -1,6 +1,6 @@ --- title: TT Urban Tac Pack 22l -summary: +summary: date: 2024-08-25 showBreadcrumbs: true @@ -13,8 +13,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - - diff --git a/content/equipment/outdoor/cooking/_index.md b/content/equipment/outdoor/cooking/_index.md index 65940a0..45e633d 100644 --- a/content/equipment/outdoor/cooking/_index.md +++ b/content/equipment/outdoor/cooking/_index.md @@ -11,7 +11,4 @@ showPagination: false feed_exclude: true weight: 20 - --- - - diff --git a/content/equipment/outdoor/cooking/manual-coffee-grinder/index.md b/content/equipment/outdoor/cooking/manual-coffee-grinder/index.md index 7270e1a..224ced8 100644 --- a/content/equipment/outdoor/cooking/manual-coffee-grinder/index.md +++ b/content/equipment/outdoor/cooking/manual-coffee-grinder/index.md @@ -1,6 +1,6 @@ --- title: Manual coffee grinder -summary: +summary: date: 2024-09-22T22:54:30+02:00 showBreadcrumbs: true @@ -13,8 +13,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - - diff --git a/content/equipment/outdoor/cooking/titanium-french-press/index.md b/content/equipment/outdoor/cooking/titanium-french-press/index.md index 686f428..344eb9d 100644 --- a/content/equipment/outdoor/cooking/titanium-french-press/index.md +++ b/content/equipment/outdoor/cooking/titanium-french-press/index.md @@ -1,6 +1,6 @@ --- title: Titanium French Press -summary: +summary: date: 2024-09-22T22:54:21+02:00 showBreadcrumbs: true @@ -13,8 +13,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - - diff --git a/content/equipment/outdoor/food/index.md b/content/equipment/outdoor/food/index.md index 118e295..e2aed38 100644 --- a/content/equipment/outdoor/food/index.md +++ b/content/equipment/outdoor/food/index.md @@ -12,10 +12,8 @@ showPagination: false feed_exclude: true weight: 10 - --- - ## (Hot) outdoor food A hot meal is sometimes needed and I haven't tested much of these -- I bought @@ -57,4 +55,3 @@ from Blasercafé. I do have a titanium French Press and a hand mill -- a hot coffee is the best thing to enjoy somewhere outside of civilisation (add some Speck and Brötle to it and it is absolutely perfect!). - diff --git a/content/equipment/outdoor/tents/_index.md b/content/equipment/outdoor/tents/_index.md index ad13fec..e6a9cd7 100644 --- a/content/equipment/outdoor/tents/_index.md +++ b/content/equipment/outdoor/tents/_index.md @@ -11,7 +11,4 @@ showPagination: false feed_exclude: true weight: 20 - --- - - diff --git a/content/equipment/radio-stuff/_index.md b/content/equipment/radio-stuff/_index.md index 8de09fe..00464a2 100644 --- a/content/equipment/radio-stuff/_index.md +++ b/content/equipment/radio-stuff/_index.md @@ -11,7 +11,4 @@ showPagination: false feed_exclude: true weight: 10 - --- - - diff --git a/content/equipment/radio-stuff/accessories/_index.md b/content/equipment/radio-stuff/accessories/_index.md index ba99755..69843f6 100644 --- a/content/equipment/radio-stuff/accessories/_index.md +++ b/content/equipment/radio-stuff/accessories/_index.md @@ -20,7 +20,6 @@ showWordCount: false feed_exclude: true weight: 40 - --- {{< alert >}} diff --git a/content/equipment/radio-stuff/accessories/coax-cables/index.md b/content/equipment/radio-stuff/accessories/coax-cables/index.md index 2cbf7c1..0ec27c9 100644 --- a/content/equipment/radio-stuff/accessories/coax-cables/index.md +++ b/content/equipment/radio-stuff/accessories/coax-cables/index.md @@ -2,21 +2,20 @@ title: "Coax Cables" summary: A quick comparison of the three coax types that I use. date: 2024-03-02T09:55:35+01:00 -lastmod: 2024-03-31T11:02:44+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- ## Comparison | Name | ∅ \[mm\] | Impedance \[Ω\] | Lenght \[m\] | Loss \[dB\] | Loss/100m \[dB\] | Weight/m \[kg\] | -|:------ | --------:| ---------------:| ------------:| -----------:| ----------------:| ---------------:| -| H-155 | 5.50 | 50.44 | 10.18 | 0.329 | 3.232 | 0.38 | -| RG-174 | 2.79 | 50.70 | 6.03 | 0.775 | 12.850 | 0.01 | -| RG-316 | 2.59 | 49.45 | 5.15 | 0.568 | 11.025 | 0.01 | +| :----- | -------: | --------------: | -----------: | ----------: | ---------------: | --------------: | +| H-155 | 5.50 | 50.44 | 10.18 | 0.329 | 3.232 | 0.38 | +| RG-174 | 2.79 | 50.70 | 6.03 | 0.775 | 12.850 | 0.01 | +| RG-316 | 2.59 | 49.45 | 5.15 | 0.568 | 11.025 | 0.01 | Measurements have been made with a NanoVNA-H (HW version 3.4) version 1.2.19 (Build time: Jan 31 2023 - 16:06:06) at 14.020 MHz (because that is around the frequency that I use mainly at my home QTH). @@ -33,4 +32,3 @@ and is "not so lossy" than the RG-174. I'd take the RG-174 when I'm not sure about what lenght the antenna cable should be because I have two cables with 6m with the appropriate connectors already on the cables. - diff --git a/content/equipment/radio-stuff/accessories/homebrew-common-mode-choke/index.md b/content/equipment/radio-stuff/accessories/homebrew-common-mode-choke/index.md index be15bfe..78abb80 100644 --- a/content/equipment/radio-stuff/accessories/homebrew-common-mode-choke/index.md +++ b/content/equipment/radio-stuff/accessories/homebrew-common-mode-choke/index.md @@ -6,12 +6,11 @@ summary: | coverCaption: My selfmade common mode choke placed into a neat plastic case with BNC connectors. date: 2023-10-26T13:36:26+02:00 -lastmod: 2024-03-31T11:02:19+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- So this is basically a 140-43 toroid with 9 turns of RG174 connected to @@ -27,4 +26,3 @@ I find this okay for now but I still wonder if this can be made any better (maybe 30dB attenuation?). Would I benefit from even more attenuation? I will probably find out on another day. - diff --git a/content/equipment/radio-stuff/accessories/masts/index.md b/content/equipment/radio-stuff/accessories/masts/index.md index 5b46423..c0f3f4b 100644 --- a/content/equipment/radio-stuff/accessories/masts/index.md +++ b/content/equipment/radio-stuff/accessories/masts/index.md @@ -1,6 +1,6 @@ --- title: "Antenna masts" -summary: +summary: date: 2024-03-17T20:38:06+0100 showBreadcrumbs: true @@ -8,7 +8,6 @@ showReadingTime: false showWordCount: false draft: true - --- ## FGM-Fiberglasmast diff --git a/content/equipment/radio-stuff/accessories/mobilinkd-tnc4/index.md b/content/equipment/radio-stuff/accessories/mobilinkd-tnc4/index.md index dd9dac8..60654ca 100644 --- a/content/equipment/radio-stuff/accessories/mobilinkd-tnc4/index.md +++ b/content/equipment/radio-stuff/accessories/mobilinkd-tnc4/index.md @@ -1,8 +1,8 @@ --- title: Mobilinkd TNC4 -summary: +summary: date: 2023-10-01T22:24:03+01:00 -#lastmod: +#lastmod: #categories: #- amateur-radio #- computerstuff @@ -18,7 +18,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - diff --git a/content/equipment/radio-stuff/accessories/nanovna-f/index.md b/content/equipment/radio-stuff/accessories/nanovna-f/index.md index b800dfe..e6c760a 100644 --- a/content/equipment/radio-stuff/accessories/nanovna-f/index.md +++ b/content/equipment/radio-stuff/accessories/nanovna-f/index.md @@ -2,12 +2,11 @@ title: NanoVNA-F summary: A so-called "fake" NanoVNA. date: 2020-07-05 -lastmod: 2024-09-22T12:54:18+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- I bought a "fake" NanoVNA-F in my early days as an amateur radio operator @@ -19,4 +18,3 @@ I wouldn't buy any device from SYSJOINT again. Also software wise. **Update:** I've changed one SMA connector and most problems are gone but sometimes the curve still flickers and moves a little bit. - diff --git a/content/equipment/radio-stuff/accessories/nanovna/index.md b/content/equipment/radio-stuff/accessories/nanovna/index.md index 1721ea3..377e6f4 100644 --- a/content/equipment/radio-stuff/accessories/nanovna/index.md +++ b/content/equipment/radio-stuff/accessories/nanovna/index.md @@ -3,16 +3,14 @@ title: NanoVNA summary: The compact and trusty NanoVNA-H. Small and efficient. coverCaption: The NanoVNA-H is very compact and I like it for portable operation. date: 2022-05-16 -lastmod: 2024-09-22T12:54:18+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- I leave the BNC adapter on because I usually only have BNC connectors on my portable rigs and antennas. This is the analyzer that is in the same bag as the TX-500. - diff --git a/content/equipment/radio-stuff/accessories/rigexpert-stick230/index.md b/content/equipment/radio-stuff/accessories/rigexpert-stick230/index.md index 8a33cf2..84ada67 100644 --- a/content/equipment/radio-stuff/accessories/rigexpert-stick230/index.md +++ b/content/equipment/radio-stuff/accessories/rigexpert-stick230/index.md @@ -1,13 +1,12 @@ --- title: RigExpert Stick 230 -summary: +summary: date: 2022-08-11 -lastmod: 2024-03-31T11:01:16+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- The RigExpert Stick 230 is nice and practical to use, but it comes with a @@ -18,4 +17,3 @@ as moving through a frequency range. I personally don't like the user interface and I therefore don't use it much at home and almost never when I'm portable. - diff --git a/content/equipment/radio-stuff/accessories/tinysa-ultra/index.md b/content/equipment/radio-stuff/accessories/tinysa-ultra/index.md index 42a7786..5ee55d7 100644 --- a/content/equipment/radio-stuff/accessories/tinysa-ultra/index.md +++ b/content/equipment/radio-stuff/accessories/tinysa-ultra/index.md @@ -1,8 +1,8 @@ --- title: TinySA ultra -summary: +summary: date: 2023-08-01 -lastmod: 2023-08-12T15:25:56+0000 +lastmod: 2024-09-28T23:48:06+0000 #categories: #- amateur-radio #tags: @@ -17,7 +17,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - diff --git a/content/equipment/radio-stuff/antennas/_index.md b/content/equipment/radio-stuff/antennas/_index.md index 51e4f45..1f8aaea 100644 --- a/content/equipment/radio-stuff/antennas/_index.md +++ b/content/equipment/radio-stuff/antennas/_index.md @@ -19,5 +19,4 @@ showWordCount: false feed_exclude: true weight: 30 - --- diff --git a/content/equipment/radio-stuff/antennas/chameleon-mpas/index.md b/content/equipment/radio-stuff/antennas/chameleon-mpas/index.md index 347a535..8bc18fd 100644 --- a/content/equipment/radio-stuff/antennas/chameleon-mpas/index.md +++ b/content/equipment/radio-stuff/antennas/chameleon-mpas/index.md @@ -9,4 +9,3 @@ content coming... i heard a lot of good things about this on youtube but I cannot confirm these thoughts -- the performance is very poor beginning at 40m (down to 80m). - diff --git a/content/equipment/radio-stuff/antennas/homebrew-40m-hw-endfed/index.md b/content/equipment/radio-stuff/antennas/homebrew-40m-hw-endfed/index.md index 031cfae..04e97a4 100644 --- a/content/equipment/radio-stuff/antennas/homebrew-40m-hw-endfed/index.md +++ b/content/equipment/radio-stuff/antennas/homebrew-40m-hw-endfed/index.md @@ -1,8 +1,8 @@ --- title: Homebrew 40m Hw Endfed -summary: +summary: date: 2023-05-01T11:45:01+02:00 -# lastmod: +# lastmod: #categories: #- amateur-radio #- computerstuff @@ -18,7 +18,4 @@ showWordCount: false # site_exclude: true draft: true - --- - - diff --git a/content/equipment/radio-stuff/antennas/homebrew-dipole-for-20m/index.md b/content/equipment/radio-stuff/antennas/homebrew-dipole-for-20m/index.md index 7d84750..104d05a 100644 --- a/content/equipment/radio-stuff/antennas/homebrew-dipole-for-20m/index.md +++ b/content/equipment/radio-stuff/antennas/homebrew-dipole-for-20m/index.md @@ -3,12 +3,11 @@ title: Homebrew dipole for 20m summary: This is my non-plus-ultra antenna. Often used at home and portable. date: 2023-04-23T08:51:00+02:00 coverCaption: Homebrew dipole for the 20m band made from 1.5mm² speaker cable -lastmod: 2024-05-19T20:53:34+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- I am very happy with this antenna -- it is very compact when fold together @@ -28,4 +27,3 @@ respond often within the first three requests). I also use [a choke]({{< ref "/equipment/radio-stuff/accessories/homebrew-common-mode-choke/" >}}) with the antenna. - diff --git a/content/equipment/radio-stuff/handhelds/anytone-d878uvplus/index.md b/content/equipment/radio-stuff/handhelds/anytone-d878uvplus/index.md index 54ddc43..e7afe4e 100644 --- a/content/equipment/radio-stuff/handhelds/anytone-d878uvplus/index.md +++ b/content/equipment/radio-stuff/handhelds/anytone-d878uvplus/index.md @@ -1,7 +1,7 @@ --- title: Anytone D878UV+ date: 2019-12-08 -lastmod: 2024-03-17T19:59:25+0000 +lastmod: 2024-09-28T23:48:06+0000 #categories: #- amateur-radio @@ -11,7 +11,6 @@ showBreadcrumbs: true showReadingTime: false showWordCount: false # showPagination: false - --- I bought this because of its ability to do APRS (TX only) and it @@ -28,4 +27,3 @@ While this radio was in repair, I ordered my second DMR radio, the [1]: {{< ref "hytera-pd785g" >}} I wasn't really satisfied with its receiving capabilities anyway. - diff --git a/content/equipment/radio-stuff/handhelds/hytera-pd785g/index.md b/content/equipment/radio-stuff/handhelds/hytera-pd785g/index.md index aab4a01..547f105 100644 --- a/content/equipment/radio-stuff/handhelds/hytera-pd785g/index.md +++ b/content/equipment/radio-stuff/handhelds/hytera-pd785g/index.md @@ -2,16 +2,15 @@ title: Hytera PD785G aliases: - /amateur-radio/2020-01-27-aprs-with-hytera-pd785g-v9 -summary: +summary: date: 2019-12-31 -lastmod: 2024-06-09T06:32:40+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true # showDate: false showReadingTime: false showWordCount: false # showPagination: false - --- This is the second DMR radio that I bought. I wanted something stable, @@ -51,4 +50,3 @@ me to trash the device and buy another one (with some discount). The Hytera PD785G only supports 70cm. ![output power around 433.500 MHz](power.png) - diff --git a/content/equipment/radio-stuff/handhelds/icom-id52/index.md b/content/equipment/radio-stuff/handhelds/icom-id52/index.md index 59b8fba..628ba81 100644 --- a/content/equipment/radio-stuff/handhelds/icom-id52/index.md +++ b/content/equipment/radio-stuff/handhelds/icom-id52/index.md @@ -4,12 +4,11 @@ summary: > A really awesome handheld radio -- and it does D-STAR as a bonus. Check it out -- it's cool! date: 2021-12-10 -lastmod: 2024-03-17T19:59:25+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- This is actually my number one handheld radio. I find it very intuitive to use @@ -24,10 +23,10 @@ on digital mode (D-STAR). Right away: there are two ways to open a repeater with a 1750Hz tone. 1. Push _PTT_ like you would perform a double-click with your computer mouse - and hold _PTT_ on the second "click". + and hold _PTT_ on the second "click". 2. Open _MENU >> SET >> DTMF/T-CALL >> DTMF Memory_ and select _T-CALL_ with _OK_ - key. Go back to standby screen and press _PTT_. Now additionally press the - _SQL_ button. + key. Go back to standby screen and press _PTT_. Now additionally press the + _SQL_ button. ### SQL @@ -113,8 +112,8 @@ receiver information, time and date as well as some basic info about the picture ## Power output -| Power output diagrams | | -| --- | --- | +| Power output diagrams | | +| ---------------------------------------- | -------------------------------------------- | | ![output power on 2m band](power-2m.png) | ![output power on 70cm band](power-70cm.png) | I've found out how to measure more than 4 traces at once (hint: @@ -122,13 +121,13 @@ disable TRACKING in the Marker options) The measured output power around 144.500 MHz and 433.500 MHz are: -| Power setting | Output power 2m | Output power 70cm | -| :---- | :----- | :----- | -| S-Low | 107 mW | 99 mW | -| Low1 | 539 mW | 443 mW | -| Low2 | 1.09 W | 783 mW | -| Mid | 2.45 W | 2.21 W | -| High | 6.26 W | 4.94 W | +| Power setting | Output power 2m | Output power 70cm | +| :------------ | :-------------- | :---------------- | +| S-Low | 107 mW | 99 mW | +| Low1 | 539 mW | 443 mW | +| Low2 | 1.09 W | 783 mW | +| Mid | 2.45 W | 2.21 W | +| High | 6.26 W | 4.94 W | ## Harmonics @@ -136,4 +135,3 @@ Only measured on the 2m band. ![harmonics](harmonics.png "I could not see any harmonics at 145.550 MHz. For people that cannot read the small fonts properly: the graph goes up to 3 GHz.") - diff --git a/content/equipment/radio-stuff/handhelds/radioddity-gd77/index.md b/content/equipment/radio-stuff/handhelds/radioddity-gd77/index.md index 68fb466..1b2331d 100644 --- a/content/equipment/radio-stuff/handhelds/radioddity-gd77/index.md +++ b/content/equipment/radio-stuff/handhelds/radioddity-gd77/index.md @@ -4,18 +4,17 @@ summary: > Consider the OpenGD77 firmware and you're all set with a very user friendly and customizable handheld radio. aliases: -- /equipment/handhelds/radioddity-gd77/ + - /equipment/handhelds/radioddity-gd77/ date: 2020-10-17 -lastmod: 2024-09-25T03:37:50+0000 +lastmod: 2024-09-28T23:48:06+0000 #categories: #- amateur-radio showBreadcrumbs: true showReadingTime: false showWordCount: false - --- -[Product page][1] — [OpenGD77 Firmware][2] — [Latest CPS][3] +[Product page][1] — [OpenGD77 Firmware][2] — [Latest CPS][3] [1]: https://www.radioddity.com/products/radioddity-gd-77-dmr-two-way-radio [2]: https://www.opengd77.com/downloads/GD77/Latest/ @@ -27,7 +26,7 @@ radio usage. ## udev-Rules for Linux -~~~rb +```rb # USB rules for GD-77 # Place this in /etc/udev/rules.d/ to let all users talk to the radios by USB. @@ -49,27 +48,27 @@ KERNEL=="hiddev*", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666 # OpenGD77 KERNEL=="ttyACM[0-9]*", SUBSYSTEM=="tty", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0094", MODE="0666", GROUP="dialout", SYMLINK+="OpenGD77" -~~~ +``` If you want do reload udev with the new rules, run: -~~~console +```console $ udevadm control --reload-rules && udevadm trigger -~~~ +``` ## Original boot tone melody The originally used boot-up melody. I'm not sure if it changed already, but this was on my GD-77 when I first installed the OpenGD77 firmware. -~~~plain +```plain 38,6,0,2,38,2,0,2,38,6,0,2,38,2,0,2,38,6 -~~~ +``` ## My boot-up picture -| Normal display settings | Inverted display settings | -| :--- | :--- | +| Normal display settings | Inverted display settings | +| :---------------------------------------------------- | :--------------------------------------------------------------- | | ![OE7DRT Boot-up picture white](rendeer512_white.png) | ![OE7DRT Boot-up picture black (inverted)](rendeer512_black.png) | ## Importing DMR-IDs @@ -114,15 +113,15 @@ Press and hold the hash key # when in VFO mode to enter this feature. ![2m band output power](power-2m.png) -| Power setting | Out power (device 1) | Out power (device 2) | -| :--- | :--- | :----- | -| +W- | 7.50 W | 7.60 W | -| 5W | 5.31 W | 5.40 W | -| 50mW | 376 mW | 152 mW | -| 1W | 1.30 W | 1.35 W | -| 2W | 2.37 W | 2.14 W | -| 3W | 2.90 W | 2.70 W | -| 4W | 3.76 W | 3.40 W | +| Power setting | Out power (device 1) | Out power (device 2) | +| :------------ | :------------------- | :------------------- | +| +W- | 7.50 W | 7.60 W | +| 5W | 5.31 W | 5.40 W | +| 50mW | 376 mW | 152 mW | +| 1W | 1.30 W | 1.35 W | +| 2W | 2.37 W | 2.14 W | +| 3W | 2.90 W | 2.70 W | +| 4W | 3.76 W | 3.40 W | I have two devices and they differ on some settings (50mW setting for example). @@ -132,16 +131,15 @@ I have two devices and they differ on some settings (50mW setting for example). I have only measured one device as devices may differ largely. -| Power setting | Output power| -| :---- | :----- | -| 50mW | 917 mW | -| 250mW | 925 mW | -| 500mW | 1.86 W | -| 750mW | 1.49 W | -| 1W | 1.67 W | -| 2W | 2.35 W | -| 3W | 2.96 W | -| 4W | 4.22 W | -| 5W | 7.50 W | -| +W- | 8.41 W | - +| Power setting | Output power | +| :------------ | :----------- | +| 50mW | 917 mW | +| 250mW | 925 mW | +| 500mW | 1.86 W | +| 750mW | 1.49 W | +| 1W | 1.67 W | +| 2W | 2.35 W | +| 3W | 2.96 W | +| 4W | 4.22 W | +| 5W | 7.50 W | +| +W- | 8.41 W | diff --git a/content/equipment/radio-stuff/handhelds/wouxun-uv9d-mate/index.md b/content/equipment/radio-stuff/handhelds/wouxun-uv9d-mate/index.md index 721564c..ee523d0 100644 --- a/content/equipment/radio-stuff/handhelds/wouxun-uv9d-mate/index.md +++ b/content/equipment/radio-stuff/handhelds/wouxun-uv9d-mate/index.md @@ -2,12 +2,11 @@ title: Wouxun UV9D Mate summary: This is the radio of choice when I do some Winlinking (HI) via packet radio or VARA FM. date: 2021-03-15 -lastmod: 2024-05-19T20:53:51+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- I can not remember when I bought this radio because I lost my documents somwhere @@ -24,5 +23,3 @@ The special use case for it is in the car primarily -- the next RMS packet stati approx. 27km north/north-east of my home QTH (with some mountains in between) -- it works well with the Digirig when using packet radio and VARA-FM; and with the Mobilinkd TNC4. - - diff --git a/content/equipment/radio-stuff/handhelds/yaesu-ft3d/index.md b/content/equipment/radio-stuff/handhelds/yaesu-ft3d/index.md index 9f0f687..079b581 100644 --- a/content/equipment/radio-stuff/handhelds/yaesu-ft3d/index.md +++ b/content/equipment/radio-stuff/handhelds/yaesu-ft3d/index.md @@ -1,12 +1,11 @@ --- title: Yaesu FT-3D date: 2020-05-24 -lastmod: 2024-03-17T19:59:25+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- C4FM is one of the easiest digital operating mode to set up. Enter your @@ -52,16 +51,16 @@ the brightness at all, but YMMV. The FT-3D supports 4 power levels: LOW1 (0.3W), LOW2 (1W), LOW3 (2.5W) and HIGH (5W). -| Power output on 2m and 70cm | | -| ---- | --- | +| Power output on 2m and 70cm | | +| ------------------------------------------------------------------ | ---------------------------------------------------------------------- | | ![2m power output](power-2m.png "power output around 145.500 MHz") | ![70cm power output](power-70cm.png "power output around 433.500 MHz") | | Power setting | Output 2m | Output 70cm | -| :--- | :----- | :----- | -| LOW1 | 350 mW | 340 mW | -| LOW2 | 1.00 W | 972 mW | -| LOW3 | 2.80 W | 2.44 W | -| HIGH | 5.66 W | 4.87 W | +| :------------ | :-------- | :---------- | +| LOW1 | 350 mW | 340 mW | +| LOW2 | 1.00 W | 972 mW | +| LOW3 | 2.80 W | 2.44 W | +| HIGH | 5.66 W | 4.87 W | ## Band scope @@ -102,4 +101,3 @@ on 145.57500 MHz but receives on 432.57500 MHz. Although the recordings are sometimes quite buggy, I really appreciate this function on newer radios. No need to pull out your smartphone to get a recording on tape. - diff --git a/content/equipment/radio-stuff/handhelds/yaesu-ft4xe/index.md b/content/equipment/radio-stuff/handhelds/yaesu-ft4xe/index.md index bf0cea2..9be7910 100644 --- a/content/equipment/radio-stuff/handhelds/yaesu-ft4xe/index.md +++ b/content/equipment/radio-stuff/handhelds/yaesu-ft4xe/index.md @@ -2,12 +2,11 @@ title: Yaesu FT-4XE date: 2019-11-23 coverCaption: My FT-4X with a Diamond SRJ77 antenna. -lastmod: 2024-03-17T19:59:25+0000 +lastmod: 2024-09-28T23:48:06+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- This is the first handheld radio (and the first radio at all) that I got. @@ -24,4 +23,3 @@ The radio is also small enough to just take it with you when you want to quickly have a radio with you. I'm not using it that much. Mostly when I want to listen to a FM radio station. - diff --git a/content/equipment/radio-stuff/software/cloudlog/index.md b/content/equipment/radio-stuff/software/cloudlog/index.md index 7bae578..3f4227f 100644 --- a/content/equipment/radio-stuff/software/cloudlog/index.md +++ b/content/equipment/radio-stuff/software/cloudlog/index.md @@ -1,8 +1,8 @@ --- title: Cloudlog -summary: +summary: date: 2023-02-10 -# lastmod: +# lastmod: #categories: #- amateur-radio #tags: @@ -19,10 +19,8 @@ showWordCount: false # site_exclude: true draft: true - --- My default logging “application”. It is used online. link: https://www.magicbug.co.uk/cloudlog/ - diff --git a/content/equipment/radio-stuff/software/cqrlog/index.md b/content/equipment/radio-stuff/software/cqrlog/index.md index b9064eb..bf88870 100644 --- a/content/equipment/radio-stuff/software/cqrlog/index.md +++ b/content/equipment/radio-stuff/software/cqrlog/index.md @@ -1,8 +1,8 @@ --- title: CQRLOG -summary: +summary: date: 2023-02-10 -# lastmod: +# lastmod: #categories: #- amateur-radio #tags: @@ -19,7 +19,6 @@ showWordCount: false # site_exclude: true draft: true - --- I used this for a while, is very bloated and with it's own database @@ -34,4 +33,3 @@ also it sometimes breakes and I'm fed up with the linux-ish way of tinkering and fixing things to get it working again. mostly the db is causing trouble. link: https://www.cqrlog.com/ - diff --git a/content/equipment/radio-stuff/software/qlog/index.md b/content/equipment/radio-stuff/software/qlog/index.md index 0547497..47f362b 100644 --- a/content/equipment/radio-stuff/software/qlog/index.md +++ b/content/equipment/radio-stuff/software/qlog/index.md @@ -1,8 +1,8 @@ --- title: QLog -summary: +summary: date: 2023-02-10 -# lastmod: +# lastmod: #categories: #- amateur-radio #tags: @@ -19,7 +19,6 @@ showWordCount: false # site_exclude: true draft: true - --- I've tested this in it's early stage and I don't know about it's actual @@ -27,4 +26,3 @@ progress, but it looked very promising and actively developed by Ladislav Foldyna, OK1MLG. link: https://github.com/foldynl/QLog - diff --git a/content/equipment/radio-stuff/software/radiomail/index.md b/content/equipment/radio-stuff/software/radiomail/index.md index 4bb3e2f..7231416 100644 --- a/content/equipment/radio-stuff/software/radiomail/index.md +++ b/content/equipment/radio-stuff/software/radiomail/index.md @@ -4,7 +4,7 @@ summary: > A very good-looking and functional **Winlink client for iOS**. Combine this with Varanny on a headless Linux or Windows PC and you are unstoppable out in the field. date: 2024-02-16 -# lastmod: +# lastmod: #categories: #- amateur-radio #tags: @@ -21,7 +21,6 @@ showWordCount: false # site_exclude: true draft: true - --- I already wrote about [my short experience with RadioMail][1] in an article back in @@ -33,4 +32,3 @@ VARA programs which makes swapping HF rigs a dream! [1]: {{< ref "/posts/2023/58-winlink-on-my-iphone-with-radiomail" >}} If you like minimal equipment on your hikes or activations: this might be it for you. - diff --git a/content/equipment/radio-stuff/software/rumlog-ng/index.md b/content/equipment/radio-stuff/software/rumlog-ng/index.md index 0223d1e..2767f5e 100644 --- a/content/equipment/radio-stuff/software/rumlog-ng/index.md +++ b/content/equipment/radio-stuff/software/rumlog-ng/index.md @@ -1,8 +1,8 @@ --- title: RUMlogNG -summary: +summary: date: 2023-02-10 -# lastmod: +# lastmod: #categories: #- amateur-radio #tags: @@ -19,7 +19,6 @@ showWordCount: false # site_exclude: true draft: true - --- For MacOS only. This is one of the best logging applications for MacOS that @@ -30,4 +29,3 @@ link: https://dl2rum.de/rumsoft/RUMLog.html There is also a version for the iPhone. link: https://dl2rum.de/rumsoft/RUMlog2Go.html - diff --git a/content/equipment/radio-stuff/software/wavelog/index.md b/content/equipment/radio-stuff/software/wavelog/index.md index a516edf..caf6c43 100644 --- a/content/equipment/radio-stuff/software/wavelog/index.md +++ b/content/equipment/radio-stuff/software/wavelog/index.md @@ -23,4 +23,3 @@ draft: true Replaced my cloudlog installation. I am very happy with this. - diff --git a/content/equipment/radio-stuff/transceivers/_index.md b/content/equipment/radio-stuff/transceivers/_index.md index 443deee..82c45c8 100644 --- a/content/equipment/radio-stuff/transceivers/_index.md +++ b/content/equipment/radio-stuff/transceivers/_index.md @@ -2,7 +2,7 @@ title: Transceivers summary: The big ones. May contain QRP transceivers. aliases: -- /equipment/transceiver/ + - /equipment/transceiver/ #date: 2022-11-16T22:19:11+01:00 #tags: #- transceiver @@ -20,5 +20,4 @@ showWordCount: false feed_exclude: true weight: 10 - --- diff --git a/content/equipment/radio-stuff/transceivers/lab599-tx500/index.md b/content/equipment/radio-stuff/transceivers/lab599-tx500/index.md index d7dd975..f48014a 100644 --- a/content/equipment/radio-stuff/transceivers/lab599-tx500/index.md +++ b/content/equipment/radio-stuff/transceivers/lab599-tx500/index.md @@ -8,7 +8,6 @@ coverCaption: TX-500 in action on a stone showBreadcrumbs: true showReadingTime: false showWordCount: false - --- This is the third HF transceiver that I bought. I was looking for a while for @@ -32,7 +31,7 @@ no punch and I'm not using this for the moment. ## Original CAT cable settings | Setting | Value | -| :--- | :--- | +| :-------- | :------ | | RIG type | KENWOOD | | Baud rate | 9600 | | Data bits | 8 | @@ -46,15 +45,15 @@ I use these rigctld commands: ### KENWOOD mode -~~~console +```console $ rigctld -m 2014 -r /dev/ttyUSB0 -d /dev/ttyUSB0 -p /dev/ttyUSB0 -P RTS -s 9600 -vvvv -~~~ +``` ### Lab599 mode -~~~console +```console $ rigctld -m 2050 -r /dev/ttyUSB0 -d /dev/ttyUSB0 -p /dev/ttyUSB0 -P RTS -s 9600 -vvvv -~~~ +``` ## Power output at 10% @@ -64,18 +63,18 @@ I do not want to hide them :) As always, take these with a grain of salt! -| BAND | FREQUENCY | TONE SETTINGS | TX500 | tinySA | -| :--- | :--- | :--- | ---: | ---: | -| 80m | 3.530 MHz | NORMAL | 0.8 W | 1.72 W | -| | | DUAL | 0.6 W | 0.48 W | -| 40m | 7.130 MHz | NORMAL | 0.8 W | 1.40 W | -| | | DUAL | 0.6 W | 0.41 W | -| 20m | 14.285 MHz | NORMAL | 0.7 W | 1.40 W | -| | | DUAL | 0.6 W | 0.44 W | -| 15m | 21.245 MHz | NORMAL | 1.3 W | 2.13 W | -| | | DUAL | 1.1 W | 0.60 W | -| 10m | 29.080 MHz | NORMAL | 1.7 W | 2.86 W | -| | | DUAL | 1.5 W | 0.90 W | +| BAND | FREQUENCY | TONE SETTINGS | TX500 | tinySA | +| :--- | :--------- | :------------ | ----: | -----: | +| 80m | 3.530 MHz | NORMAL | 0.8 W | 1.72 W | +| | | DUAL | 0.6 W | 0.48 W | +| 40m | 7.130 MHz | NORMAL | 0.8 W | 1.40 W | +| | | DUAL | 0.6 W | 0.41 W | +| 20m | 14.285 MHz | NORMAL | 0.7 W | 1.40 W | +| | | DUAL | 0.6 W | 0.44 W | +| 15m | 21.245 MHz | NORMAL | 1.3 W | 2.13 W | +| | | DUAL | 1.1 W | 0.60 W | +| 10m | 29.080 MHz | NORMAL | 1.7 W | 2.86 W | +| | | DUAL | 1.5 W | 0.90 W | ## PA500 @@ -83,4 +82,3 @@ Since the TX-500 does not have a built-in tuner the PA500 is well worth the investment. It got it's [own page]({{/* ref "/equipment/accessories/diy599-pa500/" */}}) in my equipment collecion. - diff --git a/content/equipment/radio-stuff/transceivers/yaesu-ft891/index.md b/content/equipment/radio-stuff/transceivers/yaesu-ft891/index.md index 63ffc05..993a252 100644 --- a/content/equipment/radio-stuff/transceivers/yaesu-ft891/index.md +++ b/content/equipment/radio-stuff/transceivers/yaesu-ft891/index.md @@ -1,11 +1,11 @@ --- title: Yaesu FT-891 aliases: -- /equipment/transceiver/yaesu-fd891/ -- /equipment/transceiver/yaesu-ft891/ + - /equipment/transceiver/yaesu-fd891/ + - /equipment/transceiver/yaesu-ft891/ date: 2020-06-21T14:20:47+01:00 coverCaption: Field setup for Winlink -lastmod: 2024-04-13T19:06:32+0000 +lastmod: 2024-09-28T23:48:06+0000 #categories: #- amateur-radio #tags: @@ -13,7 +13,6 @@ lastmod: 2024-04-13T19:06:32+0000 showBreadcrumbs: true showReadingTime: false showWordCount: false - --- I got this because the IC-7300 was too chunky to be effectively @@ -62,7 +61,7 @@ Made from aluminium the [891escort](https://portablezero.com/yaesu857D.html) adds a little weight but also protection to the radio, especially for the knobs on the front panel. The addidional strap mounts can be -used to attach a sling to the radio, it could be easily carried now -- +used to attach a sling to the radio, it could be easily carried now -- not that I used that once, but it is there as a feature. My focus was the additional protection when I bought them. Now, a year later, I carry the radio inside a cloth bag without the escort just to save @@ -79,4 +78,3 @@ outside, but I haven't found a good one yet (and a short one). This radio is an excellent choice if you have enough power with you -- the current draw is very high compared to a QRP radio and an amplifier (Tx-500 with PA-500 for example). - diff --git a/content/license/index.md b/content/license/index.md index 288dfdf..9ad0c45 100644 --- a/content/license/index.md +++ b/content/license/index.md @@ -1,7 +1,7 @@ --- title: License date: 2022-12-04T18:15:03+01:00 -lastmod: 2023-11-27T16:42:24+0000 +lastmod: 2024-09-28T23:48:06+0000 comment: false @@ -15,7 +15,6 @@ sharingLinks: false feed_exclude: true #site_exclude: true - --- The content on this site is licensed under the @@ -60,4 +59,3 @@ rights may limit how you use the material. This page was inspired by [mrus](https://xn--gckvb8fzb.com/license/) because of the perfect wording. We do not stay in any relation, but if you like hack related computer stuff: there are some nice articles on his website. - diff --git a/content/links/index.md b/content/links/index.md index a88fd71..1d1b0ac 100644 --- a/content/links/index.md +++ b/content/links/index.md @@ -12,7 +12,6 @@ showWordCount: false showPagination: false feed_exclude: true - --- ## Digital modes performance comparison (Winlink) @@ -26,4 +25,3 @@ Let's compare some digital modes like PACTOR, VARA, ARDOP and WINMOR (†). A small collection of manuals that I saved. - diff --git a/content/notes/_index.md b/content/notes/_index.md index 171de9f..fbea7fc 100644 --- a/content/notes/_index.md +++ b/content/notes/_index.md @@ -1,7 +1,7 @@ --- title: Notes date: 2023-11-04T08:01:00+01:00 -#lastmod: +#lastmod: groupByYear: false showDate: false @@ -11,10 +11,8 @@ showWordCount: false showBreadcrumbs: true feed_exclude: true - #showPagination: false #showAuthor: false - --- These are notes that I will not or can not elaborate any further. Use them diff --git a/content/notes/archlinux/index.md b/content/notes/archlinux/index.md index e2a502c..de40e16 100644 --- a/content/notes/archlinux/index.md +++ b/content/notes/archlinux/index.md @@ -1,7 +1,7 @@ --- title: Archlinux date: 2023-11-29T20:33:48+0100 -lastmod: 2024-09-14T09:53:25+0000 +lastmod: 2024-09-28T23:48:06+0000 tags: - archlinux - systemd @@ -15,7 +15,6 @@ showBreadcrumbs: true feed_exclude: true # site_exclude: true - --- Arch Linux @@ -33,9 +32,9 @@ If your user account is locked, wait 15 minutes (usually) and you can try again. If you need to unlock your account immediately: run this command (if you have another user that can login on the box): -~~~console +```console $ sudo faillock --user dominic --reset -~~~ +``` Calling `faillock` without arguments show an overview. @@ -50,13 +49,13 @@ This makes my ethernet interface be called **eth0** again. Create `/usr/lib/systemd/network/80-ether.link` with this content: -~~~systemd +```systemd [Match] Type=ether [Link] NamePolicy=keep kernel -~~~ +``` Reboot. @@ -66,13 +65,13 @@ This makes my wireless interface be called **wlan0** again. Create `/usr/lib/systemd/network/80-wlan.link` with this content: -~~~systemd +```systemd [Match] Type=wlan [Link] NamePolicy=keep kernel -~~~ +``` Reboot. @@ -80,21 +79,21 @@ Reboot. ### Using **iwctl** -~~~console +```console $ iwctl device list $ iwctl station wlan0 scan $ iwctl station wlan0 get-networks $ iwctl station wlan0 connect {ssid} -~~~ +``` ### Using **nmcli** (NetworkManager) -~~~console +```console $ nmcli device wifi list $ nmcli device wifi rescan $ nmcli device wifi connect {ssid} --ask $ nmcli device wifi show-password -~~~ +``` Last command shows the connected SSID and a QR-code within the terminal. @@ -106,23 +105,23 @@ We create some files in `/etc/NetworkManager/conf.d`: `wifi_backend.conf`: -~~~ini +```ini [device] wifi.backend=iwd -~~~ +``` ## Using `dhcpcd` as DHCP client `dhcp-client.conf`: -~~~ini +```ini [main] dhcp=dhcpcd -~~~ +``` ## Using the CPU with hashcat -~~~console +```console $ hashcat -I hashcat (v6.2.6) starting in backend information mode @@ -147,7 +146,7 @@ OpenCL Platform ID #1 Local.Memory...: 64 KB OpenCL.Version.: OpenCL C 1.2 Driver.Version.: 24.31.30508 -~~~ +``` This is what I've seen on `hashcat -I` for a long time now but I never dig myself into this "problem" -- but today I tried to find the reason why there is no CPU @@ -156,19 +155,19 @@ listed on my Carbon X1 Gen7 laptop. After a few minutes doing some trial & error I finally got the CPU listed after installing _pocl_. -~~~console +```console $ paru -S pocl -~~~ +``` Or, on my gaming laptop running a cheap clone of Ubuntu: -~~~console +```console $ sudo apt install pocl-opencl-icd -~~~ +``` Now my `hashcat -I` looks like this: -~~~console +```console $ hashcat -I took 6s hashcat (v6.2.6) starting in backend information mode @@ -212,7 +211,7 @@ OpenCL Platform ID #2 Local.Memory...: 256 KB OpenCL.Version.: OpenCL C 1.2 PoCL Driver.Version.: 6.0 -~~~ +``` ## Paru / Pacman @@ -225,127 +224,127 @@ I had to copy this to my notes archive here... #### install -~~~console +```console $ paru -S -~~~ +``` #### Edit PKGBUILD and skip checksum check -~~~console +```console $ paru -S gnucash-xbt --fm helix --mflags "--skipchecksums" -~~~ +``` #### uninstall (-n: no backup files; -s: remove dependencies) -~~~console +```console $ paru -Rns -~~~ +``` #### system update -~~~console +```console $ paru -Syu -~~~ +``` ### Mirrors #### select fastest -~~~console +```console $ sudo pacman-mirrors --fasttrack -~~~ +``` #### select by country -~~~console +```console $ sudo pacman-mirrors --country Germany,France,Austria -~~~ +``` ### Search repo #### search package -~~~console +```console $ paru -Ss -~~~ +``` #### package details -~~~console +```console $ paru -Si -~~~ +``` #### list files -~~~console +```console $ paru -Fl -~~~ +``` #### find package for file -~~~console +```console $ pkgfile -~~~ +``` #### search command -~~~console +```console $ paru -F glxinfo -~~~ +``` ### Installed packages #### search package -~~~console +```console $ paru -Qs -~~~ +``` #### package details -~~~console +```console $ paru -Qii -~~~ +``` #### list files -~~~console +```console $ paru -Ql -~~~ +``` #### orphans -~~~console +```console $ paru -Qdt -~~~ +``` #### manually installed (list all aur) -~~~console +```console $ pacman -Qm -~~~ +``` ### Clean-up #### clear cache -~~~console +```console $ paru -Sc -~~~ +``` ### Official repo vs. AUR #### repo -~~~console +```console $ paru -[...] --repo -~~~ +``` #### aur -~~~console +```console $ paru -[...] --aur -~~~ +``` @@ -356,25 +355,25 @@ on the box, also using the raw table should not create useless states as for wha I understand from the source article on [serverfault.com](https://serverfault.com/a/823336). -~~~console +```console $ sudo ipset -N badips iphash $ while read ip; do sudo ipset -A badips "$ip"; done < blocked.txt $ sudo iptables -t raw -I PREROUTING -m set --match-set badips src,dst -j DROP $ sudo iptables-save -f /etc/iptables/iptables.rules -~~~ +``` Enable iptables in case it is not running yet. -~~~console +```console $ sudo systemctl enable --now iptables.service -~~~ +``` Also make the ipset configuration persistent: -~~~console +```console $ sudo ipset save -file /etc/ipset.conf $ sudo systemctl enable ipset.service -~~~ +``` Reboot to test its persistency. @@ -382,10 +381,10 @@ Reboot to test its persistency. `99-unmanaged-devices.conf`: -~~~ini +```ini [keyfile] unmanaged-devices=mac:xx:xx:xx:xx:xx:xx -~~~ +``` ## Prefer local DNS instead of systemd-resolved defaults @@ -419,11 +418,11 @@ The wiki page is for Raspberry Pi 4. I create my wine prefixes usually like this: -~~~console +```console $ export WINEPREFIX=/home/dominic/.wine-winlink $ export WINEARCH=win32 $ wine wineboot -~~~ +``` ## Installing multiple ruby versions @@ -431,60 +430,59 @@ I came to the point to test an older website from me and it was made with Jekyll which I had to install quickly. Problems occured with OpenSSL and I finally managed to install ruby version 2.7.1 and 3.0.0 in my home directory. -~~~console +```console $ rvm pkg install openssl $ rvm install "ruby-3.0.0" --with-openssl-dir=$HOME/.rvm/usr $ rvm install "ruby-2.7.1" --with-openssl-dir=$HOME/.rvm/usr -~~~ +``` Later in the desired directory, I re-installed the gems because with ruby 2.7.1 I got another "Directory not found" error. I had to do this because I used ruby 2.7.1 on one website. -~~~console +```console $ bundle install --force -~~~ +``` ## Bigger font for systemd-boot Edit `/boot/loader/loader.conf`: -~~~ +``` console-mode 0 -~~~ +``` Possible settings are: -| Value | Description | -| :--- | :--- | -| 0 | Standard UEFI 80x25 mode | -| 1 | 80x50 mode, not supported by all devices | +| Value | Description | +| :---- | :------------------------------------------------------------------ | +| 0 | Standard UEFI 80x25 mode | +| 1 | 80x50 mode, not supported by all devices | | 2 | the first non-standard mode provided by the device firmware, if any | -| auto | Pick a suitable mode automatically using heuristics | -| max | Pick the highest-numbered available mode | -| keep | Keep the mode selected by firmware (the default) | +| auto | Pick a suitable mode automatically using heuristics | +| max | Pick the highest-numbered available mode | +| keep | Keep the mode selected by firmware (the default) | More details can be found in {{< man loader.conf 5 >}}. ## Manual sections -| Section | Description | -| :--- | :--- | -| 1 | Section 1 of the manual describes **user commands** and tools, for example, file manipulation tools, shells, compilers, web browsers, file and image viewers and editors, and so on | +| Section | Description | +| :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1 | Section 1 of the manual describes **user commands** and tools, for example, file manipulation tools, shells, compilers, web browsers, file and image viewers and editors, and so on | | 2 | Section 2 of the manual describes the Linux **system calls**. A system call is an entry point into the Linux kernel. Usually, system calls are not invoked directly: instead, most system calls have corresponding C library wrapper functions which perform the steps required (e.g., trapping to kernel mode) in order to invoke the system call. Thus, making a system call looks the same as invoking a normal library function. | -| 3 | Section 3 of the manual describes all **library functions** excluding the library functions (system call wrappers) described in Section 2, which implement system calls. | -| 4 | Section 4 of the manual describes **special files (devices)**. | -| 5 | Section 5 of the manual describes various **file formats**, as well as the **corresponding C structures**, if any. | -| 6 | Section 6 of the manual describes the **games** and funny little programs available on the system. | -| 7 | Section 7 of the manual provides **overviews on various topics**, and describes conventions and protocols, character set standards, the standard filesystem layout, and miscellaneous other things. | +| 3 | Section 3 of the manual describes all **library functions** excluding the library functions (system call wrappers) described in Section 2, which implement system calls. | +| 4 | Section 4 of the manual describes **special files (devices)**. | +| 5 | Section 5 of the manual describes various **file formats**, as well as the **corresponding C structures**, if any. | +| 6 | Section 6 of the manual describes the **games** and funny little programs available on the system. | +| 7 | Section 7 of the manual provides **overviews on various topics**, and describes conventions and protocols, character set standards, the standard filesystem layout, and miscellaneous other things. | ## Encoding videos with ffmpeg This is not an Arch way of encoding videos, but since I do this on my... -~~~console +```console $ ffmpeg -i -c:v libx264 -b:v 1M -maxrate 1M -bufsize 2M -pass 1 -f null /dev/null $ ffmpeg -i -c:v libx264 -b:v 1M -maxrate 1M -bufsize 2M -pass 2 -~~~ - +``` diff --git a/content/notes/freebsd/index.md b/content/notes/freebsd/index.md index b3f0849..6cb85d8 100644 --- a/content/notes/freebsd/index.md +++ b/content/notes/freebsd/index.md @@ -1,12 +1,12 @@ --- title: FreeBSD date: 2024-08-31T08:35:46+02:00 -lastmod: 2024-09-07T21:58:19+0000 -description: -summary: +lastmod: 2024-09-28T23:48:06+0000 +description: +summary: tags: -- freebsd -- git + - freebsd + - git #showDate: false showReadingTime: false @@ -17,7 +17,6 @@ showBreadcrumbs: true feed_exclude: true # site_exclude: true - --- Some basic and random information about FreeBSD. @@ -49,77 +48,85 @@ As for my understanding only source updates are possible on the STABLE branch, but I still use pkg to install pre-compiled packages -- I will find out if that breaks things. -1. Update sources - ~~~console - $ doas git -C /usr/src pull - ~~~ +1. Update sources + + ```console + $ doas git -C /usr/src pull + ``` 2. Check `/usr/src/UPDATING` -3. Go to `/usr/src` - ~~~console - $ cd /usr/src - ~~~ +3. Go to `/usr/src` -4. Compile world - ~~~console - $ doas make -j8 buildworld - ~~~ + ```console + $ cd /usr/src + ``` -5. Compile and install kernel - ~~~console - $ doas make -j8 kernel - ~~~ +4. Compile world - This is equivalent to `make -j8 buildkernel installkernel`. + ```console + $ doas make -j8 buildworld + ``` -6. Reboot - ~~~console - $ shutdown -r now - ~~~ - -7. Update config files - ~~~console - $ doas etcupdate -p - ~~~ - - `-p` short explained: - - > Enable “pre-world” mode. Only merge changes to files that - > are necessary to successfully run ‘make installworld’ or - > ‘make installkernel’. - -8. Again, go to `/usr/src` - ~~~console - $ cd /usr/src - ~~~ - -9. Install world - ~~~console - $ doas make installworld - ~~~ - -10. Update config files (after world installation) - ~~~console +5. Compile and install kernel + + ```console + $ doas make -j8 kernel + ``` + + This is equivalent to `make -j8 buildkernel installkernel`. + +6. Reboot + + ```console + $ shutdown -r now + ``` + +7. Update config files + + ```console + $ doas etcupdate -p + ``` + + `-p` short explained: + + > Enable “pre-world” mode. Only merge changes to files that + > are necessary to successfully run ‘make installworld’ or + > ‘make installkernel’. + +8. Again, go to `/usr/src` + + ```console + $ cd /usr/src + ``` + +9. Install world + + ```console + $ doas make installworld + ``` + +10. Update config files (after world installation) + + ```console $ doas etcupdate -B - ~~~ + ``` `-B` explained: > Do not build generated files in a private object tree. > Instead, reuse the generated files from a previously built - > object tree that matches the source tree. This can be + > object tree that matches the source tree. This can be > useful to avoid gratuitous conflicts in sendmail(8) - > configuration files when bootstrapping. It can also be + > configuration files when bootstrapping. It can also be > useful for building a tarball that matches a specific > world build. -11. Another one, reboot - ~~~console +11. Another one, reboot + ```console $ shutdown -r now - ~~~ + ``` System is up to date, following the branch [stable/14][2] (for now). [2]: https://cgit.freebsd.org/src/log/?h=stable/14 - diff --git a/content/notes/openbsd/index.md b/content/notes/openbsd/index.md index 7c0ee66..b311c98 100644 --- a/content/notes/openbsd/index.md +++ b/content/notes/openbsd/index.md @@ -1,7 +1,7 @@ --- title: OpenBSD date: 2023-11-29T20:33:48+0100 -lastmod: 2024-05-19T20:54:02+0000 +lastmod: 2024-09-28T23:48:06+0000 tags: - openbsd - python @@ -23,7 +23,6 @@ showBreadcrumbs: true feed_exclude: true # site_exclude: true - --- These are random notes -- more or less about OpenBSD. Some may @@ -38,13 +37,13 @@ to the weather page. It was complaining about different certificates and I wasn't sure how I could fix that easily. I thought wildcard certs could fix that because I'd only have one cert for all the domains. -~~~console +```console $ doas pkg_add certbot -~~~ +``` Run and follow instructions: -~~~console +```console $ doas certbot certonly --manual --preferred-challenges dns \ --server https://acme-v02.api.letsencrypt.org/directory \ --manual-public-ip-logging-ok -d '*.oe7drt.com' -d oe7drt.com @@ -67,19 +66,19 @@ If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -~~~ +``` Also adding my .net domain to the certs: -~~~console +```console $ doas certbot certonly --manual --manual-public-ip-logging-ok \ --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory \ -d "*.oe7drt.com" -d "*.oe7drt.net" -d oe7drt.com -d oe7drt.net -~~~ +``` Some changes to the apache2 configuration were made: -~~~apache +```apache MDMember *.oe7drt.com MDMember *.oe7drt.net @@ -91,11 +90,11 @@ MDChallengeDns01 /etc/apache2/dns/dns-challenge.phar -- MDCertificateAgreement accepted MDContactEmail {email_redacted} MDCAChallenges dns-01 -~~~ +``` It seems Apache likes this: -![cropped output of apaches status website /md-status](./mod-status-certs.png) +![cropped output of apaches status website /md-status](./mod-status-certs.png) This is **currently testing** because I have no idea if mod_md will update these certs itself or if I should run certbot again when it's needed. In the meantime I monitor my @@ -122,13 +121,13 @@ I've now seen that no certificate gets renewed automatically. The actual certificate got renewed with the command from above (including the .net domain). The output of that command clearly states: -~~~console +```console NEXT STEPS: - This certificate will not be renewed automatically. Autorenewal of --manual certificates requires the use of an authentication hook script (--manual-auth-hook) but one was not provided. To renew this certificate, repeat this same certbot command before the certificate's expiry date. -~~~ +``` I will execute the same certbot command before the certificate's expiry date the next time to enhance my experience :wink: @@ -138,11 +137,11 @@ the next time to enhance my experience :wink: ## Get some filesystem information -~~~console +```console $ dumpfs /dev/rsd1a magic 19540119 (FFS2) time Thu Nov 16 21:14:34 2023 [...] (snip; lots of output...) -~~~ +``` This can be helpful if you want to know, which filesystem you actually use on your OpenBSD box. @@ -160,15 +159,15 @@ microSD cards. Delete the first bytes on the stick: -~~~console +```console $ doas dd if=/dev/zero bs=1m count=1 of=/dev/rsd2c -~~~ +``` Create the needed partition: -~~~console +```console $ echo -n 'edit 0\n0c\n\n2048\n*\nq\n' | doas fdisk -e sd2 -~~~ +``` A short explanation (`\n` is basically a newline; the Enter key): @@ -181,7 +180,7 @@ A short explanation (`\n` is basically a newline; the Enter key): This results in a partition table like this: -~~~console +```console $ fdisk sd2 Disk: sd2 geometry: 966/255/63 [15523840 Sectors] Offset: 0 Signature: 0xAA55 @@ -192,11 +191,11 @@ Offset: 0 Signature: 0xAA55 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused -~~~ +``` whereas a `fdisk -iy sd2` creates a table like this: -~~~console +```console $ fdisk sd2 Disk: sd2 geometry: 966/255/63 [15523840 Sectors] Offset: 0 Signature: 0xAA55 @@ -207,20 +206,20 @@ Offset: 0 Signature: 0xAA55 1: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] Unused *3: A6 0 1 2 - 966 80 10 [ 64: 15523776 ] OpenBSD -~~~ +``` Don't forget to create the file system: -~~~console +```console $ doas newfs_msdos -F 32 -L 8GB_Stick sd2i -~~~ +``` ## Mounting disk images -~~~console +```console $ doas vnconfig /dev/vnd0c /path/to/imagefile.img $ doas mount_msdos /dev/vnd0i ~/mnt/disk -~~~ +``` ## Packages / Ports @@ -230,9 +229,9 @@ Updating dependencies before installing (switch `-U`) does help sometimes... > Can't install [package] because of libraries -~~~console +```console $ doas pkg_add -uiU -~~~ +``` Should fix that. @@ -242,9 +241,9 @@ Should fix that. Install python modules with pip. -~~~console +```console $ python3 -m pip install --user --upgrade ${example_module} -~~~ +``` ## Rust @@ -259,9 +258,9 @@ that disables the optional features (battery). So the final installation of Starship looks like: -~~~console +```console $ cargo install starship --locked --no-default-features -~~~ +``` The compilation took about 9½ minutes. @@ -280,7 +279,7 @@ and it failes at downloading the satellites infos from other websites. I solved this by copying `/etc/ssl` to `/var/www/etc/ssl` via rsync, keeping file permissions intact. I may setup a cronjob for this maybe. -~~~console +```console $ cd /var/www $ doas rsync -avhzrp /etc/ssl/ etc/ssl sending incremental file list @@ -297,7 +296,7 @@ total size is 344.08K speedup is 2.21 $ doas rcctl restart php80_fpm php80_fpm(ok) php80_fpm(ok) -~~~ +``` ## Cloudlog (client) @@ -306,9 +305,9 @@ Use of the online logging tool Cloudlog on my OpenBSD machine. First off, connect the TX-500 with the computer (CAT cable) and start `rigctld`: -~~~console +```console $ rigctld -m 2014 -r /dev/cuaU0 -s 9600 -v -~~~ +``` I use `2014` which is actually a Kenwood TS-2000 -- but on OpenBSD hamlib is currently at version 4.4 and the TX-500 is only available on @@ -316,16 +315,16 @@ at version 4.4 and the TX-500 is only available on For newer hamlib versions (≥4.5) use the rig 2050 like: -~~~console +```console $ rigctld -m 2050 -r /dev/cuaU0 -s 9600 -v -~~~ +``` In combination with Digirig I would probably use something like this, because otherwise Digirig would instantly key the transceiver: -~~~console +```console $ rigctld -m 2014 -r /dev/cuaU0 -s 9600 --set-conf=rts_state=OFF -v -~~~ +``` Well, I tested this on my desk at home but never used my Laptop for doing digital modes with my TX-500 though -- but I want this to be noted @@ -333,9 +332,9 @@ here just in case I should need it someday. On another terminal start [`cloudlogbashcat.sh`](https://github.com/g0wfv/CloudlogBashCat): -~~~console +```console $ cloudlogbashcat.sh -~~~ +``` Now, if you open the website of your Cloudlog installation (and if you have setup your rigs) and select the radio that uses cloudlogbashcat. @@ -348,38 +347,38 @@ setup your rigs) and select the radio that uses cloudlogbashcat. I defined an alias `ls` but I forgot where it was. -~~~console +```console $ PS4='+%x:%I>' zsh -i -x -c '' |& grep ls -~~~ +``` There will be a lot of screen output probably. ### Renaming multiple directories -~~~console +```console $ count=1; zmv -n '*' '$f[1,4]/$((count++))-$f[12,-1]' mv -- 2023-08-05-problems-with-apt-keys-on-my-hotspots 2023/51-problems-with-apt-keys-on-my-hotspots mv -- 2023-08-26-dmrhost-on-a-raspberrypi4-with-openbsd-or-freebsd 2023/52-dmrhost-on-a-raspberrypi4-with-openbsd-or-freebsd mv -- 2023-09-16-openbsd-current-built-from-source 2023/53-openbsd-current-built-from-source -~~~ +``` Moves subdirectories into other folder structure with a counting variable. -~~~console +```console $ count=16; zmv -Q '*(/)' '$((count++))-$f[12,-1]' mv -- 2021-08-08-win10-grub2-and-uefi 16-win10-grub2-and-uefi mv -- 2021-08-12-running-n1mm-logger-on-linux 17-running-n1mm-logger-on-linux mv -- 2021-10-03-winlink-and-vara-on-linux 18-winlink-and-vara-on-linux mv -- 2021-10-03-wordlist-generation 19-wordlist-generation mv -- 2021-10-26-processes-accessing-mountpoints 20-processes-accessing-mountpoints -~~~ +``` That was the second part, counting from where we stopped from the previous directory. There was a draft post left in `2022` which I deleted, now I had to renumber the folders from `28-*` to `34-` to a number lower by 1. -~~~console +```console $ for i in {29..34}; do zmv -n -W $i'*' $((--i))'*'; done mv -- 29-using-nfs-on-a-raspberry-pi 28-using-nfs-on-a-raspberry-pi mv -- 30-vpn-tunnel-into-hamnet-on-fedora-36 29-vpn-tunnel-into-hamnet-on-fedora-36 @@ -387,15 +386,15 @@ mv -- 31-winlink-on-linux-fix-invalid-handle-on-logfiles 30-winlink-on-linux-fix mv -- 32-hamnet-on-the-pfsense 31-hamnet-on-the-pfsense mv -- 33-changing-network-metrics-on-linux 32-changing-network-metrics-on-linux mv -- 34-change-git-submodule-url 33-change-git-submodule-url -~~~ +``` So, there is still one post left that is actually a draft post and I'd like to remove the leading number from that directory. -~~~console +```console $ zmv -n -W '59-*' '*' mv -- 59-pat-winlink-on-openbsd pat-winlink-on-openbsd -~~~ +``` ## Neovim @@ -418,13 +417,13 @@ If that does not work, it is mostly a submodule. You can try to update and compi Switch to the folder, update `make` with `gmake` and finally run `gmake` in that folder. That will produce a compiled output (a library) and the updated procedure will pick that up at the next run and the submodule will usually be ignored unless the main repo has new commits -in its tree. You may then stash the local changes and re-run the update procedure again. +in its tree. You may then stash the local changes and re-run the update procedure again. ## Concatenate sound files (.wav) -~~~console +```console $ sox *.wav one-big-soundfile.wav -~~~ +``` `cat *.wav > bigfile.wav` works too, but different. That would put all audio files into separate streams at the output file whereas `sox` @@ -432,16 +431,15 @@ appends one file after another in the big output file. ## Manual page sections -| Section | Description | -| :--- | :--- | -| 1 | General Commands | -| 2 | System Calls | -| 3 | Library Functions | -| 3p | Perl Library | -| 4 | Device Drivers | -| 5 | File Formats | -| 6 | Games | +| Section | Description | +| :------ | :------------------------ | +| 1 | General Commands | +| 2 | System Calls | +| 3 | Library Functions | +| 3p | Perl Library | +| 4 | Device Drivers | +| 5 | File Formats | +| 6 | Games | | 7 | Miscallaneous Information | -| 8 | System Manager's Manual | +| 8 | System Manager's Manual | | 9 | Kernel Developer's Manual | - diff --git a/content/notes/raspberry-pi/index.md b/content/notes/raspberry-pi/index.md index 8970776..7ea69a8 100644 --- a/content/notes/raspberry-pi/index.md +++ b/content/notes/raspberry-pi/index.md @@ -1,7 +1,7 @@ --- title: Raspberry Pi date: 2024-01-27T11:01:31+0000 -#lastmod: +#lastmod: #showDate: false showReadingTime: false @@ -12,7 +12,6 @@ showBreadcrumbs: true feed_exclude: true # site_exclude: true - --- Some basic info about Raspberry Pi of any version. @@ -23,17 +22,17 @@ Some basic info about Raspberry Pi of any version. #### Actual models -| LED Activity | Description | -|:------------------|:------------------------------------| -| 3 flashes | start.elf not found | -| 4 flashes | start.elf not launch-able (corrupt) | -| 7 flashes | kernel.img not found | +| LED Activity | Description | +| :---------------- | :----------------------------------------------------------------------------------------------- | +| 3 flashes | start.elf not found | +| 4 flashes | start.elf not launch-able (corrupt) | +| 7 flashes | kernel.img not found | | 8 flashes | SDRAM not recognized. You need a newer bootcode.bin/start.elf firmware, or your SDRAM is damaged | #### Older models up to Raspberry Pi 3 | LED Activity | Description | -|:------------------|:-------------------------------------| +| :---------------- | :----------------------------------- | | 3 flashes | loader.bin not found | | 4 flashes | loader.bin not launch-able (corrupt) | | 5 flashes | start.elf not found | @@ -43,21 +42,21 @@ Some basic info about Raspberry Pi of any version. ### Raspberry Pi 4 | Long flashes | Short flashes | Description | -|:-------------|:--------------|:------------------------------------| -| 0 | 3 | Generic failure to boot | -| 0 | 4 | start*.elf not found | -| 0 | 7 | Kernel image not found | -| 0 | 8 | SDRAM failure | +| :----------- | :------------ | :---------------------------------- | +| 0 | 3 | Generic failure to boot | +| 0 | 4 | start\*.elf not found | +| 0 | 7 | Kernel image not found | +| 0 | 8 | SDRAM failure | | 0 | 9 | Insufficient SDRAM | | 0 | 10 | In HALT state | -| 2 | 1 | Partition not FAT | -| 2 | 2 | Failed to read from partition | -| 2 | 3 | Extended partition not FAT | -| 2 | 4 | File signature/hash mismatch - Pi 4 | -| 4 | 4 | Unsupported board type | -| 4 | 5 | Fatal firmware error | -| 4 | 6 | Power failure type A | -| 4 | 7 | Power failure type B | +| 2 | 1 | Partition not FAT | +| 2 | 2 | Failed to read from partition | +| 2 | 3 | Extended partition not FAT | +| 2 | 4 | File signature/hash mismatch - Pi 4 | +| 4 | 4 | Unsupported board type | +| 4 | 5 | Fatal firmware error | +| 4 | 6 | Power failure type A | +| 4 | 7 | Power failure type B | ## Freeze a package with apt/apt-get @@ -73,9 +72,9 @@ Run `wifi-menu`. It does not survice a reboot though! I prefer `iwctl` or NetworkManager, so what I do: -~~~console +```console # pacman -S networkmanager -~~~ +``` ### No network after boot @@ -85,15 +84,15 @@ file was totally messed up (a bracket too much I think). So there is a quick way to connect to a WiFi network with the use of `nmcli` (NetworkManager). -~~~console +```console $ sudo nmcli device wifi connect [ssid] password [password] -~~~ +``` You can view networks with (no need for _sudo_): -~~~console +```console $ nmcli device wifi list -~~~ +``` ### Moving to testing (from bookworm) @@ -107,24 +106,24 @@ prompt that I use on my computers -- it needed a newer version of the First of all, upgrade to the latest packages. -~~~console +```console $ sudo apt update && sudo apt upgrade -~~~ +``` Now change the release name (e.g. `bookworm`) to `testing` in `/etc/apt/sources.list`: -~~~ +``` deb http://deb.debian.org/debian testing main contrib non-free non-free-firmware deb http://deb.debian.org/debian-security/ testing-security main contrib non-free non-free-firmware deb http://deb.debian.org/debian testing-updates main contrib non-free non-free-firmware -~~~ +``` Then update step by step. -~~~console +```console $ sudo apt update $ sudo apt upgrade -~~~ +``` > Restart services during package upgrades without asking? @@ -132,10 +131,10 @@ Answer with Yes. Finish the update: -~~~console +```console $ sudo apt full-upgrade $ sudo reboot -~~~ +``` ### Python 3 @@ -145,18 +144,18 @@ I could not find `aprslib` as a package, so I had to install this myself. Debian did not allow the installation as it did before, so I had to create a virtual environment. And it went like this: -~~~console +```console $ python -m venv ~/.env $ source ~/.env/bin/activate $ pip install aprslib $ deactivate -~~~ +``` I now have a similar line in my crontab: -~~~crontab +```crontab 3 * * * * /home/dominic/.env/bin/python /home/dominic/bin/aprs_sendstatus.py -~~~ +``` We could also create virtual environments per application, module, package etc. @@ -175,25 +174,25 @@ Though, I have some quick notes to remember: Some software is needed to get status information about the batteries (which are of type 18650). -~~~console +```console $ python3 -m venv . $ curl -LsO https://raw.githubusercontent.com/geeekpi/upsplus/main/install.sh $ bash install.sh -~~~ +``` Any errors can be resolved by installing by hand. In my notes I thought that info is enough, so here we are :wink: We may have to edit our crontab: -~~~cron +```cron * * * * * /home/dr/bin/python3 /home/dr/bin/upsPlus.py > /tmp/upsPlus.log * * * * * /home/dr/bin/python3 /home/dr/bin/upsPlus_iot.py > /tmp/upsPlus_iot.log -~~~ +``` Getting information: -~~~console +```console $ python3 bin/upsPlus.py ------------------------------------------------------------ ------Current information of the detected Raspberry Pi------ @@ -210,7 +209,7 @@ Current Battery Power Supplement: 263.415 mW Successfully set the protection voltage to: 3700 mV ------------------------------------------------------------ Currently charging via Type C Port. -~~~ +``` The Raspberry Pi will continue to work if you remove the power cable. @@ -250,4 +249,3 @@ file (`pico_nuke_pico_w-1.1.uf2`) on the mounted device. On OpenBSD there is no response but you can see the filesystem unmounted/removed. Unplug the USB and plug it in again booting into uf2 loading, copying over the MicroPython uf2 file again. - diff --git a/content/notes/selfhosting/index.md b/content/notes/selfhosting/index.md index 53ea97a..d375ae6 100644 --- a/content/notes/selfhosting/index.md +++ b/content/notes/selfhosting/index.md @@ -12,4 +12,3 @@ for me. ## Replicating a MySQL database - diff --git a/content/notes/unraid/index.md b/content/notes/unraid/index.md index ab76f97..9862e20 100644 --- a/content/notes/unraid/index.md +++ b/content/notes/unraid/index.md @@ -1,7 +1,7 @@ --- title: Unraid date: 2024-01-25T22:41:48+0100 -lastmod: 2024-08-31T14:02:07+0000 +lastmod: 2024-09-28T23:48:06+0000 tags: - unraid - selfhost @@ -25,9 +25,9 @@ Selfhosting made easy -- with Unraid as storage and virtualisation server. Easy peasy -- though, I forget that command every time I need it. -~~~console +```console # docker network create {network-name} -~~~ +``` ## Don't move dockers filesystem @@ -42,4 +42,3 @@ files mentioned in the directory above. This should bring back all your docker containers with your used settings, but as my knowledge is limited, I can't guarantee this: I probably just had luck :winking_face_with_tongue: - diff --git a/content/posts/2020/1-how-to-get-an-amateur-radio-license-in-austria/index.md b/content/posts/2020/1-how-to-get-an-amateur-radio-license-in-austria/index.md index 1bf36fd..74f4d64 100644 --- a/content/posts/2020/1-how-to-get-an-amateur-radio-license-in-austria/index.md +++ b/content/posts/2020/1-how-to-get-an-amateur-radio-license-in-austria/index.md @@ -5,10 +5,9 @@ summary: > This is a short story from my life that explains how I came to my amateur radio license. date: 2020-01-02T17:01:26+01:00 -lastmod: "2023-02-12T01:32:43+0100" +lastmod: 2024-09-28T23:48:06+0000 categories: [amateur-radio] tags: [life] - --- I'm not the casual ham radio operator that always wanted to operate his own @@ -37,53 +36,57 @@ Innsbruck. We had to attend these blocks: **1. block** - - **Friday, September 27, (15:00 to 20:30)** - introduction and law pt 1 - - **Saturday, September 28, (09:00 to 18:00)** - law pt 2 and engineering pt 1 + +- **Friday, September 27, (15:00 to 20:30)** + introduction and law pt 1 +- **Saturday, September 28, (09:00 to 18:00)** + law pt 2 and engineering pt 1 **2. block** - - **Friday, October 4, (15:00 to 20:30)** - operating technology pt 1 - - **Saturday, October 5, (09:00 to 18:00)** - engineering pt 2 + +- **Friday, October 4, (15:00 to 20:30)** + operating technology pt 1 +- **Saturday, October 5, (09:00 to 18:00)** + engineering pt 2 **3. block** - - **Friday, October 11, (15:00 to 20:30)** - engineering pt 3 - - **Saturday, October 12, (09:00 to 18:00)** - engineering pt 4 and operating technology pt 2 + +- **Friday, October 11, (15:00 to 20:30)** + engineering pt 3 +- **Saturday, October 12, (09:00 to 18:00)** + engineering pt 4 and operating technology pt 2 **4. block -- refreshing** - - **Saturday, October 19, (13:00 to 17:00)** - simulation of an exam (it was highly recommended to visit this training) + +- **Saturday, October 19, (13:00 to 17:00)** + simulation of an exam (it was highly recommended to visit this training) ## Cost report This represents the total amount of money I had to put into getting my license. -| date and time | value | description | -| :--- | ---: | :--- | -| 12.08.2019, Monday | 75.56 € | documentation scripts | -| 27.09.2019, Friday | 90.00 € | the course itself | -| 27.09.2019, Friday | 14.70 € | parking "Hentschelhof" | -| 28.09.2019, Saturday | 48.15 € | refueling | -| 28.09.2019, Saturday | 10 € | lunch | -| 28.09.2019, Saturday | 14.40 € | parking "Wilten" | -| 04.10.2019, Friday | 14.40 € | parking "Wilten" | -| 05.10.2019, Saturday | 10 € | lunch | -| 05.10.2019, Saturday | 18.20 € | parking "Altstadtgarage" | -| 05.10.2019, Saturday | 53.11 € | refueling | -| 11.10.2019, Friday | 14.70 € | parking "Altstadtgarage" | -| 12.10.2019, Saturday | 7 € | lunch | -| 12.10.2019, Saturday | 18.20 € | parking "Altstadtgarage" | -| 12.10.2019, Saturday | 45.26 € | refueling | -| 19.10.2019, Saturday | 13 € | parking "Markthalle" | -| 19.10.2019, Saturday | 57.08 € | refueling | -| 22.10.2019, Tuesday | 28.83 € | examination fee | -| 22.10.2019, Tuesday | 14.30 € | examination certificate | -| 22.10.2019, Tuesday | 3 € | parking "SOHO 2.0" | -| | **549.89 €** | **total** | +| date and time | value | description | +| :------------------- | -----------: | :----------------------- | +| 12.08.2019, Monday | 75.56 € | documentation scripts | +| 27.09.2019, Friday | 90.00 € | the course itself | +| 27.09.2019, Friday | 14.70 € | parking "Hentschelhof" | +| 28.09.2019, Saturday | 48.15 € | refueling | +| 28.09.2019, Saturday | 10 € | lunch | +| 28.09.2019, Saturday | 14.40 € | parking "Wilten" | +| 04.10.2019, Friday | 14.40 € | parking "Wilten" | +| 05.10.2019, Saturday | 10 € | lunch | +| 05.10.2019, Saturday | 18.20 € | parking "Altstadtgarage" | +| 05.10.2019, Saturday | 53.11 € | refueling | +| 11.10.2019, Friday | 14.70 € | parking "Altstadtgarage" | +| 12.10.2019, Saturday | 7 € | lunch | +| 12.10.2019, Saturday | 18.20 € | parking "Altstadtgarage" | +| 12.10.2019, Saturday | 45.26 € | refueling | +| 19.10.2019, Saturday | 13 € | parking "Markthalle" | +| 19.10.2019, Saturday | 57.08 € | refueling | +| 22.10.2019, Tuesday | 28.83 € | examination fee | +| 22.10.2019, Tuesday | 14.30 € | examination certificate | +| 22.10.2019, Tuesday | 3 € | parking "SOHO 2.0" | +| | **549.89 €** | **total** | In the end I paid **203.60€** for gasoline, **27€** for lunch on Saturdays and **110.60€** for parking my car. @@ -95,8 +98,8 @@ kilometers -- you may get away with less on that part. The exam is split into three different topics: law, engineering and operating technology. -Every person gets three questions in *law*, three questions in *engineering* and -three questions in *operating technology*. This happens one person at a time, so +Every person gets three questions in _law_, three questions in _engineering_ and +three questions in _operating technology_. This happens one person at a time, so if person 1 answered the first three questions person 2 has to answer three other questions in the same topic. diff --git a/content/posts/2020/10-error-with-signed-commits/index.md b/content/posts/2020/10-error-with-signed-commits/index.md index 95510ab..076eb46 100644 --- a/content/posts/2020/10-error-with-signed-commits/index.md +++ b/content/posts/2020/10-error-with-signed-commits/index.md @@ -4,7 +4,6 @@ aliases: /posts/2020-11-14-error-with-signed-commits categories: [computerstuff] tags: [git] date: 2020-11-14T23:22:42+01:00 - --- For some reason my git commits failed when I re-enabled gpg signing. This is how @@ -14,22 +13,22 @@ I finally fixed that problem. ##### Add to `~/.gnupg/gpg.conf` -~~~plain -use-agent +```plain +use-agent pinentry-mode loopback -~~~ +``` ##### And add to `~/.gnupg/gpg-agent.conf` -~~~plain +```plain allow-loopback-pinentry -~~~ +``` ##### Restart the agent -~~~console +```console $ echo RELOADAGENT | gpg-connect-agent -~~~ +``` This information was found on [d.sb/2016/11/gpg-inappropriate-ioctl-for-device-errors][1]. diff --git a/content/posts/2020/11-keep-up-to-date-on-forked-repositories/index.md b/content/posts/2020/11-keep-up-to-date-on-forked-repositories/index.md index 91e5fdb..789a20c 100644 --- a/content/posts/2020/11-keep-up-to-date-on-forked-repositories/index.md +++ b/content/posts/2020/11-keep-up-to-date-on-forked-repositories/index.md @@ -4,7 +4,6 @@ aliases: /posts/2020-11-14-keep-up-to-date-on-forked-repositories categories: [computerstuff] tags: [git] date: 2020-11-14T23:20:16+01:00 - --- I usually fetch the upstream repository and merge it into my local repository, diff --git a/content/posts/2020/12-operating-the-z-shell/index.md b/content/posts/2020/12-operating-the-z-shell/index.md index e568d3d..f48c6fd 100644 --- a/content/posts/2020/12-operating-the-z-shell/index.md +++ b/content/posts/2020/12-operating-the-z-shell/index.md @@ -1,12 +1,11 @@ --- title: Operating the Z-Shell aliases: - - /posts/2020-11-15-operating-the-z-shell - - /posts/2020-11-14-operating-the-z-shell + - /posts/2020-11-15-operating-the-z-shell + - /posts/2020-11-14-operating-the-z-shell categories: [computerstuff] tags: [zsh-shell] date: 2020-11-15T00:35:22+01:00 - --- This article is a summary of @@ -18,7 +17,7 @@ pleasure :wink: {{< alert circle-info >}} -*None of the following commands on this page are my own.* +_None of the following commands on this page are my own._ {{< /alert >}} [1]: https://reasoniamhere.com/2014/01/11/outrageously-useful-tips-to-master-your-z-shell/ diff --git a/content/posts/2020/13-create-your-own-dmrid-database-file/index.md b/content/posts/2020/13-create-your-own-dmrid-database-file/index.md index 6c91953..0f1ab0f 100644 --- a/content/posts/2020/13-create-your-own-dmrid-database-file/index.md +++ b/content/posts/2020/13-create-your-own-dmrid-database-file/index.md @@ -7,8 +7,7 @@ summary: > categories: [amateur-radio] tags: [dmr, scripting] date: 2020-11-16T23:23:51+01:00 -lastmod: 2024-09-22T17:00:57+0000 - +lastmod: 2024-09-28T23:48:06+0000 --- Let's start with the website [ham-digital.org](https://ham-digital.org/). It @@ -27,7 +26,7 @@ registrations or the list of local administrators.~~ [reg]: https://register.ham-digital.org/ Okay, I try to keep this simple. These scripts are made to download an actual -snapshot of the DMR-ID database from *ham-digital.org*. They create a +snapshot of the DMR-ID database from _ham-digital.org_. They create a comma-separated list of DMR-IDs and callsigns to import into an amateur radio device. Actually I use them only on my [Radioddity GD-77]({{< ref "equipment/radio-stuff/handhelds/radioddity-gd77" >}}). @@ -38,7 +37,7 @@ That fetches the whole database, which are something around 180.000 entries at the moment (2020-Nov-15). The script uses about 8MB of RAM. Something like that. -~~~php +```php #!/usr/bin/env php -~~~ +``` ## Download only a few regions into separate files @@ -76,7 +75,7 @@ Fetch some regions (specified in the script) and some additional callsigns from a file that contains one callsign per line. This script uses a lot more RAM. Something around 32MB I guess. Or so. -~~~php +```php #!/usr/bin/env php -~~~ +``` ## Download only a few regions into one single file Like the one above, but it saves all IDs into one file. Uses probably the same amount of RAM. -~~~php +```php #!/usr/bin/env php -~~~ +``` diff --git a/content/posts/2020/14-virtual-machine-on-big-sur-not-starting/index.md b/content/posts/2020/14-virtual-machine-on-big-sur-not-starting/index.md index 7273a93..e3de056 100644 --- a/content/posts/2020/14-virtual-machine-on-big-sur-not-starting/index.md +++ b/content/posts/2020/14-virtual-machine-on-big-sur-not-starting/index.md @@ -3,11 +3,10 @@ title: My virtual windows machine from VirtualBox on Big Sur will not start aliases: /posts/2020-11-22-virtual-machine-on-big-sur-not-starting summary: > A quick fix if your virtual machine will not start. As long, as you got the - same configuration as me + same configuration as me categories: [computerstuff] -tags: [macos,virtualbox] +tags: [macos, virtualbox] date: 2020-11-22T18:02:45+01:00 - --- Okay, a quick one. I've updated my macbook now to Big Sur today. A lot of files @@ -28,9 +27,9 @@ protection system as suggested on the forums before and rebootet the system agai To enable Apples protection system, type this command: -~~~console +```console $ csrutil enable -~~~ +``` After that, type `reboot` and hit enter. diff --git a/content/posts/2020/15-forking-git-repositories/index.md b/content/posts/2020/15-forking-git-repositories/index.md index ee0a6b2..27afade 100644 --- a/content/posts/2020/15-forking-git-repositories/index.md +++ b/content/posts/2020/15-forking-git-repositories/index.md @@ -7,7 +7,6 @@ summary: > date: 2020-12-21T12:13:30+01:00 categories: [computerstuff] tags: [git] - --- For me, git repositories are a complex thing. As I wrote in an [earlier article][1] @@ -34,7 +33,7 @@ please let me know. I'm all up to learn this stuff the right way. Let's take my prezto repository and add the upstream repository to it. -~~~console +```console $ git log commit d321120fdebb84c7dc282a05eaaa57fdaf56987b (HEAD -> master) Author: Dominic Reich @@ -71,7 +70,7 @@ Date: Fri Dec 18 16:38:31 2020 +0100 Release notes: [...] -~~~ +``` In this example I already have a commit that changes something. And a few commits later the changes will be reverted again because that did not work out so well. @@ -84,16 +83,16 @@ on top of the history on github. Now, create our patchfile. -~~~console +```console $ git format-patch -5 HEAD > ../changes.patch -~~~ +``` This saves the recent 5 commits from HEAD into `../changes.patch`, which file is not in the git repository, but one directory above. We continue using the master branch and getting upstream/master. -~~~console +```console $ git checkout master Bereits auf 'master' Ihr Branch ist auf demselben Stand wie 'origin/master'. @@ -105,13 +104,13 @@ Bereits aktuell. $ git reset --hard upstream/master HEAD ist jetzt bei b7a80d9 prompt: update powerlevel10k submodule to v1.14.4 $ git push origin master --force -~~~ +``` Now we have our local master branch set equal to the master branch on the remote upstream repository. We now add our changes into the repository, our patchfile. -~~~console +```console $ patch -p1 < ../changes.patch patching file runcoms/zlogout patching file runcoms/zpreztorc @@ -122,7 +121,7 @@ patching file runcoms/zaliases patching file runcoms/zpreztorc patching file runcoms/zaliases patching file runcoms/zshenv -~~~ +``` This leaves us again with many changes, but we can add them to git all together as one single commit if we like. @@ -131,7 +130,7 @@ Run `git diff` to view the changes on the files. Make your changes now and create a new commit. -~~~console +```console $ git add . $ gcm 'personalized' [master 3d19001] personalized @@ -149,11 +148,11 @@ Gesamt 9 (Delta 5), Wiederverwendet 0 (Delta 0), Pack wiederverwendet 0 remote: Resolving deltas: 100% (5/5), completed with 5 local objects. To github.com:oe7drt/prezto.git b7a80d9..3d19001 master -> master -~~~ +``` The history now looks like this: -~~~console +```console $ git log commit 3d19001518997c29204457fe2d1119fc9830010c (HEAD -> master, origin/master, origin/HEAD) Author: Dominic Reich @@ -170,11 +169,11 @@ Date: Fri Dec 18 16:38:31 2020 +0100 Release notes: [...] -~~~ +``` ## Approach #2: reset to upstream branch -~~~console +```console $ git checkout main Bereits auf 'main' Ihr Branch ist auf demselben Stand wie 'origin/main'. @@ -207,7 +206,7 @@ Gesamt 6 (Delta 3), Wiederverwendet 0 (Delta 0) remote: Resolving deltas: 100% (3/3), completed with 3 local objects. To github.com:oe7drt/MMDVMHost-Websocketboard.git ea48f75..ba62875 main -> main -~~~ +``` You now have the history of your upstream repository and only one commit on top of the history. diff --git a/content/posts/2020/2-optimizing-png-images/index.md b/content/posts/2020/2-optimizing-png-images/index.md index 63681a4..2f4786e 100644 --- a/content/posts/2020/2-optimizing-png-images/index.md +++ b/content/posts/2020/2-optimizing-png-images/index.md @@ -6,10 +6,9 @@ summary: > the command line. They work on linux and macOS. Use jpegtran for JPG images. categories: [computerstuff] -tags: [ zsh-shell, fish-shell ] +tags: [zsh-shell, fish-shell] date: 2020-01-20T20:34:20+01:00 -lastmod: 2023-12-26T13:25:16+0000 - +lastmod: 2024-09-28T23:48:06+0000 --- ## Optimizing a bunch of images in a directory @@ -18,66 +17,66 @@ I found these commands here coincidentally on a [pull request](https://github.com/xianmin/hugo-theme-jane/pull/266) at Github. I found them quite handy :+1: -~~~console +```console $ find . -type f -name "*.png" -print0 | xargs -0 -I {} optipng -nb -nc "{}" $ find . -type f -name "*.png" -print0 | xargs -0 -I {} advpng -z4 "{}" $ find . -type f -name "*.png" -print0 | xargs -0 -I {} pngcrush -rem gAMA -rem alla -rem cHRM -rem iCCP -rem sRGB -rem time -ow "{}" -~~~ +``` ## Quickly optimizing only one image I've set up a function in my `.zaliases` file for this to be done on a single image aswell: -~~~zsh +```zsh function opti() { optipng -nb -nc "$*"; advpng -z4 "$*"; pngcrush -rem gAMA -rem alla -rem cHRM -rem iCCP -rem sRGB -rem time -ow "$*"; } -~~~ +``` To run all three commands on a single image I just call it like that: -~~~console +```console $ opti image.png -~~~ +``` That's all the magic it needs. ## Use jpegtran for JPG images -~~~console +```console $ jpegtran -copy none -optimize -progressive -outfile output.jpg input.jpg -~~~ +``` ## Install these tools on your system On debian or ubuntu -~~~console +```console $ sudo apt-get install optipng pngcrush advancecomp -~~~ +``` On Arch based distros using pamac -~~~console +```console $ sudo pamac install optipng pngcrush advancecomp -~~~ +``` (advancecomp is in AUR) On macOS -~~~console +```console $ sudo port install optipng pngcrush advancecomp -~~~ +``` or if you use homebrew -~~~console +```console $ brew install optipng pngcrush advancecomp -~~~ +``` You may know other package managers commands, but I only use these. @@ -87,7 +86,7 @@ You may know other package managers commands, but I only use these. The files taken from the snapshot tool on my macbook. -~~~plain +```plain 33K 00_locales.png 61K 01_control-software.png 157K 02_mmdvmhost.png @@ -96,11 +95,11 @@ The files taken from the snapshot tool on my macbook. 69K 05_exp_mmdvmhost-dmrnetwork.png 212K 06_exp_dmrgw-dmrnetwork1.png 236K 07_exp_dmrgw-dmrnetwork2.png -~~~ +``` Three to four minutes later (all three commands): -~~~plain +```plain 17K 00_locales.png 33K 01_control-software.png 81K 02_mmdvmhost.png @@ -109,14 +108,14 @@ Three to four minutes later (all three commands): 32K 05_exp_mmdvmhost-dmrnetwork.png 127K 06_exp_dmrgw-dmrnetwork1.png 144K 07_exp_dmrgw-dmrnetwork2.png -~~~ +``` ### By view -~~~plain +```plain 25K opti_01.png 13K opti_02.png -~~~ +``` ![Original image](opti_01.png "This is the unmodified image: `opti_01.png`") ![Optimized image](opti_02.png "And this is the optimized image: `opti_02.png`") @@ -126,7 +125,7 @@ Do you see much difference? I added this to my fishs configuration (when I used fish for a while). -~~~fish +```fish # file: "~/.config/fish/functions/opti.fish" function opti --description "Optimizes .png files" # Author: Dominic, OE7DRT @@ -163,11 +162,11 @@ function opti --description "Optimizes .png files" pngcrush -rem gAMA -rem alla -rem cHRM -rem iCCP -rem sRGB -rem time -ow "$argv[$i]"; end end -~~~ +``` And I made one for the jpeg version too: -~~~fish +```fish # file: "~/.config/fish/functions/jopti.fish" function jopti --description "Optimizes .jpg files" # Author: Dominic, OE7DRT @@ -202,4 +201,4 @@ function jopti --description "Optimizes .jpg files" jpegtran -copy none -optimize -progressive -outfile "$argv[$i]" "$argv[$i]" end end -~~~ +``` diff --git a/content/posts/2020/3-hs-dual-hat-with-pistar-v4/index.md b/content/posts/2020/3-hs-dual-hat-with-pistar-v4/index.md index e4a0acd..44eb530 100644 --- a/content/posts/2020/3-hs-dual-hat-with-pistar-v4/index.md +++ b/content/posts/2020/3-hs-dual-hat-with-pistar-v4/index.md @@ -1,23 +1,22 @@ --- title: HS Dual Hat With PiStar v4 aliases: -- /posts/2020-01-23-hs-dual-hat-with-pistar-v4 -- /blog/amateur-radio/2020-01-23-hs-dual-hat-with-pistar-v4/ -- /amateur-radio/2020-01-23-hs-dual-hat-with-pistar-v4/ + - /posts/2020-01-23-hs-dual-hat-with-pistar-v4 + - /blog/amateur-radio/2020-01-23-hs-dual-hat-with-pistar-v4/ + - /amateur-radio/2020-01-23-hs-dual-hat-with-pistar-v4/ summary: > This is a MMDVM_HS_Dual_Hat hotspot in duplex mode with DMRGateway and an actual Pi-Star image. categories: amateur-radio tags: -- pistar -- dmr -- ysf -- dstar -- hotspot -- mmdvm + - pistar + - dmr + - ysf + - dstar + - hotspot + - mmdvm date: 2020-01-23T15:03:35+01:00 -lastmod: 2024-05-19T16:41:25+0000 - +lastmod: 2024-09-28T23:48:06+0000 --- {{< alert circle-info >}} @@ -56,18 +55,18 @@ the same as on the dashboard. Now you got the filesystem writable, so start the keyboard configuration: -~~~console +```console $ sudo dpkg-reconfigure keyboard-configuration -~~~ +``` I then usually go for the 105-key PC one. Choose German (Austria) and go for the default keyboard layout with no compose key -- except you have other needs. Then start generating the locales for your environment. -~~~console +```console $ sudo dpkg-reconfigure locales -~~~ +``` Choose the locales that you need or want. My setup looks like this: @@ -80,7 +79,7 @@ I add my aliases to `.bash_aliases` -- this is the file that gets sourced via Quick and dirty -- my current `.bash_aliases` on my Pi-Stars looks like this: -~~~bash +```bash # File: "~/.bash_aliases" DATE=$(date +%Y-%m-%d) PI=/var/log/pi-star/ @@ -123,15 +122,15 @@ alias lx='ll -XB' alias ducks='du -cks * | sort -rn | head' alias confcat="sed -e 's/#.*//;/^\s*$/d' "$@"" -~~~ +``` ### Optional More software that comes in handy from time to time. -~~~console +```console $ sudo apt-get install htop lsof nmap arping vim pydf multitail git ldnsutils -~~~ +``` {{< figure caption="`pydf` in combination with the alias from above displays a short and colored output when you list your diskspace with `df`" src="11_df_output.png" alt="an example output of `pf`" >}} @@ -140,21 +139,21 @@ $ sudo apt-get install htop lsof nmap arping vim pydf multitail git ldnsutils The installation of vnstat is useful, if you let your pi-star run 24/7 as the database gets cleared on every reboot! -~~~console +```console $ sudo apt-get install vnstat -~~~ +``` Add the following line to your `/etc/fstab` file. I assume that you still have the filesystem writable -- if not, run `rpi-rw`. -~~~plain +```plain # file: "/etc/fstab" tmpfs /var/lib/vnstat tmpfs nodev,noatime,nosuid,mode=1777,size=4m 0 0 -~~~ +``` If you run `cat /etc/fstab` it should look similar to this: -~~~plain +```plain # file: "/etc/fstab" #File System Mountpoint Type Options Dump Pass proc /proc proc defaults 0 0 @@ -176,28 +175,28 @@ tmpfs /var/cache/samba tmpfs nodev,noatime,nosuid,mode=0755,siz tmpfs /var/spool/exim4/db tmpfs nodev,noatime,nosuid,mode=0750,size=64k 0 0 tmpfs /var/spool/exim4/input tmpfs nodev,noatime,nosuid,mode=0750,size=64k 0 0 tmpfs /var/spool/exim4/msglog tmpfs nodev,noatime,nosuid,mode=0750,size=64k 0 0 -~~~ +``` Normally, vnstat creates `/var/lib/vnstat` and starts the vnstat service. We now delete the freshly created databases (they are nearly empty anyway) and re-create them when we have mounted the ramdisk. -~~~console +```console $ sudo rm /var/lib/vnstat/* $ sudo mount -a $ sudo systemctl restart vnstatd -~~~ +``` Now run `vnstat` to display network interface statistics. It's output could look similar to this one: -~~~plain +```plain rx / tx / total / estimated eth0: Not enough data available yet. wlan0: Jän '20 39,23 MiB / 39,10 MiB / 78,33 MiB / 106,00 MiB today 39,23 MiB / 39,10 MiB / 78,33 MiB / 138 MiB -~~~ +``` It takes time to gather enough information. Get back to this in a few days and you will get more useful information. Because we save the databases in the @@ -214,9 +213,9 @@ PiStar does not mount the volumes read-only!** Once you finished your setup, make the filesystem read-only again. -~~~console +```console $ rpi-ro -~~~ +``` ## Start setting up your Pi-Star MMDVM @@ -231,16 +230,16 @@ the **Apply Changes** button. So when hitting the button wait a few seconds This setup uses some talk groups from IPSC2/DMR+ and the rest from Brandmeister. Specifically these talkgroups are: -* Timeslot 1 - * TG 1 - TG 7 - * TG 10 - TG 89 - * TG 100 - TG 199 -* Timeslot 2 - * DMR+ reflectors with TG 9 - * TG 232 - * TG 8181 - TG 8189 - * TG 8191 - TG 8199 -* GPS data sent as private calls to 9057 +- Timeslot 1 + - TG 1 - TG 7 + - TG 10 - TG 89 + - TG 100 - TG 199 +- Timeslot 2 + - DMR+ reflectors with TG 9 + - TG 232 + - TG 8181 - TG 8189 + - TG 8191 - TG 8199 +- GPS data sent as private calls to 9057 All other talkgroups are routed to the Brandmeister network. Private calls are also routed to Brandmeister. @@ -251,7 +250,6 @@ This is where we actually start. At the first start either connect your Raspberry Pi to an ethernet port or look out for a WiFi network called Pi-Star Setup. - {{< figure src="01_control-software.png" alt="Control Software configuration" caption="Make sure to use Duplex Repeater in order to use different RX and TX frequencies." >}} ### MMDVMHost @@ -286,9 +284,9 @@ for Hotspot Security. That makes sure, that only you can add a Hotspot with your callsign. Also select the IPSC2 server of your choice and set the wanted options. I go with these for now: -~~~ini +```ini StartRef=4197;RelinkTime=15;UserLink=1;TS2_1=232;TS2_2=8189; -~~~ +``` In this scenario I want to statically link the two talk groups `232` and `8189` on timeslot 2. I also allow `UserLink` which allows users to link to different @@ -296,9 +294,9 @@ reflectors. The default reflector is `4197` and this gets relinked if nobody presses PTT for 15 minutes. If you need talkgroups from timeslot 1 you would probably write something like this: -~~~ini +```ini StartRef=4197;RelinkTime=15;UserLink=1;TS1_1=20;TS2_1=232;TS2_2=8189; -~~~ +``` That will also include talk group 20 from timeslot 1. I thought you can statically link up to 5 talkgroups, but I'm not sure if this information is up @@ -342,7 +340,7 @@ When you have saved that, go to the expert settings again and choose again This configuration file is split into paragraphs. Look out for the `[DMR Network 1]` block. -~~~ini +```ini [DMR Network 1] Enabled=1 Address=178.238.234.72 @@ -359,11 +357,11 @@ Password="***" Debug=0 Id=232718001 Name=BM_Germany_2622 -~~~ +``` Our next block is called `[DMR Network 2]`. -~~~ini +```ini [DMR Network 2] Enabled=1 Address=89.185.97.34 @@ -383,7 +381,7 @@ Debug=0 Id=2327180 Name=DMR+_IPSC2-OE-DMO Options="StartRef=4197;RelinkTime=15;UserLink=1;TS2_1=232;TS2_2=8189;" -~~~ +``` [Read along here](https://github.com/g4klx/DMRGateway/wiki/Rewrite-Rules) if you want to know more about the different rewrite rules. @@ -424,8 +422,8 @@ in the middle of the page. To get an api key visit the There are some more handy links for Brandmeister: -* [list connected peers to the Austrian BM_2321 server][list] -* [last heard on this specific master server][lh] +- [list connected peers to the Austrian BM_2321 server][list] +- [last heard on this specific master server][lh] [list]: http://62.171.130.35/status/status.htm [lh]: https://brandmeister.network/?page=lh&Master=2321 @@ -440,10 +438,10 @@ Or reboot the whole Raspberry Pi. {{< video "pistar-remote-reboot" >}} -To make use of PiStar Remote you need to set it up. Go to *Configuration -> -Expert* and choose *PiStar Remote* (in the Full Edit line). +To make use of PiStar Remote you need to set it up. Go to _Configuration -> +Expert_ and choose _PiStar Remote_ (in the Full Edit line). -~~~ini +```ini [enable] # Is the Pi-Star Remote Enabled? (true|false) enabled=true @@ -456,11 +454,11 @@ svcrestart=8999998 reboot=8999997 #shutdown=8999996 #hostfiles=9999995 -~~~ +``` ## Final words -I think this whole article is a *work in progress* -- I just always find things +I think this whole article is a _work in progress_ -- I just always find things that I do different now and I cannot always change these things in this article too; some aren't even wrong, they just fit better. diff --git a/content/posts/2020/4-aprs-with-hytera-pd785g-v9/index.md b/content/posts/2020/4-aprs-with-hytera-pd785g-v9/index.md index 8a5b119..5834ef2 100644 --- a/content/posts/2020/4-aprs-with-hytera-pd785g-v9/index.md +++ b/content/posts/2020/4-aprs-with-hytera-pd785g-v9/index.md @@ -1,17 +1,16 @@ --- title: APRS With The Hytera PD785G aliases: - - /posts/2020-01-27-aprs-with-hytera-pd785g-v9 - - /posts/2020-01-27-aprs-with-the-hytera-pd785g - - /blog/amateur-radio/2020-01-27-aprs-with-hytera-pd785g-v9 - - /blog/2020-01-27-aprs-with-hytera-pd785g-v9-firmware/ + - /posts/2020-01-27-aprs-with-hytera-pd785g-v9 + - /posts/2020-01-27-aprs-with-the-hytera-pd785g + - /blog/amateur-radio/2020-01-27-aprs-with-hytera-pd785g-v9 + - /blog/2020-01-27-aprs-with-hytera-pd785g-v9-firmware/ summary: > This article is based on the Firmware v9. categories: [amateur-radio] -tags: [dmr,aprs,hytera] +tags: [dmr, aprs, hytera] date: 2020-01-27T17:34:01+01:00 -lastmod: 2023-12-26T18:36:39+0000 - +lastmod: 2024-09-28T23:48:06+0000 --- I've read many articles about the Hytera PD785G, APRS, GPS, IPSC2, DMR+, @@ -25,15 +24,15 @@ These settings remain the same as on the v8 firmware. {{< figure src="hyt_01_gps.png" alt="GPS settings" caption="" >}} -Also this remains the same -- make sure to disable *Quick GPS* and enable -*RSSI Report*. +Also this remains the same -- make sure to disable _Quick GPS_ and enable +_RSSI Report_. {{< figure src="hyt_02_gps.png" alt="GPS settings" caption="" >}} -You do not really need the other settings. On incoming calls *Call Location* -will show the location of other stations on the display. *Voice with Location* +You do not really need the other settings. On incoming calls _Call Location_ +will show the location of other stations on the display. _Voice with Location_ sends your own location info out with your voice. This is needed for -*Call Location*. +_Call Location_. ## Network settings @@ -44,7 +43,7 @@ Set the Control Center ID to `9057` if you want to appear as portable device. You can also use any of those number-symbol combinations. | RRS & Radio IDs | description | -| :--- | :--- | +| :-------------- | :------------------- | | 9050 | without SSID | | 9055 | house / QTH | | 9056 | camping / fieldday | @@ -57,7 +56,7 @@ You can also use any of those number-symbol combinations. Setup the channel like this. Just make sure to set `Location Info Revert Channel`. I did not select `IP Multi-site Connect` and I also did not select an `RRS Revert -Channel`. I am not 100% sure, but I think the *RRS Revert Channel* +Channel`. I am not 100% sure, but I think the _RRS Revert Channel_ is what makes your HT send your position out when you change channels. {{< figure src="hyt_04_channel.png" alt="channel settings" caption="" >}} @@ -91,7 +90,6 @@ location is transferred as your plain CALLSIGN, without the `-7` for {{< figure src="hyt_08_aprs_route_9057.png" alt="route with the ssid 7" caption="The route looks like this when transmitted as CALLSIGN-7." >}} - {{< figure src="hyt_07_aprs_route_9050.png" alt="route without ssid" caption="The route looks like that when no SSID is appended to the CALLSIGN." >}} When transmitted with SSID a location point looks like this: diff --git a/content/posts/2020/5-get-dmrids-on-the-command-line/index.md b/content/posts/2020/5-get-dmrids-on-the-command-line/index.md index b1892a0..b40329f 100644 --- a/content/posts/2020/5-get-dmrids-on-the-command-line/index.md +++ b/content/posts/2020/5-get-dmrids-on-the-command-line/index.md @@ -3,25 +3,24 @@ title: Get DMRIDs Via Command Line aliases: /posts/2020-02-04-get-dmrids-on-the-command-line summary: This is a quick workaround to retrieve a DMRID on console or terminal. categories: [amateur-radio] -tags: [dmr,pistar,scripting] +tags: [dmr, pistar, scripting] date: 2020-02-04T13:05:25+01:00 - --- You want to install `w3m`. It is a text browser. Don't forget `rpi-rw` before installing anything if you're on Pi-Star. -~~~console +```console $ sudo apt-get -y install w3m -~~~ +``` ## The script The script itself does not verify the given callsign, so whatever you write as an argument, it will be passed to the website. The script returns with `0` if -nothing is found. +nothing is found. -~~~bash +```bash # file: "~/bin/call" #!/bin/bash # Get DMR-IDs from CALLSIGN or CALLSIGN from DMR-ID or vice versa @@ -102,7 +101,7 @@ then else print_usage fi -~~~ +``` {{< alert circle-info >}} If someone has two DMRIDS, the most recent registered callsign will appear on @@ -115,53 +114,53 @@ heard ids. Simply get one DMRID (or two, depends on the callsign though): -~~~console +```console $ call OE7DRT -~~~ +``` Now let's think a bit more complex. You can use the script in a loop. Let's fetch some austrian callsigns only. -~~~console +```console $ for i in 7one 7two 1three; do call oe$i ids >>! ids; done -~~~ +``` That would fetch 3 callsigns `OE7ONE`, `OE7TWO` and `OE1ONE` and write them all into the file `ids`. So run `cat ids` and display them on screen. Or copy them into clipboard (on a mac only) with `pbcopy < ids`. -~~~console +```console OE7ONE Username1 0007001 2018-05-12 OE7TWO Username2 0007003 2018-12-08 OE7TWO Username2 0007002 2018-11-09 OE1ONE Username3 0001001 2020-03-13 -~~~ +``` -*I've been anonymizing the data a bit.* +_I've been anonymizing the data a bit._ ## Partially known callsign -***I anonymized some DMR-IDs on this website.*** +**_I anonymized some DMR-IDs on this website._** So you know only the three last letters of an austrian callsign and want to know quickly what federal state it was? Run this command and you'll get a quick answer on the command line: -~~~console +```console $ for i in oe{1..9}drt; do call $i; done OE7DRT Dominic 2327180 2019-11-24 -~~~ +``` If you called your script `call` and if `call` is in your `$PATH`. This works also if you missed one letter. -~~~console +```console $ for i in oe7{a..z}rt; do call $i; done OE7BRT Rainer 2327XXX 20XX-XX-XX OE7DRT Dominic 2327180 2019-11-24 OE7JRT Josef 2327XXX 20XX-XX-XX -~~~ +``` This took ~10 seconds on my computer. @@ -170,7 +169,7 @@ Or even with more letters, but this will take a while, since this will start your IP address quickly, if you hammer their server with so many request in a short period of time. -~~~console +```console $ for i in oe7d{a..z}{a..z}; do call $i; done 2327XXX OE7D?? Daniel 2327XXX OE7D?? Hermann @@ -180,7 +179,7 @@ $ for i in oe7d{a..z}{a..z}; do call $i; done 2327180 OE7D?? Dominic 2327XXX OE7D?? Wechselberger 2327XXX OE7D?? Gernot -~~~ +``` And this ran for 3 minutes and 17 seconds on my computer. diff --git a/content/posts/2020/6-nextion-dmr-last-heard-dashboard/index.md b/content/posts/2020/6-nextion-dmr-last-heard-dashboard/index.md index e8737ae..3e673ea 100644 --- a/content/posts/2020/6-nextion-dmr-last-heard-dashboard/index.md +++ b/content/posts/2020/6-nextion-dmr-last-heard-dashboard/index.md @@ -1,17 +1,16 @@ --- title: My Nextion 2.4" DMR Last Heard Dashboard aliases: -- /posts/2020-02-16-nextion-dmr-last-heard-dashboard -- /blog/nextion-dmr-last-heard-dashboard/ + - /posts/2020-02-16-nextion-dmr-last-heard-dashboard + - /blog/nextion-dmr-last-heard-dashboard/ summary: > I created a simple last-heard-dashboard for my small Nextion screen. It currently shows the used slot, its origin (like Network or RF) , the callsign and the used talkgroup. categories: [amateur-radio] -tags: [nextion,dmr] +tags: [nextion, dmr] date: 2020-02-16T12:43:34+01:00 -lastmod: 2024-02-10T17:10:46+0000 - +lastmod: 2024-09-28T23:48:06+0000 --- ## The display @@ -23,7 +22,6 @@ probably the Layout of [PD0DIB]. We're talking about a `NX3224T024_011`. - {{< figure src="nxt_01_display.jpg" alt="display" caption="" >}} My dashboard now looks like this: diff --git a/content/posts/2020/7-mountint-ext4-filesystem-on-macos-readonly/index.md b/content/posts/2020/7-mountint-ext4-filesystem-on-macos-readonly/index.md index 0125e02..9f33309 100644 --- a/content/posts/2020/7-mountint-ext4-filesystem-on-macos-readonly/index.md +++ b/content/posts/2020/7-mountint-ext4-filesystem-on-macos-readonly/index.md @@ -3,29 +3,28 @@ title: Mountint Ext4 Filesystem On MacOS Readonly aliases: /posts/2020-02-22-mountint-ext4-filesystem-on-macos-readonly summary: An overview of how to mount your Pi-Star sdcard on a mac machine. categories: [computerstuff] -tags: [pistar,macos] +tags: [pistar, macos] date: 2020-02-22T09:33:44+01:00 - --- ##### Installing the needed tools -~~~console +```console $ brew cask install osxfuse $ brew install ext4fuse -~~~ +``` ##### Mount the disk on your filesystem -~~~console +```console $ ext4fuse /dev/disk2s2 pi-star -~~~ +``` ##### Users, groups, write permissions, &c If you feel that you have to add yourself to another usergroup, then do that as the following code suggests: -~~~console +```console $ sudo dseditgroup -o edit -a $username -t user $groupname -~~~ +``` diff --git a/content/posts/2020/8-my-7inch-dmr-dashboard/index.md b/content/posts/2020/8-my-7inch-dmr-dashboard/index.md index 3b6a8e3..ee28487 100644 --- a/content/posts/2020/8-my-7inch-dmr-dashboard/index.md +++ b/content/posts/2020/8-my-7inch-dmr-dashboard/index.md @@ -1,8 +1,8 @@ --- title: My 7-Inch DMR Dashboard aliases: -- /posts/2020-03-28-my-7inch-dmr-dashboard -- /blog/amateur-radio/2020-03-28-my-7inch-dmr-dashboard/ + - /posts/2020-03-28-my-7inch-dmr-dashboard + - /blog/amateur-radio/2020-03-28-my-7inch-dmr-dashboard/ summary: > I did not like the small screen and the small housing of my last Hotspot so I decided to make a bigger housing where I needed a bigger screen. Look what @@ -10,10 +10,9 @@ summary: > just right off the screen itself. Make sure to install the NextionDrivers when you use this layout -- it offers way more possibilities. categories: [amateur-radio] -tags: [nextion,dmr] +tags: [nextion, dmr] date: 2020-03-28T12:42:44+01:00 -lastmod: 2024-07-07T20:35:21+0000 - +lastmod: 2024-09-28T23:48:06+0000 --- I got a Nextion `NX8048K070_011` recently and I built a DMR Dashboard (again) @@ -71,19 +70,19 @@ Download the files from my github repository. - -*Have a look at the **releases** tab as there are more older versions available +_Have a look at the **releases** tab as there are more older versions available (the older layout looks ugly on the system page, but has buttons for -DMRGateway and DAPNETGateway).* +DMRGateway and DAPNETGateway)._ ## Management view By "clicking" the page (mainly the header on the top of the screen) you will see a management screen with a lot of buttons. I think these are self-explanatory. -Although I hate to say it, but I had to run MMDVMHost as user *root* -- otherwise +Although I hate to say it, but I had to run MMDVMHost as user _root_ -- otherwise the screen went all black. I'd rather like to have MMDVMHost running as a -non-privileged user *mmdvm*. Please let me know if you found a solution to run -MMDVMHost as user *mmdvm* again. +non-privileged user _mmdvm_. Please let me know if you found a solution to run +MMDVMHost as user _mmdvm_ again. Maybe this is the reason why MMDVMHost runs as root on Pi-Star v4 too. diff --git a/content/posts/2020/9-change-the-bands-in-your-anytone-codeplug/index.md b/content/posts/2020/9-change-the-bands-in-your-anytone-codeplug/index.md index 77cce4f..9929d51 100644 --- a/content/posts/2020/9-change-the-bands-in-your-anytone-codeplug/index.md +++ b/content/posts/2020/9-change-the-bands-in-your-anytone-codeplug/index.md @@ -5,10 +5,9 @@ summary: > If you can't change the band edges on your Anytone radio, change the band setting in the codeplug. categories: [amateur-radio] -tags: [macos,anytone,dmr] +tags: [macos, anytone, dmr] date: 2020-05-17T11:38:31+02:00 -lastmod: 2022-12-15T06:38:03+01:00 - +lastmod: 2024-09-28T23:48:06+0000 --- This is as simple and straight-forward as it could be. @@ -31,6 +30,7 @@ I use Linux on my computers so I usually have such tools installed already: ```console $ printf '\x03' | dd of=codeplug.rdt bs=1 seek=17 count=1 conv=notrunc ``` + ## Why would you need this? You get a codeplug from a friend but you cannot load it into your radio because @@ -50,7 +50,7 @@ You'd be fine if you only use frequencies within the HAM bands, though. ## Bands settings | Setting | Frequencies | Description | -| :--- | :--- | :--- | +| :------ | :-------------------- | :------------------------------------- | | **0** | **136-174 / 400-480** | Commercial Europe Mode `000000` | | 1 | 136-17d4 / 400-480 | Commercial US Mode `000001` | | **3** | **144-146 / 430-440** | Amateur Europe Mode `000003` | @@ -59,4 +59,4 @@ You'd be fine if you only use frequencies within the HAM bands, though. | 10 | 144-148 / 430-450 | Amateur Australia/Canada Mode `000010` | | 13 | 136-174 / 403-470 | Commercial Mode `000013` | | 16 | 144-147 / 430-440 | Amateur Thailand Mode `000016` | -| 17 | 136-174 / 430-440 | Commercial Thailand Mode `000017` | +| 17 | 136-174 / 430-440 | Commercial Thailand Mode `000017` | diff --git a/content/posts/2021/16-win10-grub2-and-uefi/index.md b/content/posts/2021/16-win10-grub2-and-uefi/index.md index 5688186..4c7e45a 100644 --- a/content/posts/2021/16-win10-grub2-and-uefi/index.md +++ b/content/posts/2021/16-win10-grub2-and-uefi/index.md @@ -8,8 +8,7 @@ summary: > very complicated either ;-) date: 2021-08-08 categories: [computerstuff] -tags: [linux,windows,grub] - +tags: [linux, windows, grub] --- Short and concise. I had to deal with a broken Grub 2 configuration recently @@ -34,7 +33,7 @@ the computer. The plain file in `/etc/grub.d/proxifiedScripts/` looks like this: -~~~cfg +```cfg # file: "/etc/grub.d/proxifiedScripts/custom" #!/bin/sh exec tail -n +3 $0 @@ -49,7 +48,7 @@ menuentry "Windows 10"{ menuentry "Reboot"{ reboot } -~~~ +``` And/Or if you just want to use `grub-customizer`: go ahead, create the menu entry and insert the part from above (Windows 10). diff --git a/content/posts/2021/17-running-n1mm-logger-on-linux/index.md b/content/posts/2021/17-running-n1mm-logger-on-linux/index.md index ab3a405..754948e 100644 --- a/content/posts/2021/17-running-n1mm-logger-on-linux/index.md +++ b/content/posts/2021/17-running-n1mm-logger-on-linux/index.md @@ -7,17 +7,15 @@ summary: > This is my attempt to properly install N1MM Logger+ on my main computer running Manjaro/Ubuntu Linux. date: 2021-08-12 -lastmod: 2024-02-18T11:02:08+0000 +lastmod: 2024-09-28T23:48:06+0000 categories: [amateur-radio] -tags: [linux,windows,n1mm,emulation,wine] - +tags: [linux, windows, n1mm, emulation, wine] --- ## We need to talk again (an Update) {{< alert >}} -This is an update, the post was originally published on August 12th, -2021. Most of the content has changed. +This is an update, the post was originally published on August 12th, 2021. Most of the content has changed. {{< /alert >}} So in this update I would like to re-phrase and/or re-arrange this article to @@ -39,23 +37,23 @@ Some other articles that I researched and they might be interesting to you too: Create a 32bit wine prefix (in winecfg: select Windows 7): -~~~console +```console $ env WINEPREFIX=/home/dominic/.wine-n1mm WINEARCH=win32 wine wineboot $ env WINEPREFIX=/home/dominic/.wine-n1mm WINEARCH=win32 wine winecfg -~~~ +``` So there is a ~500MB windows in my home folder, I will back this fragile directory up into an archive: -~~~console +```console $ tar -cJf wine-backup-n1mm-$(date +%Y-%m-%d-%H%M%S).tar.xz .wine-n1mm/ -~~~ +``` Next on the list: _.Net Framework 4.6_: -~~~console +```console $ env WINEPREFIX=/home/dominic/.wine-n1mm winetricks --force -~~~ +``` Choose `Select default wine prefix`, choose `Install Windows-DLL`, select @@ -79,9 +77,9 @@ something goes wrong at the next installations. It's the same command as before, as it would create a timestamped filename anyway. My wine prefix `.wine-n1mm` now is ~1.2GB big. -~~~console +```console $ tar -cJf wine-backup-n1mm-$(date +%Y-%m-%d-%H%M%S).tar.xz .wine-n1mm/ -~~~ +``` This time it took about three times longer than the first time, FYI. @@ -103,16 +101,16 @@ Like above, but navigate to `DOWNLOADS` >> After moving into the directory where our installation files reside, we tell wine to start the installers: -~~~console +```console $ cd Downloads/ $ env WINEPREFIX=/home/dominic/.wine-n1mm wine N1MM-Logger-FullInstaller-1.0.8954.exe -~~~ +``` Unselect `Finish and restart...` and close the installer. -~~~console +```console $ env WINEPREFIX=/home/dominic/.wine-n1mm wine N1MM-Logger-Update-1.0.9243.exe -~~~ +``` Unselect `Run N1MM Logger+...` and close the installer. @@ -126,8 +124,8 @@ default shell on most linuxes) you would just omit the `env` at the beginning. Make sure to substitute the versions with what you have downloaded -- you can find these files here: -* [Full Install](https://n1mmwp.hamdocs.com/downloads/n1mm-full-install) -* [Latest update](https://n1mmwp.hamdocs.com/mmfiles/categories/programlatestupdate) +- [Full Install](https://n1mmwp.hamdocs.com/downloads/n1mm-full-install) +- [Latest update](https://n1mmwp.hamdocs.com/mmfiles/categories/programlatestupdate) You should now have new desktop icons and/or new menue entries (depends on your desktop environment). @@ -140,7 +138,7 @@ that you installed it. You'll figure that out, the content of one of these desktop icons is: -~~~ini +```ini [Desktop Entry] Name=N1MM Logger+ Exec=env WINEPREFIX="/home/dominic/.wine-n1mm" wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/dominic/.wine-n1mm/dosdevices/c:/users/Public/Desktop/N1MM\\ Logger+.lnk @@ -149,13 +147,13 @@ StartupNotify=true Path=/home/dominic/.wine-n1mm/dosdevices/c:/Program Files/N1MM Logger+/SkinsAndLayouts Icon=88F7_N1MMLogger.net.0 StartupWMClass=n1mmlogger.net.exe -~~~ +``` This would probably do the same: -~~~console +```console $ env WINEPREFIX=/home/dominic/.wine-n1mm wine .wine-n1mm/drive_c/Program\ Files/N1MM\ Logger+/N1MMLogger.net.exe -~~~ +``` {{< figure src="06_errormsg.png" alt="Error message" caption="" >}} @@ -187,7 +185,7 @@ I recently switched my laptop from Manjaro Linux back to Tuxedos version of Kubuntu. So let's have a quick look at what I did in this newly created 32bit windows environment. -~~~console +```console $ sudo apt-get install wine-stable $ sudo apt-get install winetricks $ sudo apt-get install exe-thumbnailer @@ -204,7 +202,7 @@ $ winetricks win7 # Because N1MM Logger+ does not like WinXP, I thought that wou $ wine Downloads/N1MM-Logger-FullInstaller-1.0.8954.exe $ wine Downloads/N1MM-Logger-Update-1.0.9275.exe -~~~ +``` Start N1MM Logger+ from within your Application menue. There should be a new folder called diff --git a/content/posts/2021/18-winlink-and-vara-on-linux/index.md b/content/posts/2021/18-winlink-and-vara-on-linux/index.md index 0b36407..91e93ad 100644 --- a/content/posts/2021/18-winlink-and-vara-on-linux/index.md +++ b/content/posts/2021/18-winlink-and-vara-on-linux/index.md @@ -1,18 +1,17 @@ --- title: Running Winlink and VARA on Linux aliases: - - /posts/2021-10-03-winlink-and-vara-on-linux - - /posts/2021-10-03-running-winlink-and-vara-on-linux - - /amateur-radio/2021-10-03-running-winlink-and-vara-on-linux - - /amateur-radio/2021-10-03-winlink-and-vara-on-linux - - /blog/2021-10-03-winlink-and-vara-on-linux - - /posts/18-winlink-and-vara-on-linux + - /posts/2021-10-03-winlink-and-vara-on-linux + - /posts/2021-10-03-running-winlink-and-vara-on-linux + - /amateur-radio/2021-10-03-running-winlink-and-vara-on-linux + - /amateur-radio/2021-10-03-winlink-and-vara-on-linux + - /blog/2021-10-03-winlink-and-vara-on-linux + - /posts/18-winlink-and-vara-on-linux summary: > A quick and dirty summary of my Winlink installation on my linux laptop. date: 2021-10-03 categories: [amateur-radio] -tags: [linux,winlink,vara fm, vara hf,windows,emulation,wine] - +tags: [linux, winlink, vara fm, vara hf, windows, emulation, wine] --- This article is about using VARA FM and/or VARA HF on a linux laptop -- or @@ -20,7 +19,7 @@ computer. ## Quick and dirty -~~~console +```console $ sudo apt-get install wine-stable winetricks exe-thumbnailer $ export WINEPREFIX=/home/dominic/.wine-winlink @@ -51,7 +50,7 @@ $ wine Downloads/VARA\ FM\ setup\ \(Run\ as\ Administrator\).exe ## Optional, if you want backups, after you installed Winlink and VARA $ tar -cJf wine-backup_$(date +%Y-%m-%d-%H-%M-%S)_vara-installed.tar.xz .wine-winlink -~~~ +``` If your VARA window is empty after it gets started from Winlink, just minimize it and restore it and you should see it's content again. diff --git a/content/posts/2021/19-wordlist-generation/index.md b/content/posts/2021/19-wordlist-generation/index.md index b7f2682..513eec8 100644 --- a/content/posts/2021/19-wordlist-generation/index.md +++ b/content/posts/2021/19-wordlist-generation/index.md @@ -3,10 +3,9 @@ title: Wordlist Generation aliases: /posts/2021-10-03-wordlist-generation summary: Just for the record. These results may not mean anything... date: 2021-10-03 -lastmod: 2023-06-04T21:30:28+0200 +lastmod: 2024-09-28T23:48:06+0000 categories: [computerstuff] -tags: [linux,pentest,hashcat,john] - +tags: [linux, pentest, hashcat, john] --- I've done a simple comparison back in April and never pushed this to the website. @@ -19,27 +18,26 @@ The two don't work the same, the files were different in terms of sorting. - -~~~console +```console $ john --mask='05253?d?d?d?d?d' --min-length=9 --max-length=10 --stdout > john_file ________________________________________________________ Executed in 261,54 millis fish external usr time 96,01 millis 11,00 micros 96,00 millis sys time 38,02 millis 993,00 micros 37,03 millis -~~~ +``` ## Maskprocessor - -~~~console +```console $ mp -i 9:10 '05253?d?d?d?d?d' -o mp_file ________________________________________________________ Executed in 6,72 millis fish external usr time 2,19 millis 314,00 micros 1,88 millis sys time 2,86 millis 54,00 micros 2,81 millis -~~~ +``` Tests were made with [fish ><(((°>](https://fishshell.com/). - diff --git a/content/posts/2021/20-processes-accessing-mountpoints/index.md b/content/posts/2021/20-processes-accessing-mountpoints/index.md index 1d02f8d..f584e83 100644 --- a/content/posts/2021/20-processes-accessing-mountpoints/index.md +++ b/content/posts/2021/20-processes-accessing-mountpoints/index.md @@ -5,24 +5,23 @@ summary: > A quick oneliner to list running processes that prevent a filesystem from being unmounted. Using `lsof` or `fuser` for this. date: 2021-10-26T10:06:47+02:00 -lastmod: 2021-11-21 +lastmod: 2024-09-28T23:48:06+0000 categories: [computerstuff] tags: [linux] - --- Another quick one: I forget this command on a permanent basis, so I write this down here -- maybe this helps. -~~~console +```console $ lsof +f -- /media/mountpoint -~~~ +``` #### Update on 2021-11-21 You could also use `fuser`. I prefer this one because somehow I cannot use autocompletion with lsof and fuser lets me complete the paths. -~~~console +```console $ fuser -vm /media/mountpoint -~~~ +``` diff --git a/content/posts/2022/22-my-weather-station-with-weewx-and-netatmo/index.md b/content/posts/2022/22-my-weather-station-with-weewx-and-netatmo/index.md index 39df69f..abdbd03 100644 --- a/content/posts/2022/22-my-weather-station-with-weewx-and-netatmo/index.md +++ b/content/posts/2022/22-my-weather-station-with-weewx-and-netatmo/index.md @@ -8,10 +8,9 @@ summary: > creates the [weather page](https://wx.oe7drt.com/) and also uploads my weather data to the [APRS-IS network](http://www.aprs-is.net/). date: 2022-01-08T14:34:54+01:00 -lastmod: 2024-01-11T12:45:57+0000 +lastmod: 2024-09-28T23:48:06+0000 categories: [amateur-radio] -tags: [ "wx", "weewx", "netatmo", "linux", "server", "selfhost" ] - +tags: ["wx", "weewx", "netatmo", "linux", "server", "selfhost"] --- ## Update on 16th July 2023 @@ -23,6 +22,7 @@ has [changed their authentication policy][1] for development apps and do not allow simple password authentications any more. [1]: https://dev.netatmo.com/apidocumentation/oauth#authorization-code + {{< /alert >}} That means we have to update the extension to a fork that is recently updated. @@ -50,37 +50,37 @@ Also note, that most commands (if not all) here have to be run as the root user. First of all, install `epel-release` so you can install `python3-cheetah` finally. -~~~console +```console # yum install epel-release # yum install python3-cheetah -~~~ +``` Continue with adding the repository of WeeWX to your system and install WeeWX. -~~~console +```console # rpm --import https://weewx.com/keys.html # curl -s https://weewx.com/yum/weewx-el8.repo | tee /etc/yum.repos.d/weewx.repo -~~~ +``` -~~~console +```console # dnf install weewx -~~~ +``` Look out for `/var/log/messages` in order to see if WeeWX is already running (Abort with Ctrl+C). -~~~console +```console # tail -f /var/log/messages -~~~ +``` ## Configuration of WeeWX Stop WeeWX and remove the database for now. -~~~console +```console # /etc/init.d/weewx stop # rm /var/lib/weewx/weewx.sdb -~~~ +``` ## Installation of netatmo driver @@ -91,11 +91,11 @@ So I had to find another one, which I did. It's from [bricebou](https://github.com/bricebou/weewx-netatmo), who made a fork of the original to be compatible with Python 3 (I think that is required now by WeeWX 4.x). -~~~console +```console # wget -O weewx-netatmo.zip https://github.com/bricebou/weewx-netatmo/archive/master.zip # wee_extension --install weewx-netatmo.zip # wee_config --reconfigure -~~~ +``` Have a look at the file `/etc/weewx/weewx.conf` because it sometimes happens, that the configuration is not properly written. @@ -104,16 +104,16 @@ that the configuration is not properly written. You can also use `systemctl start weewx` instead. -~~~console +```console # /etc/init.d/weewx start -~~~ +``` ## Localisation The setup is done, although if you like your pages with another locale you may want to alter the file `/usr/share/weewx/user/extensions.py`. -~~~python +```python # file: "/usr/share/weewx/user/extensions.py" # # Copyright (c) 2009-2015 Tom Keffer @@ -133,13 +133,13 @@ import locale # Other options are possible. See: # http://docs.python.org/2/library/locale.html#locale.setlocale locale.setlocale(locale.LC_ALL, 'de_AT.UTF-8') -~~~ +``` ## Pushing weather data to APRS-IS Make sure you get a similar entry in your `/etc/weewx/weewx.conf` file: -~~~toml +```toml # file: "/etc/weewx/weewx.conf" ... @@ -152,7 +152,7 @@ Make sure you get a similar entry in your `/etc/weewx/weewx.conf` file: ... -~~~ +``` Now, you could also join CWOP over here: . I don't remember correctly, but I don't think you'll need that to just transport @@ -202,7 +202,7 @@ few moments to find the right place again. Now, for the future: the file I talk about is `/usr/share/weewx/weewx/restx.py` and you may look somewhere near the line 1285. I show you an excerpt of my current (already modified) file: -~~~py {linenos=table,hl_lines="5-6",linenostart=1281} +```py {linenos=table,hl_lines="5-6",linenostart=1281} else: _radiation_str = "" @@ -219,7 +219,7 @@ the line 1285. I show you an excerpt of my current (already modified) file: log.debug("CWOP: packet: '%s'", _tnc_packet.rstrip('\r\n')) return _tnc_packet -~~~ +``` Line 5 and 6 (highlighted) shows the old and new line. Should work fine. @@ -242,14 +242,15 @@ The installation is very easy: - install - ~~~console + + ```console # wee_extension --install=neowx-material.zip - ~~~ + ``` - restart - ~~~console + ```console # systemctl restart weewx - ~~~ + ``` I usually don't give this hint: note the `#` at the beginning of these command lines. That means to run those commands as **root**. @@ -260,9 +261,9 @@ you should be good to go. I did already had the `python3-ephem` package installed, I used the Almanac pages already in the older (default) Seasons skin. -~~~console +```console # dnf install python3-ephem -~~~ +``` The new theme looks like this: diff --git a/content/posts/2022/23-systemd-slow-reboot-and-shutdown-fixed/index.md b/content/posts/2022/23-systemd-slow-reboot-and-shutdown-fixed/index.md index d000359..6b86de6 100644 --- a/content/posts/2022/23-systemd-slow-reboot-and-shutdown-fixed/index.md +++ b/content/posts/2022/23-systemd-slow-reboot-and-shutdown-fixed/index.md @@ -1,5 +1,5 @@ --- -title: 'Systemd: slow reboot and shutdown fixed' +title: "Systemd: slow reboot and shutdown fixed" aliases: /posts/2022-06-27-systemd-slow-reboot-and-shutdown-fixed summary: > I'm not so into systemd systems and ever avoided systemd whenever possible, @@ -7,10 +7,9 @@ summary: > slowly and with some memory protection (e.g. this article). Sorry, this article is not very well formatted... date: 2022-06-26T22:41:49+02:00 -lastmod: 2022-10-26T07:09:35+02:00 +lastmod: 2024-09-28T23:48:06+0000 categories: [computerstuff] -tags: [linux,systemd,manjaro] - +tags: [linux, systemd, manjaro] --- I noticed long delays (more than 2 minutes) on reboots and poweroffs recently @@ -20,9 +19,9 @@ on my Manjaro laptop. View the last boot session log in reverse order -~~~console +```console $ journalctl -rb -1 -~~~ +``` and inspect that for abnormalities. Also look at your console when rebooting or shutting down the system, as that may also present some good starting points. @@ -31,7 +30,7 @@ shutting down the system, as that may also present some good starting points. I edited `/etc/systemd/system.conf` and changed the following values: -~~~ini +```ini # file: "/etc/systemd/system.conf" [Manager] [...] @@ -40,32 +39,32 @@ ShutdownWatchdogSec=1min [...] DefaultTimeoutStopSec=5s [...] -~~~ +``` ## Have a quick look at the boot time -~~~console +```console $ systemd-analyze -~~~ +``` and if you are more interested into which module slows down your boot, list them with: -~~~console +```console $ systemd-analyze blame -~~~ +``` Just out of curiosity I also used: -~~~console +```console $ sudo systemctl disable NetworkManager-wait-online.service -~~~ +``` → revert that with: -~~~console +```console $ sudo systemctl enable NetworkManager-wait-online.service -~~~ +``` ## Sources @@ -81,20 +80,20 @@ Since I made the switch to Fedora 36 I had to re-do those steps. With default values I got this result for `systemd-analyze` -~~~console -$ systemd-analyze -Startup finished in 7.754s (firmware) + 5.988s (loader) + 1.140s (kernel) + 13.027s (initrd) + 1min 21.493s (userspace) = 1min 49.403s +```console +$ systemd-analyze +Startup finished in 7.754s (firmware) + 5.988s (loader) + 1.140s (kernel) + 13.027s (initrd) + 1min 21.493s (userspace) = 1min 49.403s graphical.target reached after 1min 21.462s in userspace -~~~ +``` Without userspace: 27.9090s And with the changes above I get this -~~~console -$ systemd-analyze -Startup finished in 10.151s (firmware) + 2.368s (loader) + 1.128s (kernel) + 10.509s (initrd) + 8.480s (userspace) = 32.639s +```console +$ systemd-analyze +Startup finished in 10.151s (firmware) + 2.368s (loader) + 1.128s (kernel) + 10.509s (initrd) + 8.480s (userspace) = 32.639s graphical.target reached after 8.450s in userspace -~~~ +``` Without userspace: 24.1560s diff --git a/content/posts/2022/24-pfsense-restore-broken-config/index.md b/content/posts/2022/24-pfsense-restore-broken-config/index.md index 68ae91e..7ba7377 100644 --- a/content/posts/2022/24-pfsense-restore-broken-config/index.md +++ b/content/posts/2022/24-pfsense-restore-broken-config/index.md @@ -1,15 +1,14 @@ --- -title: 'pfSense: restore broken config' +title: "pfSense: restore broken config" aliases: - - /posts/2022-07-04-pfsense-restore-broken-config - - /posts/2022-07-04-pfsense-restore-broken-config-file + - /posts/2022-07-04-pfsense-restore-broken-config + - /posts/2022-07-04-pfsense-restore-broken-config-file summary: > Restoring a configuration file for pfSense when it actually stays in a boot-loop date: 2022-07-04T18:14:13+02:00 categories: [computerstuff] -tags: [pfsense,networking] - +tags: [pfsense, networking] --- My pfSense firewall at home got a pretty heavy misconfiguration by myself and @@ -19,72 +18,72 @@ configuration so this recovery process works quite well. ## Follow these steps -1. Boot into **single user mode** +1. Boot into **single user mode** - Connect to your firewall (with a serial console) and choose option - `5) Reboot system` and confirm with the letter `S` (capital s). + Connect to your firewall (with a serial console) and choose option + `5) Reboot system` and confirm with the letter `S` (capital s). 2. **ZFS version only** - 1. Remount root slice as read-write: + 1. Remount root slice as read-write: - ~~~console - $ /sbin/mount -u / - ~~~ + ```console + $ /sbin/mount -u / + ``` - 2. Mount all ZFS filesystems, datasets etc. + 2. Mount all ZFS filesystems, datasets etc. - ~~~console - $ /sbin/zfs mount -a - ~~~ + ```console + $ /sbin/zfs mount -a + ``` - 3. Working within the mounted filesystems + 3. Working within the mounted filesystems - 1. Enter **/cf/conf** + 1. Enter **/cf/conf** - ~~~console - $ cd /cf/conf - ~~~ + ```console + $ cd /cf/conf + ``` - 2. Copy the newest backup file back + 2. Copy the newest backup file back - ~~~console - $ cp backup/config-1648889613.xml config.xml - ~~~ + ```console + $ cp backup/config-1648889613.xml config.xml + ``` - 3. Clear the config cache + 3. Clear the config cache - ~~~console - $ rm /tmp/config.cache - ~~~ + ```console + $ rm /tmp/config.cache + ``` - 4. Reload system and it's services + 4. Reload system and it's services - ~~~console - $ /etc/rc.reload_all start - ~~~ + ```console + $ /etc/rc.reload_all start + ``` - This may take a while. At this point we are done, we can now remove - the single user mode boot configuration and reboot the firewall. + This may take a while. At this point we are done, we can now remove + the single user mode boot configuration and reboot the firewall. - 4. Clear the single user mode boot configuration + 4. Clear the single user mode boot configuration - ~~~console - $ /sbin/nextboot -D - ~~~ + ```console + $ /sbin/nextboot -D + ``` - ZFS does not clear the single user mode boot configuration by itself, - that's why we have to delete it after we are done with our work. + ZFS does not clear the single user mode boot configuration by itself, + that's why we have to delete it after we are done with our work. - 5. Reboot the system + 5. Reboot the system - ~~~console - $ /sbin/reboot - ~~~ + ```console + $ /sbin/reboot + ``` - You could also use exit, but that would only continue booting into - multi user mode without rebooting the system first. I personally think - that we would benefit from a full reboot. + You could also use exit, but that would only continue booting into + multi user mode without rebooting the system first. I personally think + that we would benefit from a full reboot. Okay, that's it all for now. Please note that I do not use the UFS filesystem any more, so I won't add this to my little instruction set. diff --git a/content/posts/2022/25-systemd-flushing-the-dns-cache/index.md b/content/posts/2022/25-systemd-flushing-the-dns-cache/index.md index d5a5b98..eee3301 100644 --- a/content/posts/2022/25-systemd-flushing-the-dns-cache/index.md +++ b/content/posts/2022/25-systemd-flushing-the-dns-cache/index.md @@ -1,11 +1,10 @@ --- -title: 'Systemd: flushing the DNS cache' +title: "Systemd: flushing the DNS cache" aliases: /posts/2022-07-04-systemd-flushing-the-dns-cache date: 2022-07-04T17:22:48+02:00 -lastmod: 2022-12-14T16:05:48+01:00 +lastmod: 2024-09-28T23:48:06+0000 categories: [computerstuff] -tags: [linux,systemd,networking,manjaro,dns] - +tags: [linux, systemd, networking, manjaro, dns] --- First off I want to say, that Systemd is quite new to me and I always used the @@ -19,17 +18,17 @@ is not that complicated, but the correct commands should be known. And this post is all about that: -~~~console +```console $ sudo systemd-resolve --flush-caches -~~~ +``` You could also use `sudo resolvectl flush-caches` if you like or prefer. Now verify the empty cache: -~~~console +```console $ systemd-resolve --statistics -~~~ +``` I usually do not need to flush my computers DNS caches, but fiddling with my firewall at home made me use this very often over the last few weeks. diff --git a/content/posts/2022/26-raspberry-pi-4-64bit-dual-hat-hotspot-without-pi-star/index.md b/content/posts/2022/26-raspberry-pi-4-64bit-dual-hat-hotspot-without-pi-star/index.md index 0d44e79..433be41 100644 --- a/content/posts/2022/26-raspberry-pi-4-64bit-dual-hat-hotspot-without-pi-star/index.md +++ b/content/posts/2022/26-raspberry-pi-4-64bit-dual-hat-hotspot-without-pi-star/index.md @@ -1,19 +1,18 @@ --- title: Raspberry Pi 4 (64 bit) DUAL_HAT Hotspot aliases: - - /posts/2022-07-10-raspberry-pi-4-64bit-dual-hat-hotspot-without-pi-star - - /posts/2022-07-10-raspberry-pi-4-64-bit-dual_hat-hotspot - - /posts/2022-07-10-raspberry-pi-4-64-bit-dual-hat-hotspot - - /amateur-radio/2022-07-10-raspberry-pi-4-64bit-dual-hat-hotspot-without-pi-star + - /posts/2022-07-10-raspberry-pi-4-64bit-dual-hat-hotspot-without-pi-star + - /posts/2022-07-10-raspberry-pi-4-64-bit-dual_hat-hotspot + - /posts/2022-07-10-raspberry-pi-4-64-bit-dual-hat-hotspot + - /amateur-radio/2022-07-10-raspberry-pi-4-64bit-dual-hat-hotspot-without-pi-star summary: > Working **without Pi-Star** on a fresh and lightweight Raspberry Pi OS (64 bit) installation. One of the longer articles over here... date: 2022-07-10T14:27:28+02:00 -lastmod: 2024-04-14T17:42:37+0000 +lastmod: 2024-09-28T23:48:06+0000 categories: [amateur-radio] -tags: [pistar,dmr,ysf,dstar,hotspot,mmdvm] +tags: [pistar, dmr, ysf, dstar, hotspot, mmdvm] #weight: 1 - --- This is my attempt to create a lightweight hotspot for DMR, D-STAR and C4FM on @@ -38,88 +37,89 @@ read-only like on Pi-Star. 1. Download the operating software image from [raspberrypi.com](https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit). 2. Boot the Raspberry Pi and set it up to your needs. - - Localisation - - Keyboard layout - - Install needed packages - - Install your favourite shell (bash, zsh, fish, csh ...) + - Localisation + - Keyboard layout + - Install needed packages + - Install your favourite shell (bash, zsh, fish, csh ...) 3. Disable the serial console (and we will also disable Bluetooth) - - Open `/boot/cmdline.txt` and remove the text `console=serial0,115200` - - Open `/boot/config.txt` and add to the end - ~~~ini - dtoverlay=disable-bt - enable_uart=1 - ~~~ + - Open `/boot/cmdline.txt` and remove the text `console=serial0,115200` + - Open `/boot/config.txt` and add to the end + + ```ini + dtoverlay=disable-bt + enable_uart=1 + ``` - You may also run `raspi-config` and disable the console from there. - Choose _3 Interface Options_ » _I6 Serial Port_ » _No (login shell)_ » - _Yes (serial hardware)_ » _OK_ + You may also run `raspi-config` and disable the console from there. + Choose _3 Interface Options_ » _I6 Serial Port_ » _No (login shell)_ » + _Yes (serial hardware)_ » _OK_ - Disable the services + Disable the services - ~~~console - $ sudo systemctl disable serial-getty@ttyAMA0.service - $ sudo systemctl disable bluetooth.service - ~~~ + ```console + $ sudo systemctl disable serial-getty@ttyAMA0.service + $ sudo systemctl disable bluetooth.service + ``` - Reboot the Raspberry Pi after those changes! + Reboot the Raspberry Pi after those changes! - ~~~console - $ sudo reboot - ~~~ + ```console + $ sudo reboot + ``` 4. Install the needed packages to compile the software later - ~~~console - $ sudo apt update -y - $ sudo apt full-upgrade - $ sudo apt install git build-essential zsh nmap lsof vim cmake gcc-arm-none-eabi stm32flash libusb-1.0-0-dev libasound2-dev libwxgtk3.0-gtk3-dev - ~~~ + ```console + $ sudo apt update -y + $ sudo apt full-upgrade + $ sudo apt install git build-essential zsh nmap lsof vim cmake gcc-arm-none-eabi stm32flash libusb-1.0-0-dev libasound2-dev libwxgtk3.0-gtk3-dev + ``` - Because **wiringPi** is currently not available from official sources, we - have to install it manually. + Because **wiringPi** is currently not available from official sources, we + have to install it manually. - ~~~console - $ git clone git@github.com:WiringPi/WiringPi.git - $ cd wiringPi - $ ./build - ~~~ + ```console + $ git clone git@github.com:WiringPi/WiringPi.git + $ cd wiringPi + $ ./build + ``` - This should suffice, make sure to read [INSTALL] and follow its instructions. + This should suffice, make sure to read [INSTALL] and follow its instructions. - [INSTALL]: https://github.com/WiringPi/WiringPi/blob/master/INSTALL + [INSTALL]: https://github.com/WiringPi/WiringPi/blob/master/INSTALL - Check _wiringPi_ with `gpio -v` or `gpio readall`: + Check _wiringPi_ with `gpio -v` or `gpio readall`: - ~~~console - $ gpio -v - gpio version: 2.70 - Copyright (c) 2012-2018 Gordon Henderson - This is free software with ABSOLUTELY NO WARRANTY. - For details type: gpio -warranty + ```console + $ gpio -v + gpio version: 2.70 + Copyright (c) 2012-2018 Gordon Henderson + This is free software with ABSOLUTELY NO WARRANTY. + For details type: gpio -warranty - Raspberry Pi Details: - Type: Pi 4B, Revision: 01, Memory: 4096MB, Maker: Sony - * Device tree is enabled. - *--> Raspberry Pi 4 Model B Rev 1.1 - * This Raspberry Pi supports user-level GPIO access. - ~~~ + Raspberry Pi Details: + Type: Pi 4B, Revision: 01, Memory: 4096MB, Maker: Sony + * Device tree is enabled. + *--> Raspberry Pi 4 Model B Rev 1.1 + * This Raspberry Pi supports user-level GPIO access. + ``` 5. Create a non-privileged user called _mmdvm_ and add the user to the group _dialout_ - ~~~console - $ sudo useradd mmdvm -g mmdvm -s /sbin/nologin - $ sudo usermod mmdvm -G dialout - ~~~ + ```console + $ sudo useradd mmdvm -g mmdvm -s /sbin/nologin + $ sudo usermod mmdvm -G dialout + ``` - I had some problems with wiringPi, so I finally added the user _mmdvm_ to - the groups _gpio_ and _kmem_. (To let the user _mmdvm_ access `/dev/mem` and - `/dev/gpiomem`.) + I had some problems with wiringPi, so I finally added the user _mmdvm_ to + the groups _gpio_ and _kmem_. (To let the user _mmdvm_ access `/dev/mem` and + `/dev/gpiomem`.) - ~~~console - $ sudo usermod -G gpio,kmem -a mmdvm - ~~~ + ```console + $ sudo usermod -G gpio,kmem -a mmdvm + ``` ## Firmware @@ -135,22 +135,22 @@ But let us move to the fun (work) part. Clone the git repository. I prefer this in a separate folder like `~/git`. -~~~console +```console $ git clone --recursive git@github.com:juribeparada/MMDVM_HS.git -~~~ +``` ### Configuration Enter the directory and copy an appropriate default configuration for your board. -~~~console +```console $ cp configs/MMDVM_HS_Dual_Hat-12mhz.h Config.h -~~~ +``` Edit the file to your needs. The example below is what I use, be aware of the version of the installed TCXO of **12**.2880 MHz! -~~~cpp +```cpp // file: "Config.h" #if !defined(CONFIG_H) #define CONFIG_H @@ -171,11 +171,11 @@ version of the installed TCXO of **12**.2880 MHz! #define ENABLE_UDID #endif -~~~ +``` Those settings are also interesting to play with in the file `ADF7021.h`: -~~~cpp +```cpp // file: "ADF7021.h" // Disable TX Raised Cosine filter for 4FSK modulation in ADF7021: #define ADF7021_DISABLE_RC_4FSK @@ -186,7 +186,7 @@ Those settings are also interesting to play with in the file `ADF7021.h`: // Configure AFC with positive initial frequency offset: // #define ADF7021_AFC_POS -~~~ +``` I only disabled the Raised Cosine filter for 4FSK modulation because this works best for me. Enabling AFC did only cause lots of synchronisation errors on DMR. @@ -202,26 +202,26 @@ want better response times on DMR keep on reading. You may want to consider making the following changes on those two files. -~~~cpp +```cpp // file: "DMRDMOTX.cpp" //m_txDelay(240U), // 200ms m_txDelay(120U), // 200ms -~~~ +``` -~~~cpp +```cpp // file: "DMRDMOTX.cpp" void CDMRDMOTX::setTXDelay(uint8_t delay) { //m_txDelay = 600U + uint16_t(delay) * 12U; // 500ms + tx delay m_txDelay = 60U + uint16_t(delay) * 12U; } -~~~ +``` -~~~cpp +```cpp // file: "DMRTX.cpp" // const uint32_t STARTUP_COUNT = 20U; const uint32_t STARTUP_COUNT = 2U; -~~~ +``` I'll leave you with this, if you have no idea what you are doing here: you should probably leave those files just as they are... @@ -236,17 +236,17 @@ as a starting point and try the best values for you and your board._ If no errors were made in `Config.h` this should be as easy as the steps above. -~~~console +```console $ make clean $ make -j4 $ sudo make mmdvm_hs_dual_hat -~~~ +``` Finish this with a reboot of the Raspberry Pi. -~~~console +```console $ sudo reboot -~~~ +``` {{< alert circle-info >}} Note, that we used `-j4` as an argument of `make` because the Raspberry Pi 4 has @@ -273,36 +273,36 @@ could be referred as the modem probably. We run this command also in our separated `git` folder. Just to keep all those git repositories in one place. -~~~console +```console $ git clone git@github.com:g4klx/MMDVMHost.git -~~~ +``` ### Compile the code Enter the newly created directory and compile it. -~~~console +```console $ make -j4 -f Makefile.Pi -~~~ +``` Install the executables into `/usr/local/bin` by executing -~~~console +```console $ sudo make install -~~~ +``` ### Configuration Copy the default configuration file to `/etc`: -~~~console +```console $ sudo cp MMDVM.ini /etc/ -~~~ +``` and edit it to your needs. Most of the options are self-explanatory and I will only publish some excerpts of my `/etc/MMDVM.ini` file. -~~~ini +```ini # file: "/etc/MMDVM.ini" [Log] # Logging levels, 0=No logging @@ -437,7 +437,7 @@ GatewayAddress=127.0.0.1 GatewayPort=4200 # ModeHang=3 Debug=0 -~~~ +``` These are the most important parts of the configuration -- make sure that you double check your file and insert your callsign and DMRID number correctly. @@ -449,10 +449,10 @@ but still valid as they all start with your legit DMRID). ### Create log file directory -~~~console +```console $ sudo mkdir /var/log/mmdvm $ sudo chown mmdvm:mmdvm /var/log/mmdvm -~~~ +``` ### Check for errors @@ -460,9 +460,9 @@ To check for errors, run `MMDVMHost` directly before setting up a system service Make sure, that you have set `Daemon=0` in your `MMDVM.ini` file for this test. Start `MMDVMHost` as user _mmdvm_ -~~~console +```console $ sudo -u mmdvm MMDVMHost /etc/MMDVM.ini -~~~ +``` Set `Daemon=1` back in your `MMDVM.ini` if you haven't already. @@ -470,14 +470,14 @@ Set `Daemon=1` back in your `MMDVM.ini` if you haven't already. Copy the unit file for Systemd to the system. -~~~console +```console $ sudo cp linux/systemd/mmdvmhost.service /etc/systemd/system/ -~~~ +``` No modification should be needed, but for reference this is the content of the file: -~~~ini +```ini # file: "/etc/systemd/system/mmdvmhost.service" [Unit] Description=MMDVMHost Radio Service @@ -491,14 +491,14 @@ Restart=on-abnormal [Install] WantedBy=multi-user.target -~~~ +``` Start and enable this service in one go with -~~~console +```console $ sudo systemctl daemon-reload $ sudo systemctl enable --now mmdvmhost.service -~~~ +``` ## DMRGateway @@ -507,13 +507,13 @@ austrian brandmeister master server (BM2321). ### Get the code -~~~console +```console $ git clone git@github.com:g4klx/DMRGateway.git -~~~ +``` ### Configuration -~~~ini +```ini # file: "/etc/DMRGateway.ini" [General] Timeout=10 @@ -636,16 +636,16 @@ Port=3769 Enable=0 Address=127.0.0.1 Port=7643 -~~~ +``` ### Test your setup Change the configuration from above to `Daemon=0` and start DMRGateway in a terminal with -~~~console +```console $ sudo -u mmdvm DMRGateway /etc/DMRGateway.ini -~~~ +``` Check for errors and move on when everything is fine. You should hear the announcement coming from the ISPC2 server. In our case (Ref 4000) we should @@ -656,7 +656,7 @@ hear something like "Not connected" or "Repeater not connected". I copied the unit file from mmdvmhost.service and made my changes. If you don't want to do that by yourself, use this one to start with. -~~~ini +```ini # file: "/etc/systemd/system/dmrgateway.service" [Unit] Description=DMRGateway Radio Service @@ -670,13 +670,13 @@ Restart=on-abnormal [Install] WantedBy=multi-user.target -~~~ +``` Change the configuration back `Daemon=1` and enable the service/unit. -~~~console +```console $ sudo systemctl enable --now dmrgateway.service -~~~ +``` ## YSFGateway (C4FM, YSF, YCS) @@ -697,48 +697,48 @@ ready-to-use with the _[changes made by Kurt, OE1KBC](http://ycs-wiki.xreflector I've included his changes in my fork and created a branch called _YCS232_. -~~~console +```console $ git clone git@github.com:oe7drt/YSFClients.git $ cd YSFClients $ git fetch --all $ git checkout YCS232 -~~~ +``` You can also add the original sources as an additional remote: -~~~console +```console $ git remote add upstream git@github.com:g4klx/YSFClients.git $ git fetch --all -~~~ +``` #### Original, most actual codebase -~~~console +```console $ git clone git@github.com:g4klx/YSFClients.git -~~~ +``` ### Either choice of source, compile it Enter the created directory _YSFClients_ and compile the code. Install them into `/usr/local/bin` -~~~console +```console $ cd YSFClients $ make -j4 $ sudo make install -~~~ +``` ### Configuration Copy the default configuration file into `/etc` -~~~console +```console $ sudo cp YSFGateway/YSFGateway.ini /etc/ -~~~ +``` and edit the file. Here are some excerpts of mine: -~~~ini +```ini # file: "/etc/YSFGateway.ini" [General] Callsign=OE7DRT @@ -806,7 +806,7 @@ YSF2P25Port=42015 Enable=0 Rooms=./FCSRooms.txt Port=42001 -~~~ +``` This is **not the full** file, but pretty much of it. Adopt to your needs but check and double-check that file like the other configuration files. @@ -815,9 +815,9 @@ check and double-check that file like the other configuration files. Change `Daemon=0` in the configuration file for the test and run -~~~console +```console $ sudo -u mmdvm YSFGateway /etc/YSFGateway.ini -~~~ +``` You should see yourself in the dashboard and also the screen should print something like `Linked to AT-C4FM-AUSTRIA` and `Link successful to MMDVM`. @@ -831,7 +831,7 @@ Change `Daemon=1` back in your config if not already done. Create the unit file `/etc/systemd/system/ysfgateway.service` -~~~ini +```ini # file: "/etc/systemd/system/ysfgateway.service" [Unit] Description=YSFGateway Service @@ -845,14 +845,14 @@ Restart=on-abnormal [Install] WantedBy=multi-user.target -~~~ +``` Start and enable the service. -~~~console +```console $ sudo systemctl daemon-reload $ sudo systemctl enable --now ysfgateway.service -~~~ +``` ## ircDDBGateway (D-STAR) @@ -871,9 +871,9 @@ work is now done from MMDVMHost. Again, correct me if I'm wrong. In our `~/git` directory (where else?) -~~~console +```console $ git clone git@github.com:g4klx/ircDDBGateway.git -~~~ +``` ### Compile the code and install the programs @@ -881,11 +881,11 @@ Open `Makefile` and change the parameters on top of the file to your needs. I like to use `/var/log/mmdvm`, `/usr/local/bin` and `/usr/local/etc` for example... -~~~console +```console $ cd ircDDBGateway $ make -j4 $ sudo make install -~~~ +``` ### Configuration @@ -896,7 +896,7 @@ These are the files that I use at the moment, changes may be done if needed. ### /etc/ircddbgateway -~~~ini +```ini # file: "/etc/ircddbgateway" gatewayType=1 # gatewayType=0 is the default, but Pi-Star uses 1 here @@ -934,7 +934,7 @@ band1_1=0 band1_2=0 band1_3=0 repeaterCall2= -repeaterBand2= +repeaterBand2= repeaterType2=0 repeaterAddress2=127.0.0.1 repeaterPort2=20012 @@ -954,7 +954,7 @@ band2_1=0 band2_2=0 band2_3=0 repeaterCall3= -repeaterBand3= +repeaterBand3= repeaterType3=0 repeaterAddress3=127.0.0.1 repeaterPort3=20013 @@ -974,7 +974,7 @@ band3_1=0 band3_2=0 band3_3=0 repeaterCall4= -repeaterBand4= +repeaterBand4= repeaterType4=0 repeaterAddress4=127.0.0.1 repeaterPort4=20014 @@ -1017,58 +1017,58 @@ dextraEnabled=1 dextraMaxDongles=5 dplusEnabled=1 dplusMaxDongles=5 -dplusLogin=N0SIGN +dplusLogin=N0SIGN dcsEnabled=1 ccsEnabled=1 -ccsHost=CCS704 +ccsHost=CCS704 xlxEnabled=0 xlxOverrideLocal=0 xlxHostsFileUrl=http://xlxapi.rlx.lu/api.php?do=GetXLXDMRMaster starNetBand1=A -starNetCallsign1= -starNetLogoff1= +starNetCallsign1= +starNetLogoff1= starNetInfo1= -starNetPermanent1= +starNetPermanent1= starNetUserTimeout1=300 starNetGroupTimeout1=300 starNetCallsignSwitch1=0 starNetTXMsgSwitch1=1 starNetReflector1= starNetBand2=A -starNetCallsign2= -starNetLogoff2= +starNetCallsign2= +starNetLogoff2= starNetInfo2= -starNetPermanent2= +starNetPermanent2= starNetUserTimeout2=300 starNetGroupTimeout2=300 starNetCallsignSwitch2=0 starNetTXMsgSwitch2=1 starNetReflector2= starNetBand3=A -starNetCallsign3= -starNetLogoff3= +starNetCallsign3= +starNetLogoff3= starNetInfo3= -starNetPermanent3= +starNetPermanent3= starNetUserTimeout3=300 starNetGroupTimeout3=300 starNetCallsignSwitch3=0 starNetTXMsgSwitch3=1 starNetReflector3= starNetBand4=A -starNetCallsign4= -starNetLogoff4= +starNetCallsign4= +starNetLogoff4= starNetInfo4= -starNetPermanent4= +starNetPermanent4= starNetUserTimeout4=300 starNetGroupTimeout4=300 starNetCallsignSwitch4=0 starNetTXMsgSwitch4=1 starNetReflector4= starNetBand5=A -starNetCallsign5= -starNetLogoff5= +starNetCallsign5= +starNetLogoff5= starNetInfo5= -starNetPermanent5= +starNetPermanent5= starNetUserTimeout5=300 starNetGroupTimeout5=300 starNetCallsignSwitch5=0 @@ -1089,7 +1089,7 @@ mobileGPSAddress=127.0.0.1 mobileGPSPort=7834 windowX=-1 windowY=-1 -~~~ +``` I wasn't aware what numbers need to be set on _gatewayType_ or _repeaterType_, but a look into the source code made my decision easier. I'm not sure if that is @@ -1100,18 +1100,18 @@ And so I found some information in `Common/Defs.h`: {{< highlight cpp "linenos=table,hl_lines=2,linenostart=64">}} enum HW_TYPE { - HW_HOMEBREW, - HW_ICOM, - HW_DUMMY +HW_HOMEBREW, +HW_ICOM, +HW_DUMMY }; {{< /highlight >}} {{< highlight cpp "linenos=table,hl_lines=3,linenostart=130">}} enum GATEWAY_TYPE { - GT_REPEATER, - GT_HOTSPOT, - GT_DONGLE, - GT_STARNET +GT_REPEATER, +GT_HOTSPOT, +GT_DONGLE, +GT_STARNET }; {{< /highlight >}} @@ -1134,7 +1134,7 @@ be set to Adopt those changes in `/etc/timeserver`. -~~~ini +```ini # file: "/etc/timeserver" callsign=N0SIGN sendA=0 @@ -1148,13 +1148,13 @@ format=1 interval=2 windowX=0 windowY=0 -~~~ +``` ## First run -~~~console +```console $ sudo -u mmdvm ircddbgatewayd -~~~ +``` Abort with `CTRL + C` when done. @@ -1163,7 +1163,7 @@ Abort with `CTRL + C` when done. You could copy over the unit files from `./debian`, but the paths in those files need adjustement, so we create them directly with `sudo vim /etc/systemd/system/...` -~~~ini +```ini # file: "/etc/systemd/system/ircddbgateway.service" [Unit] Description=D-STAR Gateway Daemon @@ -1176,9 +1176,9 @@ Restart=on-abort [Install] WantedBy=multi-user.target -~~~ +``` -~~~ini +```ini # file: "/etc/systemd/system/timeserver.service" [Unit] Description=Timeserver (ircDDBGateway) Daemon @@ -1194,15 +1194,15 @@ Restart=on-abort [Install] WantedBy=multi-user.target -~~~ +``` Enable the services -~~~console +```console $ sudo systemctl daemon-reload $ sudo systemctl enable --now ircddbgateway.service $ sudo systemctl enable --now timeserver.service -~~~ +``` ## The hotspot works @@ -1220,11 +1220,11 @@ electro-magnetic stream in the air. Install some needed packages -~~~console +```console $ sudo apt install python3-websockets python3-pip $ sudo pip3 install ansi2html $ sudo apt install python3-gpiozero python3-psutil python3-serial -~~~ +``` Refer to the [installation instructions](https://github.com/dg9vh/MMDVMHost-Websocketboard#installation) on the repository for more information and the full instructions. @@ -1232,9 +1232,9 @@ on the repository for more information and the full instructions. Allow the _logtailer_ program access to _MMDVMHost_ with `sudo visudo` and add this line to the user section of the sudoers file: -~~~plain +```plain www-data ALL=(ALL) NOPASSWD: /usr/local/bin/MMDVMHost -~~~ +``` #### Webserver or built-in solution? @@ -1244,9 +1244,9 @@ I'll stick to a real webserver in this article. Install nginx with php support with -~~~console +```console $ sudo apt install nginx php-fpm -~~~ +``` ##### Configure and limit webserver @@ -1258,7 +1258,7 @@ filenames → we want to disable the dashboard with an empty `index.html` file that we create in the document root of our webserver (`sudo touch /var/www/html/index.html`). -~~~nginx +```nginx # file: "/etc/nginx/sites-enabled/default" limit_req_zone $binary_remote_addr zone=mylimit:10m rate=2r/s; @@ -1296,7 +1296,7 @@ server { # location ~ \.php$ { include snippets/fastcgi-php.conf; - + # With php-fpm (or other unix sockets): fastcgi_pass unix:/run/php/php7.4-fpm.sock; # With php-cgi (or other tcp sockets): @@ -1315,15 +1315,15 @@ server { # Virtual Host configuration for example.com # # [...] -~~~ +``` ### Get the code -~~~console +```console $ sudo mkdir /opt/MMDVMDash $ sudo chown pi /opt/MMDVMDash $ git clone --recursive git@github.com:dg9vh/MMDVMHost-Websocketboard.git /opt/MMDVMDash -~~~ +``` We saved the dashboard repository now in `/opt/MMDVMDash`. @@ -1331,7 +1331,7 @@ We saved the dashboard repository now in `/opt/MMDVMDash`. Open `logtailer.ini`, this should look something like this (shrinked together) -~~~ini +```ini # file: "/opt/MMDVMDash/logtailer.ini" [DEFAULT] Host=0.0.0.0 @@ -1357,11 +1357,11 @@ BinaryName1=MMDVMHost BinaryName2=ircddbgatewayd BinaryName3=YSFGateway BinaryName4=timeserverd -~~~ +``` Next, open `/opt/MMDVMDash/html/js/config.js` and modify it to your needs -~~~js +```js // file: "/opt/MMDVMDash/html/js/config.js" var config_struc_ver = 20210501.1; var qrz = 1; @@ -1379,24 +1379,20 @@ var services = 1; var about = 0; var useClientTimezone = 1; var showBMTGLink = 0; -var qrz_blacklist = [ -"N0CALL", -] -var dashboard_blacklist = [ -"MY0CALL", -] +var qrz_blacklist = ["N0CALL"]; +var dashboard_blacklist = ["MY0CALL"]; var useDarkTheme = 0; var customHeadlineText = ``; var customText = ``; -~~~ +``` ### Create and enable a system service -~~~console +```console $ sudo cp systemd/logtailer.service /etc/systemd/system/ $ sudo systemctl daemon-reload $ sudo systemctl enable --now logtailer.service -~~~ +``` ## Enjoy the multi-mode hotspot diff --git a/content/posts/2022/27-mounting-disk-images-on-linux/index.md b/content/posts/2022/27-mounting-disk-images-on-linux/index.md index 3a47977..48783ec 100644 --- a/content/posts/2022/27-mounting-disk-images-on-linux/index.md +++ b/content/posts/2022/27-mounting-disk-images-on-linux/index.md @@ -2,20 +2,19 @@ title: Mounting disk images on linux aliases: /posts/2022-08-06-mounting-disk-images-on-linux summary: > - I sometimes create full-disk-images of USB drives or hard drives and in - rare cases I have to look into them. This is how I usually do that. + I sometimes create full-disk-images of USB drives or hard drives and in + rare cases I have to look into them. This is how I usually do that. date: 2022-08-06T21:02:21+02:00 -lastmod: 2023-12-26T13:25:16+0000 +lastmod: 2024-09-28T23:48:06+0000 categories: [computerstuff] -tags: [linux,raspberry-pi] - +tags: [linux, raspberry-pi] --- Let's assume you created a disk image with `dd` on a linux computer like -~~~console +```console $ sudo dd if=/dev/sda of=disk.img bs=4M status=progress conv=fsync -~~~ +``` There are several partitions in that image and we want to access the linux filesystem on it. For reference, I'll bring in some old backup I made from a @@ -24,7 +23,7 @@ with `xz`. When uncompressed, look at the partition table with _fdisk_: -~~~console +```console $ fdisk -l disk.img Festplatte disk.img: 7,4 GiB, 7948206080 Bytes, 15523840 Sektoren Einheiten: Sektoren von 1 * 512 = 512 Bytes @@ -36,7 +35,7 @@ Festplattenbezeichner: 0x1b7f4bbb Gerät Boot Anfang Ende Sektoren Größe Kn Typ disk.img1 8192 532479 524288 256M c W95 FAT32 (LBA) disk.img2 532480 15523839 14991360 7,1G 83 Linux -~~~ +``` We will refer to this output later again. @@ -48,10 +47,10 @@ first is the FAT32 partition used for UEFI and the second is the root file syste ### Creating and mounting the loop device -~~~console +```console $ sudo losetup --partscan --find --show disk.img /dev/loop1 -~~~ +``` The second line is the output of the program. I used losetup already today, so this is not _loop0_ but _loop1_. You may get `/dev/loop0` usually. @@ -59,16 +58,16 @@ this is not _loop0_ but _loop1_. You may get `/dev/loop0` usually. Mount the new virtual loop device to the directory that you like. This is `~/tmp` in my case. -~~~console +```console $ sudo mount /dev/loop1p2 tmp -~~~ +``` ### Removing the loop device -~~~console +```console $ sudo umount tmp $ sudo losetup -d /dev/loop1 -~~~ +``` ## Using `fdisk` and `mount` @@ -83,15 +82,15 @@ We calculate the needed offset like: `532480 * 512 = 272629760` And the resulting command is -~~~console +```console $ sudo mount -o loop,offset=272629760 disk.img tmp/ -~~~ +``` A remount is simple as -~~~console +```console $ sudo umount tmp -~~~ +``` ## When do you need this stuff diff --git a/content/posts/2022/28-using-nfs-on-a-raspberry-pi/index.md b/content/posts/2022/28-using-nfs-on-a-raspberry-pi/index.md index 8793bf4..e66d7b4 100644 --- a/content/posts/2022/28-using-nfs-on-a-raspberry-pi/index.md +++ b/content/posts/2022/28-using-nfs-on-a-raspberry-pi/index.md @@ -1,15 +1,14 @@ --- title: Using NFS shares on a Raspberry Pi aliases: - - /posts/2022-08-07-using-nfs-on-a-raspberry-pi - - /posts/2022-08-07-using-nfs-shares-on-a-raspberry-pi + - /posts/2022-08-07-using-nfs-on-a-raspberry-pi + - /posts/2022-08-07-using-nfs-shares-on-a-raspberry-pi summary: > A quick and short guide on how to setup an NFS share on a Raspberry Pi. date: 2022-08-07T07:19:54+02:00 categories: [computerstuff] -tags: [linux,networking,raspberry-pi] - +tags: [linux, networking, raspberry-pi] --- I use this mainly on my amateur radio hotspot when I work on my sleek dashboard. @@ -21,22 +20,22 @@ the data gets pulled live from the logs -- like it would be on the final system. ## Installation and configuration -~~~console +```console $ sudo apt update $ sudo apt install nfs-kernel-server -~~~ +``` -~~~console +```console $ sudo vim /etc/exports -~~~ +``` We have to export our directories in the file `/etc/exports` on our Raspberry Pi. -~~~plain +```plain # file: "/etc/exports" /var/www/html 192.168.1.123(rw,async,all_squash,insecure,no_subtree_check,anonuid=1000,anongid=1000) /opt/MMDVMDash 192.168.1.123(rw,async,all_squash,insecure,no_subtree_check,anonuid=1000,anongid=1000) -~~~ +``` So we allow `192.168.1.123` read- and write-access to the directories above. @@ -47,18 +46,18 @@ as my user on the Raspberry Pi (192.168.1.124). Also edit `/etc/hosts.allow` to grant access for your network or host. -~~~plain +```plain # file: "/etc/hosts.allow" ALL: 192.168.1.123 -~~~ +``` After we changed the contents of `/etc/exports` we have to run the `exportfs` command and restart the nfs-server. -~~~console +```console $ sudo exportfs -ra $ sudo systemctl restart nfs-server.service -~~~ +``` ## Accessing the directories @@ -71,16 +70,16 @@ only **root** is allowed to use mount without an entry in `/etc/fstab`. So we run -~~~console +```console $ sudo mount 192.168.1.124:/var/www/html tmp/ -~~~ +``` and if it does not print anything, all is good. On the Raspberry Pi you should see a new line looking like: -~~~plain +```plain raspi4 rpc.mountd[30223]: authenticated mount request from 192.168.1.123:894 for /opt/MMDVMDash/html (/opt/MMDVMDash/html) -~~~ +``` {{< alert circle-info >}} **To eliminate the confusion:** I've mounted `/var/www/html` but the log shows @@ -94,22 +93,22 @@ in our `/etc/fstab` file to let the system mount this share when starting. When unmounting, you should see another line on your Raspberry Pi. -~~~plain +```plain raspi4 rpc.mountd[30223]: authenticated unmount request from 192.168.1.123:696 for /opt/MMDVMDash/html (/opt/MMDVMDash/html) -~~~ +``` ## Creating entries in our `/etc/fstab` file First, let us create a directory on our laptop. -~~~console +```console $ mkdir -p ~/raspi4/html -~~~ +``` -~~~plain +```plain # file: "/etc/fstab" 192.168.1.124:/var/www/html /home/dominic/raspi4/html nfs noauto,users,nodev,async,soft,_netdev,x-systemd.automount,x-systemd.device-timeout=1,x-systemd-idle-timeout=1min,x-systemd.mount-timeout=10,timeo=10,retry=3 0 0 -~~~ +``` After changing that file, make sure to reload Systemd with `sudo systemctl daemon-reload`. diff --git a/content/posts/2022/29-vpn-tunnel-into-hamnet-on-fedora-36/index.md b/content/posts/2022/29-vpn-tunnel-into-hamnet-on-fedora-36/index.md index 613f59f..df5a8b5 100644 --- a/content/posts/2022/29-vpn-tunnel-into-hamnet-on-fedora-36/index.md +++ b/content/posts/2022/29-vpn-tunnel-into-hamnet-on-fedora-36/index.md @@ -22,9 +22,9 @@ used that as my starting point. First of all, install NetworkManager-l2tp-gnome: -~~~console +```console $ sudo dnf install NetworkManager-l2tp-gnome -~~~ +``` After that, create the new VPN tunnel in `Settings` → `Network` → `VPN`. @@ -59,6 +59,6 @@ describes the setup of an OpenVPN client, but it is limited to users with a static HAMNET IP address. - Original article found on HAMNET - + - Also available on normal internet - + diff --git a/content/posts/2022/30-winlink-on-linux-fix-invalid-handle-on-logfiles/index.md b/content/posts/2022/30-winlink-on-linux-fix-invalid-handle-on-logfiles/index.md index c72f634..b93628b 100644 --- a/content/posts/2022/30-winlink-on-linux-fix-invalid-handle-on-logfiles/index.md +++ b/content/posts/2022/30-winlink-on-linux-fix-invalid-handle-on-logfiles/index.md @@ -46,19 +46,19 @@ As second solution, we create a new entry for `.log` files and declare them as Create a textfile with the ending `.reg` like `openlogs.reg`. -~~~reg +```reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.log] @="txtfile" "Content Type"="text/plain" -~~~ +``` After saving the file, import it into the windows registry like this: -~~~console +```console $ wine regedit openlogs.reg -~~~ +``` This should work instantly. @@ -68,7 +68,7 @@ This should work instantly. Also create a textfile with the ending `.reg`, but fill it with these contents: -~~~reg +```reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.log] @@ -84,13 +84,13 @@ Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\logfile\shell\open\command] @="\"winebrowser\" \"%1\"" -~~~ +``` Load this into the registry: -~~~console +```console $ wine regedit openlogs_native.reg -~~~ +``` Also this should work instantly. Opening the logs should open your application on your linux computer that usually opens `.log` files. That is diff --git a/content/posts/2022/31-hamnet-on-the-pfsense/index.md b/content/posts/2022/31-hamnet-on-the-pfsense/index.md index e09ffe8..1ab1e6c 100644 --- a/content/posts/2022/31-hamnet-on-the-pfsense/index.md +++ b/content/posts/2022/31-hamnet-on-the-pfsense/index.md @@ -36,14 +36,14 @@ Select InterfacesAssignmentsPPPs Click on the green + Add button on the bottom right and create the new PPP interface with the following specs: -| Settings name | value | -| :--- | :--- | -| Link Type | **L2TP** | -| Link interface(s) | **WAN** | -| Username | **N0CALL** (your callsign usually) | -| Password | (your password) | -| Local IP | (leave empty) | -| Gateway IP or hostname | **vpn.afu.rwth-aachen.de** | +| Settings name | value | +| :--------------------- | :--------------------------------- | +| Link Type | **L2TP** | +| Link interface(s) | **WAN** | +| Username | **N0CALL** (your callsign usually) | +| Password | (your password) | +| Local IP | (leave empty) | +| Gateway IP or hostname | **vpn.afu.rwth-aachen.de** |