Goodbye Mr. Chip…

“Zilog has called time on the Z80 CPU.” (https://www.theregister.com/2024/04/29/opinion_z80/) Wow. Actually I had no idea (through never having checked) that it was still being produced.

And a fine chip it was too. I never built a system from wires up using the Z80 though. My first system, designed, built from chips and wire-wrap was an 8080 system, hand programmed to control al x-ray diffractometer. This was decades ago now but I still remember it, although I have no photos unfortunately. The system had a timer chip for a 1-second count and was interface to a Nuclear Engineering (I think it was!) counter that used nixies.

But I did at least use Z80s, just they came as boards. The first was a Transom Triton computer and by then I was programming in Turbo pascal – back then this was really neat as one could have procedures full of assembler code which made interfacing easy. Later I used Gemini boards and that also gave the ability to have a graphics card. By then my interfacing to the diffractometer included a stepper motor and shaft encoder to control the arc motor.

In the end there were two sets of Gemini Z80 boards, one for the x-ray diffractometer and one for an optical microdensitometer. Both gathered data and were interfaced to a mainframe computer for the processing using a suite of Algol 60 programs. Good old days…

Personally my first system was a 6502 Newbear single board, followed by the ubiquitous Nascom 1 which was, of course, Z80 based.

Farewell, Z80…

Screen moves

I now have a Raspberry Pi set up on one of the four monitors in the shack. The original layout was two screens at the top on Linux, then bottom left on Windows and bottom right – central to where I sit on the Mac as the main screen. But that layout had two major issues…

I use a program called Barrier to basically act as a KVM switch for the three systems with the Mac as server. That way the Mac mouse and keyboard controls any of the systems, although it can be awkward sometimes where Windows expects keys which Apple doesn’t have. But Barrier does not understand dual monitors and so moving the mouse up from the Mac got to the Linux box fine, but moving it down from the left hand screen would not get to Windows as the program does not see it being physically there. I could live with that, except for issue two…

The main issue was with the Linux screens being at the top and thus making me sit back or crank my neck upwards, not a good position.

So…

I got to realising that although I use both screens on the Linux box for radio stuff this tends to be with wsjt-x on the right screen and pskreporter on the left.

The solution, which somehow never occurred to me, was simple. Move all the wiring about so that the Mac is right and central, Linux is to the left at eye level so no neck ache, Windows is top right because I rarely use it anyway, and that left a dead screen top left. Enter a Pi 4B. So now I can arrange the four screens with pskreporter top right, Hamclock top left, wsjt-x bottom left and logging bottom right. QED.

QSO logging

Some time ago I wanted a logging program that would do things my way. Although there is absolutely nothing wrong with any of the various offerings they generally try to be everything for everyone and none of them really sat well with me. So I wrote my own in PHP (learning Python is high on my list of things to do, along with Mandarin, Morse, cooking…) which uses the QRZ.com logbook as the backend. Ok then, really I wrote a series of various scripts in PHP that make it all work. The advantage is it does just what I need and nothing more and can easily be modified to add functionality. The downside is I never was a coder (well, ok, I have a certification in COBOL from the 1970’s!) and it is not going anywhere other than my own server. So you can’t have it…

The way I tend to log stuff is via wsjt-x or other software that logs to a local file. I then have a script that takes the ADIF data and populates QRZ.com on a QSO-by-QSO basis. Somehow having to actually do something after each QSO feels like I am actually engaging in the process. But I am not a contester… it would simply not work for any stress situations (but then I could easily make it work if I so desired…)

With QRZ.com being the master a script then populates a local database which does all manner of stuff that I personally need. For example, it holds records of eQSL sent/received, real QSL sent/received, and various tabular data for Worked All Britain (WAB).

Scripts also modify the wsjt-x log file on all my systems such that each has a record of all QSOs. As QRZ.com is globally accessible (not tried from China mind… not that I plan to take any radio gear there anyway) and my main database is on a VPS so is also globally accessible the various scripts work from anywhere.

I do plan to move the database from the VPS to a system at home once we get FTTP broadband and use the VPS as a backup, synchronising between the two. But that will wait.

One plan which is more immediate is LoTW integration because as yet my LoTW logging is via QRZ.com which means an extra step. No biggie, I mean it’s its a few clicks and a password… but it would be nice to integrate it. The same goes for eQSL sends, but as yet I only send on receipt and I have scripts to deal with that anyway.

Pi reduction

I’ve been rationalising hardware, in particular as the PoE HAT on the Pi running the GB7RVB packet mailbox was noticeably noisy and needs replacing. I had originally moved the packet mailbox off of my AMPRnet router Pi as I needed to install a VPN and the networking was becoming a bit too complex for my liking. In the end I had no use for the VPN, so GB7RVB has gone back, removing one Pi.

Linbpq went across just fine – there is an apt for it (https://wiki.oarc.uk/packet:linbpq-apt-installation) so installation is easy. Just install and copy the config across and the files under /opt/oarc/bpq (there are neater ways but this sledgehammer method works). With the node running I could access via the web interface as expected, but then the axudp route disappeared.

Then I realised that our broadband router had a NAT rule for the UDP port needed for axudp and that was still pushing it to the now switched off Pi. And I’m sure I’ve forgotten this same thing before! So now I have a note as a reminder, assuming I bother to check the note…

Now having removed one Pi with a noisy fan the NTP server Pi is also whining. Grumble.

Remembering the old school dial-up BBS

All this packet radio progressing around the place reminds me of a time long ago, pre-Internet where dial-up BBSs became the new thing in town. Back then I had a BBC Micro and a modem that ran at two speeds – I forget which now (will edit later!) and I persuaded my mum to get BT in to fit a socket rather than the hard-wired phone we had then. This let me plug the modem in. I used to use a BBS called ‘More Summer Wine’ plus one other but I forgot the name. Much of the activity back then is lost in the mist of time (or rather I just can’t remember) but sending and receiving mail was fun. BBS systems were all a part of the wider FidoNet. Mail would be routed between the various BBS systems, many of which only had the one telephone line and so would be inaccessible while that was happening. Indeed, they were mostly single user anyway, although if the sysop was there you could message them via the console of the BBS which was probably sitting in someone’s bedroom. I am reminded of the many times I would set the BBC and modem up on the hall floor because we only had the one telephone socket. In fact, it would be quite some time between then and when we finally got broadband Internet which for us was not until the later 1990s in our new home.

During that time and working in academia I had routine access to networks and mail and so interest in the BBS systems dwindled. There was a time before the winder Internet became available where we could gain network access to remote systems, all typically mini- or mainframe computers. One such system ran a MUD – Multi-user Dungeons and Dragons – another angle to remote access but this time for gaming rather than BBS. That provided an introduction to online chatrooms because the MUD we used to play on had that feature. One could not only progress through the game but also exchange messages online, the latter becoming the wanted feature vice the game itself.

And here we are. I was never involved in packet radio when it first came to be, but now it has reminded me a lot of those old days of the dial-up BBS.

And FidoNet? It is still there https://www.fidonet.org/

See: https://spectrum.ieee.org/social-medias-dialup-ancestor-the-bulletin-board-system

Cariboulite success

Well. Further to my previous post where all hope seemed to have gone out of the window I finally made progress today, but not the way I set out to.

First off, I pulled a Raspberry Pi 4 from another project and sat the CaribouLite HAT on it.

Next was a fresh installation of DragonOS. But this time it did open the ssh port – I’ve no idea why it did not before and note I am being unscientific here as I changed the Pi, but I am not going backwards.

Then, time for install.sh…

All seemed to go well but the software failed to compile completely. Searching on the errors I added #include <memory> to two source files, cariboulite/software/libcariboulite/src/CaribouLiteCpp.cpp and cariboulite/software/libcariboulite/src/CaribouLite.hpp. Stripping out all the ‘apt’s and ‘depmod’ from install.sh and running it again and the software compilation completed! I had already added and commented out the necessary lines in /boot/firmware/config.txt so a reboot was all that was needed to kick it into life. The driver was loaded – lsmod|smi showed this and also /proc/device-tree/hat now exists, both precursors to success according to the notes and YouTube videos.

Running sudo SoapySDRUtils –find showed the card, and, finally (!), running SoapySDRServer –bind and CubicSDR on the Mac mini finds the server on the Pi and I can tune to the local radio station.

Success, but that was a struggle. Mind you, I learned stuff at least!

CaribouLite SDR

I came across this via a post someone made somewhere – actually it might have been an email on a group. Anyway, with a tx/rx range top to 6GHz I thought, why not? It arrived quite quickly from Crowd Supply via Mouser with Crowd Supply charging the VAT but no other taxes on arrival.

I duly mounted it on a spare Raspberry Pi 3B with a fresh Bookworm 64 bit OS and followed the installation instructions at https://github.com/cariboulabs/cariboulite but I always got various errors and never got to a working system. The errors were mainly surrounding the SMI driver and the kernel headers. There seemed no way round this one, and thus no working system.

Following on from another complaint I downloaded and installed DragonOS, a 64 bit variant with lots of SDR utilities built in. Once installed, although the developer stated that ssh is available from first boot and does not need the usual empty ssh file it is not – the system does not open port 22 but does open the vnc port so I then had to find out which of my desktop systems has a vnc viewer as I never use it. When I found one and connected all it gave me was a blank screen. But guess what? Adding an empty ssh file onto the SD card worked, despite the advice!

Following the guidance from one user regarding getting the cariboulite to even install I did a complete upgrade / dist-upgrade cycle and then began the installation process. This time there were no errors about SMI or the kernel headers but there were fatal errors in the general build and no working system at the end.

After countless iterations, reading comments from other users, watching YouTube videos etc. I had to admit defeat and give up.

So there we are. On one hand it serves me right for not finding and reading all the issues before ordering this thing, but on the other given it costs money I rightly expect more, i.e. something that actually works rather than something that will sit in a box until maybe, one day the developer sorts the mess out. As it is I would compare it to the excellent SDRConnect and RSP SDR products which just work – this is the exact opposite!

In a nutshell, don’t bother with this card. But then, you never know, maybe the developer will sort the software and I will re-visit this post in a more positive light.

Update: there is a fork of the software detailed at https://github.com/cariboulabs/cariboulite/discussions/82 but following those instructions in a fresh Bookworm throws up the same kernel header errors and results in no SMI driver. So no go there. I tried the same in a fresh DragonOS – I must have been mistaken about the ned for the ssh file because I added this but DragonOS never opens the ssh port for me. So, no go there either!

All in all this has been a lesson in how to waste many hours for no gain. YMMV. There are a few other web pages with differing views and builds which I may try but as a product this is really, really poorly supported by the developer.

SD card blues

I thought I was going mad today. I wanted to print some rails for the FT817 and I already had the sliced files on the SD card in the 3D printer. I selected the first (there are two, one is a mirror of the other) and told it to print. Nothing. Reset the printer and tried again. Nothing. Opening the SD card on the Mac showed the file to be 0 bytes, which is certainly was not as I had printed it before. Ok, copy it again and try again. Nothing!

Right. Delete all the files on the SD card – I have them all on the Mac anyway. Copy just the files for the rails across and try again.

Nothing!

Looking at the SD card via a terminal window – I must admit to be my favourite UI – it was full of all sorts of junk. Going duff perhaps? Ok, use a recycled 8Gb micro-SD in a holder, delete all the files currently on it, copy the rails across and try that. Ah, the files did not delete so it’s full of old junk and I can’t spot the files to print. Back to the Mac. Tried 3 times with different holders to delete all the files on this micro-SD and each time unmounting and re-mounting it showed they were all still there. That micro-SD is in the bin now.

Right! Use another micro-SD, delete all the old files, copy just the two gcode files across and …. it’s printing!

Wow.

Packet progress…

I actually achieved something. Makes a change!

At this stage I must state that I overlooked the fact I have an FTM100 and it has a suitable interface! Ok, no way I am going to fiddle soldering a 10-pin mini-DIN plug even if I had one, so I ordered a CT167 cable from www.JGTech.com  which arrived within two days. I already had a stock of D9 plugs. With the NinoTNC connected to the Windows PC the APRSIS32 software could send and receive APRS to/from my FT2D (no APRS activity round here other than a receive-only igate).

But packet was a tad more problematic. I wanted to use the Windows PC + Signalink + FT817 setup which means using QtSoundModem on the PC, but I also needed a program to talk to the TNC. QtTermTCP will via KISS but neither the Mac or Linux version had KISS anywhere to be seen, only AGW. And any mix of QtSoundModem and QtTermTCP on the Windows PC generally resulted in nothing talking to anything, which is probably my fault but it definitely got in the way.

So… I set up an old Pi 3B with the LinBPQ software, connected the NinoTNC / FMT100 to that and set up a test configuration. I then ran up QtSoundModem on the Windows PC talking to the FT817, and QtTermTCP on the Mac talking to the Windows QtSoundModem via AGW. And… nothing! The node sent broadcasts which were picked up by QtSoundModem etc. but connects to it all failed.

I noticed that if I sent APRS from the FT2D the OK LED on the TNC would light, but if I sent anything via QtSoundModem only the DCD flashed, no OK. Data issues then. It was then that I realised that in my earlier fiddling about with QtSoundModem I had all the various options in weird modes. Turning off FX25 and IL2P in the modem setting cured it (and no, I have no idea why I had them switched on!), and I could then connect. Success.

So, packet radio across the shack, using two radios, three computers and a NinoTNC.

Next steps… in theory anyway… I have a Tait TM8110 on order via eBay and a cable on order, I already have the programming lead and software. If all goes to plan I may even be able to build a packet node and get a NoV for it. As there is nothing at all round here then this may be a start if I can get others interested. I am to far away from other nodes in the progressive national packet network, but, early days…

Categories

Tags

Recent Posts

Archives

Links