IC-705 remote Digital Modes with WFView on MacOS

ICOM doesn’t ship RS-BA1 for MacOS and I wanted to go wireless for digital modes using WSJT-X on my M1 Air. After a bit of digging I found WFView (https://wfview.org/) and got to work. Thankfully the MacOS virtual serial port world is a whole lot more straight forward than in Windows and the venerable BlackHole virtual audio application works wonderfully for pushing audio around.

Get the Software Installed:

For my setup, I used a couple of pieces of software that are all thankfully free!

BlackHole

Head over to https://existential.audio/blackhole/ and register to grab a free download of BlackHole. The two-channel version works just fine for getting your audio routed around between WFView and WSJT-X but if you already have it, or might be thinking about using it for other things the 16-channel version should work all the same.

WFView

I’m currently using the v1.1 release you can grab from https://wfview.org/download/ but I suspect the 1.2 betas are good to go as well if you’re feeling adventurous. WFView acts as the remote rig control supporting remote control over the network for the IC-705. Installing is pretty straightforward, as with most applications you’ll need to head over to Settings->Security and Privacy->unlock and allow the app to run after it complains the first time you try to launch it.

WSJT-X

You can grab WSJT-X from https://physics.princeton.edu/pulsar/k1jt/wsjtx.html. There’s a little RTFM gotcha in the software ReadMe/User Guide. You’ll need to run an included script to get some memory management settings ironed out for the application to run successfully.

And that’s it… you’ve got all the software you need to get going.

Setup your IC-705 for Remote Access

I highly recommend watching the HamRadio Crash Course videos on Setting up networking on the IC-705 https://www.youtube.com/watch?v=Yrn8HB7qLfA&t=835s but I’ll do a quick summary here if you’re more of a reader type.

There are two ways to use WiFi on the IC-705. You can have the device connect to your existing WiFi network as a Station or have it establish its own AP that your devices can connect to. For SOTA and portable operation I’m going the AP route and that’s what I’ll cover here. Setting it up in station mode is pretty much the same outside the Connection Type and Connection Settings.

Head to Menu->Set->WLAN Set->Connection Type and select Access Point. If you previously had WiFi enabled at this point you’ll probably get a message notifying you it’s been disabled while we finish setting up the AP.

Next, you'll head to Menu->Set->WLAN Set->Connection Settings and define your SSID (the network name your IC-705 Will be broadcasting as its Access Point), Password (the password you’ll use to join the network), an Inactivity Timer (automatically disables WiFi after a period of time to save battery when you’re not using the functionality) and the base IP Address the radio will have. The IP Address can probably be left alone but you’ll need to note it for getting connected later. If you do wish to change the IP address for some reason, I haven’t experimented outside the 192.168.x.x range. Going to 10.x.x.x or something may cause issues.

Next, you’ll need to set up some remote access settings. These are found under Menu->Set->WLAN Set->Remote Settings

First, you’ll want to Enable Network Control (this requires a restart to take effect but you can do that after everything else is set up). I’d recommend leaving the ports alone unless you have to change them.
Next, you’ll need to configure at least one of the Network Users by defining an Id and Password. You’ll use these settings in WfView later to connect to the unit, so keep them handy.

At this point, you can enable WiFi by heading to Menu->Set->WLAN Set->WLAN and turn it on.

The last setting you’ll need for using WSJT-X is to enable MOD over WiFi. You can enable that by
Menu->Set->Connectors-Mod Input->Data Mod and selecting WLAN. If you intend to wire up in the future with USB or some other data modulation scheme, you’ll need to come back here and switch this setting up.

To make sure you’re all good to go, it’s worth powering down the radio at this point and then turning it back on.

Getting Connected

Go ahead and connect you Mac to your new IC-705 served wireless network using the SSID and password you defined in getting the system set up. Once you’re connected, open up wfview and head over to the settings tab. I had some issues when “show full screen” was enabled so I’ve been keeping that disabled.

Then head down and select “Connect over LAN”. You can select any of your available Virtual Serial Ports, the application handles this for you more or less on MacOS using the built-in Psuedoterminal functionality. You’ll need to copy out whatever you select here later to connect to in WSJT-X. Down from there configure your Radio IP Address, Radio Control Port, Username and Password as you had set things up on the IC-705. Next up are your Audio Output and Input. This is where you put your newly installed Blackhole Audio device. If you installed the 2ch version, just select them here and save your settings with “Save Settings”. I’ve found it worth using “Exit Program” and relaunching at this point just to make sure the settings are saved, and the configuration is correct. Once your back, you should be able to click “Connect” next to Connect over Lan and pop over to the “View” tab to see your waterfall. All the rig control options present here should also be reflected on your IC-705. You can roll the VFO knob to verify.

My WFView configuration

My WFView configuration

At this point, it’s worth making sure your system isn’t tied up to your blackhole audio at all. Just check your audio input/output settings in the MacOS System Preferences->Sound haven’t jumped to that shiny new audio device or you’ll wind up wondering what’s going on in WJST-X.

On to WSJT-X! Go ahead and launch WSJT-X. If you get a memory error, you probably want to go back and read the readme that’s in the .dmg, and run the script as described. I typically start in the system bar->Configurations, and clone the default configuration (or another configuration like if you’ve already set one up for cabled use) and name it something useful like… IC-705-Network.

WSJT-X config.png

To get WSJT-X talking to our radio, you need to go to WSJT-X->Preferences in the system bar. If you haven’t already, go ahead and drop your settings into Station Details. Again for more configuration/usage details, go check out Ham Radio Crash Course or some other source for really using WSJT-X. I just want to cover getting your IC-705 connected and for that, you need to go over to the Radio tab up top. For Rig Set yourself up to the Icom IC-705 (now that it’s natively supported you don’t have to change the CIV address as referenced in some earlier videos that are out there for IC-705 remote control). Under CAT Control, you’re going to want to copy and paste over that Virtual Serial Port location from wfview. Note that this won’t be listed in the dropdown, but you can just select the text, delete it and paste in the string from before. I set up my serial port for the standard 9600 8n1 settings and that’s working for me. Under PTT set the PTT Method to CAT, mode to Data/Pkt, and Split Operation to None although Rig would probaby work as well.

At this point, if WFView is connected to your radio, you should be able to press “Test CAT” and get an error free connection!

WJST-X preferences.png

Once CAT is successful the last step is to move to the Audio tab and get it configured. Again, you’re just using the BlackHole 2ch devices for both Input and Output. Press OK and WSJT-X should be receiving. Select your mode and frequency and you’re on the air!

I hope this helps.

Matthias - KC3SSO

Universal Radio Hacker (URH) and Ubuntu 18.04 with a pybombs GNURadio backend.

While attending Defcon 27 and hanging around the wireless village, I caught Dale Wooden giving an interesting talk on his exploits around playing with Fords key fobs. A lot of his initial research was performing leveraging Universal Radio Hacker. URH looked pretty slick and as with most tools the wireless village folks show off, their default response is “Use Pentoo” if you want to use tool. My conference device is a fairly vanilla Ubuntu 18.04 box at the moment and getting things up at running was a bit challenging so I figured I’d document my steps and hopefully help someone out along the way.

Last Defcon I happened to be in the market for an SDR folks and the BladeRF folks happened to drop their new 2.0 version while I was there so that’s been my primary SDR for the past year. It’s small enough and packs a big enough FPGA to be fun. The team behind it has been pretty responsive in launching new libbladerfs as they’re developing new features and bug fixes so I’ve tended to rely on pybombs for building my gnuradio environment. If you haven’t built with pybombs before it’s generally a breeze and tends to stay decently ahead of PPA in my experience. Check here for details generally or more specifically for the bladerf.

Because I like to “live on the bleeding edge” I opted to run URH from source. Most of the process goes exactly as expected but after installing my gnuradio via pybombs into the prefix directory ~/gnuradio/default (yours may be different depending on your selected prefix location) it took me a minute to track down where exactly the gnuradio back end was sourcing python. Since we’re looking for what our python path is when we’re executing gnuradio, lets go ahead and activate our typical gnuradio python environment. In my case that’s:

cd ~/gnuradio/default
source setup_env.sh

Now to double check where this python environment is sourcing from:

which python

which for me yields:

/usr/bin/python

With all that setup, lets launch urh. If you followed the steps to install/run from source above, this should just be executing from your current directory:

urh

Once URH is up and running navigate to Edit->Options and verify that under Gnuradio options the “Python 2 interpreter” path is set to what you found above. If you ran URH from your “activated” pybombs environment at this point you should see a list of radios that match your GNURadio environment. If not give the rebuild button a try or leave a comment below (with console output if you can).

Screenshot from 2019-08-27 21-40-40.png

Using Hyper-V to Emulate EFI

QEMU and OFMV are nice on linux but how about using Hyper-V to test EFI development in windows? While developing some EFI modules in Rust I wanted to test them on my primary windows enviornment without a lot of jumping through hoops. I have a hyper-v vm with windows 10 installed my EFI application will end up being a bootloader for so why not use that VM as my development platform? After installing windows on a Gen2 Hyper-V VM if you look at settings->firmware you’ll notice that the first boot item is specifically targeting a Microsoft provided boot manager. I my case I’d rather boot a shell and go from there.


Boot up Windows in your hyper-v vm (efi-dev), open admin powershell, and mount the system partiton:

mountvol s: /s
cd S:\EFI\

Now lets copy in some efi files to run. I had copied my built files over to the VM in the C:\dev\efi-shell\ folder. To copy them to the system partition:

mkdir test

cd .\test

copy C:\dev\efi-shell\shell.efi .\

bcdedit /set "{bootmgr}" path "\EFI\test\shell.efi"
bcdedit /set "{bootmgr}" description "shell"

You should now be able to reboot the system in the efi shell! You can verify in the host Hyper-V manager by looking at the Firmware-> Boot Order. You should see shell.efi as the value for the file boot entry and if it’s not for some reason move it to the top of the boot order.

To get back to windows from the shell:

blk1:

/EFI/Microsoft/Boot/bootmgfw.efi

Enjoy!

Climbing Monserrate

Monserrate is one of the staples of a trip to Bogota.  It's a church resting another 2000 feet above Bogota around 10,341 ft and offers the best view of the city sprawl.  There are three ways you can take to the top of Monserrate, a funicular, a cable car or hike it.  The trail is more a conatntly ascending flight of stairs that wraps around the mountain in 2.5km.  It is renowned as a difficult march, especially for those not acclimated to the altitude.  After reading stories of footballers running up the mountain in 20 minutes and the Easter Sunday pilgrimage made by many on their knees we decided we were up to the challenge.

To get us to the entrance, the hostel booked us some transportation which arrived in the form something like a moped with a cart attached to the tail end of it.  Winding up the short climb to the mountain, much to the disdain of the taxis trying to make their fares, the struggled and slowed to the pace of a brisk run.  The driver asked us along the way if we were taking the cable car or the funicular and gave us advice to take either when we responded "camminar."

It wasn't long into the ascent when the frequent breaks started becoming a necessity.  Our breath seemed to return as quickly as it was dispersing but I guess that's the effect of altitude.  About halt way up the mountain you run into an interesting little string of shops and huts.  They appear to be mostly lived in, and sell a variety of drinks and snacks for that extra boost to get you top of the mountain.  We passed on our ascent, but the ripe red watermelon caught Kims eye.  In the village there was a lone donkey I would have to guess plays a large roll in keeping the little village stocked.  From the huts on the trail kicks the ascent into high gear and we were making progress in what seemed like 100ft chunks... on path that resembled a beautiful stone walk way leading to a house.  It was a little embarrassing, but at least you could play off most of the pauses as opportunities to gaze out at the ever expanding view of Bogota that was unfolding as you climbed.

The trail carries a bit of a past history of violence and muggings.  Most travel guides recommend a Sunday ascent as it's likely to be more busy and should carry an increased police presence.  I think that there must've been huge efforts to clean this up in recent years.  Even on a Monday we were regularly passed by armed police patrolling and a fair number of locals out making the hike as well.  There seems to be a common thread of warnings of security and muggings online up until around 2011 and has mostly died out since then.  I won't say I was always totally at ease around some of the metro's in Bogota, but short of one incident with a beggar being a bit too persistent I never felt threatened in anyway.

Once we had finally ascended the the last step of the mountain you are greeted by a white stone church in front of you and the city expanse to your back.  It was a common scene of groups exchanging the usual courtesies of taking photos for each other with the view behind.  After snapping a couple ourselves we hunted around for food a bit amongst the gift-shop like set of stalls found behind the church and settled once again on a couple of empenanadas and a pastry.  I'm definitely going to miss the readily available hot and delicious empendadas you seem to be able to get just about anywhere in Colombia.

We hoped to catch the cable car down the mountain but the ticket shop was closed... If you had purchased your ticket at the bottom you were fine, but we were stuck with the hike down. 

A little recovery at the hostel and we decided to take it easy and check out a bit of art at a local  museum, the Musesem De Bortero.  Botero stands as probably the most recognized artist from Colombia and has a history of being extremely generous to museums in the country.  His art is most easily recognized for it's "volume."  Once again google was about 4 blocks off on the location of the museum but a couple of questions and got us there in plenty of time for a leisurely stroll through the collection.

Full up on art for the time being and lacking in the food department we walked around the city a bit stumbling past some kind of police/military demonstration taking place at the capital. After strolling through the town for a while we stumbled back by the hostel and caught a recommendation for some pizza near the intersection of calle 14 and carerra 2.  I'm sure sure if was the miles that day, but the pizza was incredible.  Enjoyed on the street in front of the shop, it was just the right thing.

Bogota, from La Candelaria to Usaquen

Trying to further immerse ourselves in Bogota culture we set out to find the Usaquen Flea Market.  It's a local event, and supposedly a great place for street food and handmade gifts to stock up on.  Mildly fretful of the random taxi experience and wanting to be as authentic as possible, we decided to take the Bogota TransMileneo bus system.  A little googling showed we'd be doing some walking between our end points and the metro stations but nothing looked too terribly far.  After spending a while investigating the TransMileneo website, we thought we had a grip on the main routes and how they worked.... until we made it to the actual station.  Awash in letters, numbers and Spanish we struggled to grasp, we eventually put the pieces of the map together and headed north carefully watching for our stop.  Colombians certainly have no qualms about packing out public transit and between several of the stops there was barely room to move.  In the state, the stops would entail a crushing coming and going of the tide of passengers trying to enter and exit all at the same time.

When we finally arrived at our destination, we hopped across a pedestrian bridge.  As we started counting down street numbers we realized we had signed on for quite a hike and in sun we weren't expecting. Weather Underground consistently called for rain, and I faithfully hauled my jacket and Kims Umbrella everywhere we went, but really, I should have been focusing more on the sunscreen.  As the hike continued and the sun beat down, we started getting nearer our google guided target but, nothing seemed to really be fitting the description of excellent cafes and restaurants, a beautiful park, and a flea market.  We rounded the last corner and knew immediately we weren't where we wanted to be.  It Kim's linguistic skills to the rescue with a local pair returning from the grocery store who pointed us the right direction but warned that we were visiting on election day, and there likely wouldn't be the usual festivities.  Miles from the metro and hungry we decided to try out luck and see what the park had to offer. 

As we neared the election became evident.  There were lots of military police and police patrolling and queues of people lining up to place their vote.  A strong military presence is always a little jarring when your away from home, but I think more than anything it's all about showing presence and maintaining order. I have yet to see even the hint of the police being more engaged in anyway that presence.

Sure enough when we reached the square it was void of the usual flea market but there was still a feeling of a Sunday communal gathering.  A street performers showing off his perfectly trained dogs and restaurants lining the square occupied the attention of those gathered.  We ducked into "Tienda La Cafe" at the recollection of some decent trip advisor reviews.  Before I had even a chance to digest the menu, Kim ordered a Colombian classic "Ajicoa" a traditional soup of chicken and potatoes in a cream broth with a side of avocado, rice and capers to be added at will, with a coconut topped lemonade to drink. I was forced into a snap decision that started on the wrong foot; no Cube Libre. As a matter of fact, no alcohol, it's election day...  Totally thrown off at that point, my Spanish speaking abilities don't expand anywhere past the conversation going exactly as planned, I can't recall what the name of the plate I ordered was but it came out as a heart attach in cast iron.  Flank steak, chicken, chorizo, fried baby potatoes, a massive french fry and two corn tortillas smothered in a bath of cheeses came out sizzling and ready for it's assault on my arteries.

Stuffed to the max, we started the long trek back to the TransMilenio.  About half way there was a mall we decided would be a reasonable stopping point.  Kim looked around for some clothes and expertly navigated talking to the extremely tolerant attendant at the MoviStar booth netting us a sim card that at least allows for calls locally (hostel, taxi's etc.) and occasionally allows for data.

An uneventful walk back and a successful metro ride back to La Candelaria we turned into the hostel.  Maybe I'll elaborate more on dinner at El Gato Gris later.. but for the most part, it was an uneventful and mildly disappointing salad in a romantic little nook with some decent live music in the background.

 

 

 

 

Traveling to Colombia, Starting in Bogota

It's always appreciated when the travel gods grant a smooth flight, and ours down to Bogota was about as smooth as it gets.  At a fault of our own we about missed the flight out of Miami by not watching my watch close enough but a call from American got us moving in short order.  The scene as you fly into the Andes surrounded Bogota is an impressive one.  Bogota sits in a plateau bowl at little more than 8600ft high and with peaks reaching up another 3000 around it.  The city of 6.6 million sprawls out before you as you come in, colliding urban sprawl with the lush vegetation of the steep sides of the surrounding mountains.  Typically large cities, at least in the states seem to sprawl forever tapering into suburbia before making it to the country or waters edge or desert.  The contrast of void, lush green surroundings to urban mecca is a unique one. 

We touched down around noon and caught a cab across the city.  In San Jose, Costa Rica we were greeted by an anything but professional looking secondary taxi market, so I was surprised at the suit and tied cohorts trying to steal us away from the ready and waiting queue of official cabs.  Despite the warnings and online stories the cabby was as honest as they come.  The meter was on the second we got in the car and despite some election weekend road closures we were at the hostel within a few quarters of the hostels estimate. 

Once we were parked and unpacked we headed out to see what the surroundings were like.  Being the person I am the first thing I asked for was the nearest place to buy a SIM card.  We set off down toward Carerra 7 and discovered a street alive with street performers, street food and vendors for every knick-knack you would ever desire.  The street performers ranged from painted up clowns telling soap opera like stories using the crowd to a Michael Jackson impersonation in white face, a black hat, and a slick moonwalk. Sadly, as quickly became a reoccurring theme,  our directions led us about a block off to the west and north of the Claro store and we gave up.

While on my search for connectivity we stumbled by the bus station for the Museum Del Oro and decided to get out of the sun for a few and see what the Museum had to offer.  Stuffed with relics of the days past and an bit of context for where they came from and why, it was well worth the 6.000 pesos (3 dollars) and hour of our time.

With breakfast  hours behind us and miles on our legs we made a pit stop on our way back to the hostile for the most notable of Colombian street foods, some empanadas. There seems to be a stall for these stuffed and fried pastries about every hundred feet and I have yet to stumble across any that were anything but delicious.

After a little down time on satiated stomachs and an early start to the day we headed out to find some dinner.  After wandering around the still raging street extravaganza on Carerra 7 we broke off into some unexplored and all but vacant streets not to far from the hostile and settled on a small restaurant called Restaurante Civitas with a quaint feel. Our waitress was smiling ear to ear the whole time and  was incredibly accommodating of or utter lack of Spanish.  After street food for lunch a meal that would have been at home in the streets of Asheville was a welcome way to close out the day.