Saturday, November 14, 2020
Raspberry Pi 400 audio issues update
Friday, November 13, 2020
Raspberry Pi 400 audio problems - USB not the solution
Raspberry Pi 400 (audio issues)
- in a terminal type: sudo apt install pulseaudio-bluetooth-module
- add "Volume Control" to the TaskBar, next to "Volume Control (ALSA/BT)"
Wednesday, November 11, 2020
Raspberry Pi 3B+ USB Boot
Earlier, I describe the use of BerryBoot with an external USB HDD with a RPi (1) B+. To be honest, this was a terrible user experience. While everything worked, this setup was tantalisingly slow. I mean really really slow.
My assumption is that the USB2 implementation of the RPi1B+ does not reach USB2 speeds, not even close. Presumably the USB ports a run by the CPU, which in itself is relatively low power already. Consequently, I abandoned the idea of running the RPi1B+ from a USB drive.
As an experiment, I used the exact same external USB-HDD and microSD-card with my RPi3B+. What a difference! This setup really resembles a usable desktop computer.
In my experience, the Raspberry Pi 3 B+ appears to be able to run the USB2 ports at USB2 speeds.
While booting and running of the microSD-card appears to be a little bit more snappy, the combo of BerryBoot and the externally powered 3.5" HDD on USB2 delivers an acceptable user experience.
The obvious advantage of this particular install is the amount of storage available, in my case more than 300GB. The amount is only dependent on the HDD in the enclosure.
Monday, November 9, 2020
Raspberry Pi OS on USB
Lately, for various reasons, I got into using Raspberry Pis, in particular in combination with the GPIO.
What puts me off by a bit is the fact that the regular RPis used (micro) SD cards. While reading from an SD card might not be that bad, but writing to it, over and over again, will destroy over a short period of time. Thereby destroying the data you stored on it.
For my projects, therefore, another solution had to be found.
In this series of posts, I will document my experiences using various methods and devices to avoid the wear and tear of an SD card.
This first episode reflects on using BerryBoot to boot from and load the OS from USB connected devices.
Using and installing BerryBoot is very simple. Download the archive provided in the above mention link. Make sure you picked the file that fits your Raspberry Pi.
During writing this article, it appears that the BerryBoot image now changed to a single archive for all variants of the RPi. I have not tested this, since I just a few hours prior to the writing of this post, downloaded the archive for Pi0 to Pi3+ boards.
Anyway, I stick with what I have and what worked for me earlier.
In my present test, I am using a Raspberry Pi 1 B+ with a 2GB micro-SD card as a boot device and a USB-2 HDD enclosure with a 320GB 3.5" hard-disk. The enclosure came with a 2TB disk, which is used in something else by now.
Further, the enclosure is powered externally by a 12V wall-ward. This, of course, is important, since a Raspberry Pi would never be able to provide the power for any HDD.
Following the procedure as set out on the BerryBoot page, an OS will be written to the USB attached device. I opted for a full install of Raspberry Pi OS, as it is presently called.
After having booted "into" the HDD, the experience is certainly less snappy, compared to running the OS from the SD card. However, the mere difference is storage space should put up some questions: 8GB SD card vs. 320GB HDD.
Initially, no swap space was created. So, I decided for creating a swap-file on the root directory of the hard-drive. That did not work. It appears that under BerryBoot, using a swap file is impossible.
A solution to the missing swap-file is to install zram-tools, which will enable a virtual swap into compressed memory.
In following posts, I will discuss various other options for booting a Raspberry Pi from USB devices.
Wednesday, July 15, 2020
Microsoft Fortran quirks
In a previous post, I covered how to install Watcom F0RTRAN on FreeDOS. Eventually, this might be my compiler of choice anyway.
However, this post is dedicated to Microsoft Fortran and the bad memories about it returning.
Fist of all, there are some abandoned DOS versions of the compiler on the internet. I wont provide any links, since I am not aware of Microsoft officially abandoning this compiler.
I tested the following version on my genuine FreeDOS netbook
MS Fortran 2.0
MS Fortran 3.2
MS Fortran 5.0
First of all, have a look at this F0RTRAN77 code:
I=3
WRITE(6,100) I
100 FORMAT (I3.3)
All compilers had the same fault, which drive me crazy 30 years ago.
If you code:
I=3
WRITE(6,100) I
100 FORMAT (I3.3)
You would expect the compiler to print on the STDOUT an integer of 3 ciphers filled with 0. Something like:
003
Microsoft thinks differently!
MS Fortran 2.0 does not recognize this format at all. While the compiler in passes 1 and 2 wont create any errors, nor will the linker, the executable wont run.
You need to code:
I=3
WRITE(6,100) I
100 FORMAT (1X,I3)
__3
I=3
WRITE(6,100) I
_3
I=3
WRITE(6,100) I
This is what Microsoft thinks the output should look like, when compiling with MS Fortran 5.0:
03
I am not joking. decades ago, it took me days to understand that Microsoft starts counting at 0, while the rest of the F0RTRAN world uses 1 for the first character in a line.
So, contrary to all other F0RTRAN compilers, for MS, one needs to code
I=3
WRITE(6,100) I
100 FORMAT (1X,I3.3)
in order to obtain
003
MS Fortran 2.0 does not accept this type of F0RTRAN77 FORMAT.
MS Fortran 3.2 does accept it... and so does MS Fortran 5.0.
