The woes of Gotek Jumpers for IBM-PC

The Gotek USB floppy emulator, especially with the open firmware Flashfloppy has become a staple for many retro enthusiasts for upgrading old computer systems with a “modern” solution for loading software on the old systems. I am also one of these enthusiasts. As a retro system builder especially of the IBM-PC compatible kind, I am used to configuring these systems using jumpers. No “plug and play” feature here. The Gotek has also some jumpers you must set for using it on an IBM-PC. IBM-PCs make use of a cable that you can connect to two disk drives to one controller.

The selection of which drive is drive A: or drive B: is determined by the distinctive twist in the cable between the connector in the middle and the connector on one of the ends. If the drives you want to connect have jumper for setting the drive ID then both drives need to be set drive ID 0. This is especially the case for most 5 1/4 inch floppy drives, the later 3.5 inch disk drives often do not have drive ID jumpers and are set to ID0 by default.

The Gotek floppy emulator has also such a jumper S0 en S1 and this needs to be set to S0. However, there is another jumper JC on the Gotek, which in conjunction with the setting in the FF.cfg file (see highlighted code below the image) for flash-floppy to determine that the drive is in IBM-PC compatibility mode. I configured several Goteks in this way on my retro IBM-PC systems.

The default Gotek jumper setting for IBM-PC, bridging S0 and JC
# Floppy-drive interface mode
# shugart: P2=DSKCHG, P34=RDY
# ibmpc: P2=unused, P34=DSKCHG
# ibmpc-hdout: P2=HD_OUT, P34=DSKCHG (not generally needed: prefer 'ibmpc')
# akai-s950: P2=HD_OUT, P34=RDY (Akai S950)
# amiga: P2=DSKCHG, P34=DRIVE_ID (not generally needed: prefer 'shugart')
# jc: JC closed: ibmpc, JC open: shugart
interface = jc

So having this presumed knowledge I got a new Gotek drive in and set the S0 en JC jumper and connected. But to my surprise, the drive did not work. Troubleshooting went from, checking the FF.cfg on the USB drive used, trying different locations on the cable, using a known working cable, checking with a known working Gotek and floppy drives, also in combination with the new Gotek at different positions on the cable, even reflashing the firmware and checking the disk controller. All to no avail. I even started thinking I was duped out of my money by a fake unit. So I started examining the board of the Gotek. I knew there were different incarnations of the thing, some versions best to be avoided. Then I noticed that the New Gotek was different from the previous working one.

Two different version of the Gotek, left my older SFRC9220 and to the right my newer SFRKC30.AT2 version. Note that label JC is missing from the third jumper from the right.

Gotek SFRKC30.AT2 has no JC jumper!!

The older Gotek I had laying around had as board number SFRC9220, the newer Gotek was labelled “GOTEKsystem” with board number SFRKC30.AT2. I was already reading through the Flashfloppy wiki to see what could cause the problem and was now looking for information on this particular iteration of the Gotek. In the Gotek compatibility section, some are listed and there I noticed this side note: “SFRKC30.AT2 (QFN32): Missing the original rotary-encoder header, but features the new KC30 rotary header. Also missing JC jumper location.”. A bit confused I looked back at the board and now noticed the JC label was missing from one of the 7 jumpers, but there was a jumper header. This jumper header is not functional, so even when bridged a Gotek SFRKC30.AT2 with USB stick having the interface=jc setting activated in the FF.cfg file, will think the drive is in shurgart mode not ibmpc mode. And voila, changing this setting in the FF.cfg file from settings=jc to settings=ibmpc made my new Gotek work flawlessly on my 286 build.

So to summarize, when using a Gotek with board SFRKC30.AT2 in an IBM PC compatible, you only have to set jumper S0 and make sure that the flashfloppy FF.cfg file has the interface parameter set to ibmpc and not jc.

Volumio and Spotify Connect, Max2play bites the dust?

In previous posts I already talked about all these different headless audioplayer operating systems there are for small single board computers such as the Raspberry Pies (eg. Volumio and Max2Play). I also discussed that I am a Spotify user and love the Spotify Connect feature and the multiroom speaker possibility it brings. But the two audioplayer OSes that I am current testing did not support Spotify Connect so far, so I am currently resorting to a multiroom setup using Max2Play, Logitech Media Server (LMS) and the “triode” Spotify plugin to control several devices (RPis with Squeezeplayer software/Squeezebox duet receiver) for audio playback. It works, but the look and feel of LMS is very dated, so I am still on the lookout for improvement and I am not alone. The requested features section of the user forums of both Volumio and Max2Play show major interest in Spotify Connect. However the developer(s) of Max2Play does not seem to warm-up to this feature, while it trumps to be the multiroom audio centered OS. A missed chance in my view. In the meanwhile, Volumio has beaten Max2Play to the punch via support of third party plugins and the coding work available at Github of user “Balbuze” which seem to be based on previous work of “Fornoth” and “Plietar”. I am planning to test Balbuze’s Spotify Connect plugin “Volspotconnect” in Volumio shortly on my Pi Zero that currently runs Max2play. The plugin is specific for ARM6 and ARM7  chip based computers such the Rasberry Pi’s, so if you are running Volumio on a Intel machine, bad luck for now. It is a basic plugin that just makes your Volumio device show up as a Spotify Connect device. It has no connection with the Volumio interface yet, so no control via this interface or cover-art. This is no problem as you would rather use the Spotify software or app to control playback. It is clearly a work in progress. I also thought that you also needed a Spotify app developers key, which your can request here. However commenter Wim, indicated that this key is already present in the zip file provided by Balubuze. That makes it even simpler,  I hope to have time soon to get this up and running. This also seems a good topic for a Youtube tutorial so stay tuned!

Balbuze’s avatar on Github

 

 

Yeah, it works! See the tutorial here:

 

 

 

 

Streaming audio to your Hifi? Just use an old laptop.

I’m probably not the only one who has shelves full of CDs, folders with between 10 and 100 GB of MP3s and is now consuming his music mostly via streaming services like Spotify. The latter two clearly aimed to personal use initially, on a MP3 player, iPod or your smartphone and some headphones. So If you want to play music on you Hifi, you perhaps still revert to ordinary FM radio or a CD. In the meanwhile all kinds of solutions for playing MP3 on your HiFi have been developed. Tuners/Amplifiers with USB or network input and WiFi connections that support DLNA, so that MP3s in a folder on your computer or network storage can be played.

logitech_duet

Logitech Squeezbox Duet.

I myself purchased the Logitech Squeezebox Duet, for this purpose, back in 2009. This solution consists of two devices. The receiver box to connect to your HiFi set and the controller, a remote with an iPod-like jog button to go through the different menus. The two devices talk to each other using Wifi (or wired network connection in the case of the receiver) and a PC with your MP3 collection, running a special server-software. This set-up was at the start not a very easy configurable and stable solution.

However if you also want to use streaming services on your Hifi, you need to make another step. (In the case of the Squeezebox this was a small one, but I will perhaps cover this in another post.) You can of course connect your smartphone directly to your Hifi, but that is not very practical. You can invest again in new streaming ready devices. There are a lot of wifi and streaming enabled speakers available these days, with SONOS as maybe the best known but certainly not the cheapest example. However a lot of tweakers have come up with cheap and workable DIY alternatives.

raspberry_pi_3

Raspberry Pi revision 3.

Especially the arrival of the Raspberry Pi seems to have been a catalyst for all kinds of solutions to stream your audio in a simple way to your Hifi. For those who do not know: The Raspberry Pi is a relatively inexpensive mini-computer (~ € 35 without a housing) of credit card size. We now arrived at version 3 of this computer, that has a micro-SD card slot for the software and also an HDMI output, audio/video jack, 1 micro usb for power and further a LAN port, 4 full size USB ports, WiFi and Bluetooth. Furthermore, the Raspberry Pi has the so-called “general purpose input / output pins” or simply GPIO pins. These pins can be used to control all kinds of stuff. In the case of Hifi there are beautiful solutions such as high-quality digital to analogue audio converters boards, that give superior sound quality compared to the standard audio chip of the Raspberry. Examples of this are the Hifiberry range and Pomorino’s Phat DAC.

Nice pieces of hardware you might think, but what about the software? The Raspberry Pi has a fantastic community of tweakers who develop both hardware and software, mostly as open source, freeware. When it comes to so-called “standalone” or “headless” audio players, there is choice. There is Max2play, who also offers multi-room speakers support and three other packages, which have a shared history: Moode audio, Rune audio and Volumio. Max2play, Mood and Rune audio are all focused on just the Raspberry Pi and similar minicomputers, Volumio however, has two bonuses: Support for Intel computers, or in other words: Any old PC or Laptop may have lying around, and a Spotify plugin .

eeepc4g

The Asus eeePC 4G.

In my case I still had an early netbook lying around and I was wondering if Volumio would run or not, on such a underwhelming machine. I am talking about an ASUS EeePC 4G, see here for its specification. The existing 500 mb of RAM, I replaced for 1Gb. The internal storage of 4GB is also tiny, but we do not need it, in this case, as we run Volumio from a SD card. It should be possible to install Volumio on the internal storage, but this is (still) a bit cumbersome.

In itself, the installation is fairly straightforward and clearly explained on the Volumio website. I also made a YouTube video where I run through the required steps, which you can watch below.  First of all, you must download an SD disk image, the Intel (x86 / x64) version in this case, from the Volumio website. Then use a software tool like Win32imager or Rufus to write this image on an SD card of at least 4Gb and speed class 6. Generally it is advised to use a class 10 card, but I had only a class 6 SD around and it works well. Now it’s just a matter of booting from the SD card. This requires some modifications to the BIOS settings. After that, it takes some time for Volumio to get ready for its first use. After this lengthy initial start-up, reboots are going much quicker.

Volumio is primarily intended as a “headless” audio player, which means you control it via a web interface on your PC, laptop, tablet or smartphone. You can use this interface by entering the URL: /volumio.local or IP address of your Volumio machine in a webbrowser. The laptop has a screen so you can also control it using this. This is especially useful for the setup of you Wifi connection for the first time. I also noticed that the interface on the laptop itself was a lot slower than the webinterface on another PC or smartphone, which is striking. Via the (Web) interface, you can also configure other things such as the connection to your music folders and of course installing and setting up the Spotify plugin. You’ll need a Spotify Premium account for that. As you will see in the video, Volumio is working properly on this underwhelming mini laptop. So if you’ll be using a newer model,  there is no reason, for it to work as well.

The only minor thing I run into was, that for a true headless audio player, you would like to use it with the lid closed. You can then connect to your hifi and hide it. Unfortunately, many laptops go into a sleep mode if you close the lid and then the music stops. This is not convenient, but for this I have found a “hack” to solve this. Volumio is based on a Linux operating system and you can use the software tool PuTTY (Windows) to create a so-called SSH connection. You can than give commands to the Linux backend. In this way, you can disable all sleep and suspend modes and it will continu to play the music, when you close the lid. This is also shown in my Youtube video below. After logging in via SSH (Putty) using the IP Address of your Volumio machine with user: Volumio and password: Volumio. You should than enter the following command:

systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Followed by pressing <Enter>. This will disable all sleep modes in your settings. In this case it is important to always keep your laptop plugged in, the battery will otherwise run out of juice a can damage your SD card.

Success!