OBi in Trouble?

OBi, now owned by Polycom, seems to be in the midst of a major technical failure. Users are unable to provision both newly purchased devices as well as re-provision existing devices to correct issues such as the inability to receive Google Voice Calls.

OBi 202 Device

OBi markets devices that provide the capability to have Google Voice ring an actual hardline telephone. In recent weeks, according to posts on their user forums, their provisioning process via the obitalk.com portal has been regularly failing.

Numerous tickets opened by users have not been resolved. If you were thinking of purchasing an OBi device, while I normally recommend them highly, I’d think twice until this is resolved.

In one support thread, SteveInWA — who is a “Hero Member & Beta Tester” states that, “According to Polycom, they are continuing to investigate this problem; it is intermittent, and so meanwhile, their recommendation is to keep trying, and it should eventually work.” This was posted yesterday morning, so there seems to be a distinct lack of progress.

Google’s Fake Weather

Where there is “Fake News”, is “Fake Weather” likely to follow? Google doesn’t seem to know where I am. At least the Google News homepage no longer knows. Allow me to explain.

I use Google News as my web browser homepage. For many years, near the upper right hand side of the page there has been a box that presents my local weather forecast. Some weeks ago, the box started presenting the weather for another part of my state. I provided Google with web feedback and some days later noticed that the caption changed to “Your Local Weather”.

A number of days passed and we were experiencing the umpteenth heatwave of Summer 2018. However, the outside temperature reported by Google appeared to be way too mild for our local reality. I clicked the link below, which took me to weather.com, and learned that Google News thinks I am in Dearing, KS. Interestingly, this is near the geographic center of the continental United States and is often used to represent a geographical location for the USA when no other details are known.

On the other hand, my Google Home devices all seem to know my location and report the correct weather (well, their understanding of the correct weather) for my location. Chromecast, however, is as confused as the Google website.

I’ve reported this issue via the Google web feedback mechanism and hopefully I will again be able to get my real weather instead of Google’s “Fake Weather”.

In the meantime, I am living the dream. Google is doing a bad job of tracking me and I can always claim I was in Dearborn, KS should the need arise!

Scam Call Center @ 1-855-332-0777

I recently posted a message in an online technical forum run by Google about an issue I’m having making outbound voice calls with the “Home” devices. Within an hour, I received several messages from different forum “members”, all saying that I should call technical support at 1-855-332-0777 for further assistance.

I “Googled” the number, and it seems to come up as a technical support contact number for every software and hardware product ever created. Too good to be true? Oh yes, especially this reference in a Microsoft forum.

Naturally, I called to see what kind of scam this is. The background sounded like a typical noisy offshore call center with the agent accent to match (yes — I know I am making a broad assumption here). I started to explain my issue and it was clear that the agent did not know a Google Home device from a Palm Pilot. I gave him a simplistic overview of my problem but terminated the call as soon as he started asking for my name and other identifying information.

So, be aware of any scams that refer to the number in question, or any other suspicious responses that you receive to support queries, even in reputable manufacturer sponsored forums. The responders were reported as spammers and their responses removed.

noaacap with Dire Wolf

I’ve heard from Patrick (N3TSZ) who says that noaacap works well with Dire Wolf as an alternative to aprx. While I have not tested this myself, Patrick writes,

I discovered that noaacap works in Direwolf. Install noaacap as per your instructions. Then add the following line to direwolf.conf:

CBEACON EVERY=2 INFOCMD=”noaacap.py”

The string returned by noaacap is inserted in the information portion of the packet and transmitted. If a string is not returned, “INFOCMD failure” is displayed, and Direwolf continues on

Thanks for this useful feedback!

Look here for more information on noaacap.

Facebook Fails the Third Party Risk Test

Information security professionals often examine “third-party risk”. Simply put, associations with business partners and contractors can present outside risks to the data, financial, and/or physical security of an organization. The risk may be contractors with access to secure areas or sensitive business processes. The risk can be shared data in the temporary custody of a partner. The risk can be virtual access to a network or a facility without adequate audit.

Today I was informed by Facebook that my privacy could have been compromised because “friends” of mine used an application platform profiling app called “This is Your Digital Life”. I wish I could tell you more or show you the notification, but in typical arrogant Facebook fashion, the notification was a fly-by. It was presented on the screen of my smart mobile device. I put the phone in my pocket and headed to my office to compose this piece, but once the Facebook feed refreshed I can no longer find it. It is not on my notification list. So much for transparency. So much for ease of use. Now you see it, now you don’t.

So what does this mean? Well, in this case Facebook allowed a third party that I did not authorize to access my profile data. They allowed the third party because a second party (my Facebook friends) accessed an application that pulled the data. They allowed this even though I opted out of the Facebook application platform and therefore had a reasonable expectation of data privacy. Facebook fails. And my mom was right. You are impacted by the actions of your friends.

What is the answer? Take ’em down. Let’s see a class action lawsuit financially impact Facebook. There are enough of us in this potential class that have, by Facebook’s own admission, suffered harm. Congress is not likely to impose a satisfactory regulatory solution any time soon. So let’s take it to the courts and show companies that a willful direct and careless violation of our data privacy will be the most expensive mistake that their companies can make.

A New Raspberry Pi for π Day

The Raspberry Pi Foundation has announced the new Raspberry Pi 3 Model B+. This incremental design improvement provides some interesting features.

  • 1.4GHz 64-bit quad-core ARM Cortex-A53 CPU
  • Dual-band 802.11ac wireless LAN and Bluetooth 4.2
  • Faster Ethernet (Gigabit Ethernet over USB 2.0)
  • Power-over-Ethernet support (with separate PoE HAT)
  • Improved PXE network and USB mass-storage booting
  • Improved thermal management
Raspberry Pi 3 Model B+

The 5 GHz wifi and power over ethernet capabilities are especially interesting improvements. The Raspberry Pi is a great experimenter’s computer. Many amateur radio operators and makers are using them in purpose built applications such as digital hotspots and home control. You can see more here.

Update: 03/19/2018 — One difference that I failed to note betwee the RPI 3 Model B and the B+ is that while the RPi 3 Model B sported 1 GB of RAM, the B+ cuts it back down to 512 MB. While 512 MB may be enough for your application, if it is not, you may with to stick with the original RPi 3 Model B.

Update: 05/03/2018 — I have verified that RPi 3 Model B+ does still have 1 GB of RAM.  The reference to 512 MB RAM came from the specifications listed on the RPi Foundation web page when originally released.

2018 SWL Fest Talk Links

Here are the links mentioned in my 2018 SWL Fest presentation, “RTL-SDR: more SDR on the cheap!”

Receiving NRSC-5 by Theori
NRSC-5 Proof of Concept Code
NRSC-5-D Standard
Other NRSC-5 Related Standards
NRSC-5 Metadata GUI by K2DLS
dump1090 blog post
Dire Wolf source code
Xastir wiki
Xastir source code
Raspberry Pi Foundation

Other useful links

SDR#
Digital Signal Decoder+
Virtual Audio Decoder
Unitrunker
HD SDR
Linrad
DAB Player

If you attended my presentation, thank you for your interest. If you have never attended a Winter SWL Fest and are interested in any aspect of radio reception, consider attending next year. All frequencies from DC to Daylight are fair game.

Update: Monitoring NextGen ATC (on the cheap!)

Note: This article was originally published in March 2017. I’ve revisited and updated it in preparation for a talk that I’ll be giving at the 2018 Winter SWL Fest. I’ve simplified the installation process. While doing so, I learned that Google now requires an API key for the application to have access to their maps. My github fork of the dump 1090 code has been updated to account for this development.

A key component of next generation air traffic control is Automatic Dependent Surveillance – Broadcast (ADS-B). The current FAA mandate is for all included aircraft to output ADB-B transmissions no later than January 1, 2020. But you don’t have to wait to receive and map ADS-B. There is a lot of air traffic to be seen.

dump1090 as viewed via a remote web browser.

Some folks are using complete downloadable images that are set up to feed flight tracking services such as FlightAware. If you’re interested in doing this, The SWLing Post featured an article that you’ll enjoy. I wanted to explore whether I could use some items already on hand to see a map of overhead aircraft on any computer on my home network.

I pulled out an older Raspberry Pi Model B and a 4 GB SD-Card and installed a copy of Raspbian Stretch Lite. The Model B has been retroactively called a Raspberry Pi 1 Model B. It is equipped with 512 MB of RAM, two USB ports and a 100mb Ethernet port.

I decided to use a spare older RTL-SDR stick based on the RTL2832U and R820T chips. This USB device comes with a small antenna that I hoped would be good enough to get me started. It is not in any way optimized for the 1090 MHz signals that are used by ADS-B and is roughly 19 parts per million (ppm) off frequency. It cost a bit over $10 at a hamfest a couple of years ago. The designs have improved since the early models were offered. Newer models include a TCXO (thermally compensated crystal oscillator) for stability and accuracy.

I needed software to take signals from the RTL-SDR stick and plot them on a map. That software is “dump1090”, originally written by Salvatore Sanfilippo. I added an install stanza to the Makefile, along with a systemd service file, for a smooth system install. I also needed to install the RTL-SDR USB drivers. The complete installation runs “headless”, meaning no monitor, keyboard or mouse need be connected. Remote management can be done via ssh.

There is a security change that comes along with Stretch. ssh is now disabled by default. After copying the initial Stretch image to the SD card and BEFORE removing it to place the Raspberry Pi, mount the boot partition and create an empty file named “ssh”. If you are not using ethernet, you could also pre-configure wifi settings.

First, bring the Raspbian Stretch installation up to date.

sudo apt-get update
sudo apt-get upgrade

Add some needed packages.

sudo apt-get install git cmake libusb-1.0-0-dev librtlsdr-dev rtl-sdr

You may test by running rtl_test -t. If the device is properly seen by the driver you should see the following:

Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 
[R82XX] PLL not locked!
Sampling at 2048000 S/s.
No E4000 tuner found, aborting.

Don’t be concerned by the “No E4000 tuner found” message. The E4000 is an older chipset that is no longer used by today’s RTL-SDR devices.

Compile and install the dump1090 code.

git clone https://github.com/K2DLS/dump1090.git
cd dump1090
make
sudo make install

Configure dump1090 options.

cd /etc/default
sudo vi dump1090

Here’s what I placed in the file.

# Default settings for dump1090.
DUMP1090_OPTS="--quiet --net --lat xx.xxxxx --lon -yy.yyyyy --ppm 19 --gain -10"

–quiet runs in the background
–net starts a webserver so that you can access via a web browser
–lat set to YOUR decimal latitude (negative for South)
–lon set to YOUR decimal latitude (negative for West)
–ppm if you know the ppm tolerance of your device (otherwise omit)
–gain -10 which sets gain automatically

A full parameter list can be reviewed by typing dump1090 --help.

With an antenna connected you can perform a quick device check by typing dump1090 --interactive. If all is well you’ll see a screen like this:

Hex     Mode  Sqwk  Flight   Alt    Spd  Hdg    Lat      Long   Sig  Msgs   Ti/
-------------------------------------------------------------------------------
A39D11  S                                                         6     1    4
A25D36  S                     1775                                7     4    3
AAA593  S                     2575  205  075                      7     2    7
A25238  S                                                         4     1   12
A0480B  S                    19650                                8    28    3
ACF4DD  S                     3825                                7     2   14
A41F61  S           FDX3018   2800  211  025   40.428  -74.332   23    83    0
A6FFFE  S     1753  LXJ550   30475  371  226                      8    63    0
C060B3  S                     4625                                6    14    1
ACF69B  S                    23250                                6    25    1
A2D27C  S                    24000                               13    42    2
A0BF90  S                     9500  249  257                      5     3    9
A7D30A  S                    40000                                8   111    1
AE0192  S           SPAR958  32675                               22    93    0
ACC040  S                     7825                                8   146    2
ACA5DF  S                    26600                                6    79    0
A80C7B  S                     4550                                9   108    1
A7CC00  S                     7825                               35   123    0
ACF841  S     1507           14425                               50   132    0
A8C802  S           NKS149   23575  332  216   39.995  -74.262   12   160    0
A61949  S           UAL1105   2725                               14    60    0
AC2E20  S     1006           19925                               22   130    0
AB766A  S           DAL1526   8525  216  038   40.444  -74.213   81   249    0
AA4440  S                     5400  253  066                      6     6   13

Control-C exits this screen.

Now start the dump1090.service.

sudo systemctl start dump1090.service

If all goes well, a netstat -an will show that there is a binding to port 8080.

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN

Now you can start up a web browser from any computer on your home network and see a map of planes overhead. If your router supports internal dynamic DNS you can name the RPi and access via something like http://skynet:8080. Alternatively, use the IP address, which can be obtained via ifconfig.

eth0      Link encap:Ethernet  HWaddr b8:27:eb:12:34:56  
          inet addr:192.168.1.123 Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::1234:5678:8765:abcd/64 Scope:Link
          inet6 addr: fd68:bee:1f21:2221::5/128 Scope:Global
          inet6 addr: fd68:bee:1f21:2221:1234:5678:8765/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:990830 errors:0 dropped:418120 overruns:0 frame:0
          TX packets:323700 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:87491798 (83.4 MiB)  TX bytes:207659746 (198.0 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

In this case, the URL would be http://192.168.1.123:8080.

Once the map appears, re-position it to your part of the world and enjoy learning about what is flying overhead. You can enhance your enjoyment by listening to your closest airport tower or air traffic control frequencies on a scanner. These transmissions use amplitude modulation (AM) and can be monitored an another RTL-SDR stick or a scanner, even a relatively old model.

A New Kelement

I’ve been a fan of internet radio appliances ever since the AE1 hit the market in 2006.  I still find them to be more convenient than using a smartphone paired with a bluetooth speaker.  However, my Grace models, a few years old now, stopped working with Sirius a couple of years ago.  It was the same with a Logitech Squeezebox.  Google Home provides a decent way to access Pandora and TuneIn, but not Sirius.

Our kitchen counter has added a new Kelement WiFi Internet Radio and I like it.  It is an appliance based upon an Android screen and familiar apps, along with two speakers and a subwoofer.  No, the sound won’t blast you away, but it is fine for the $80 I paid during Black Friday/Cyber Monday.  The price on Amazon is now $90, but I would still recommend it at that price.

It is nice to be able to again listen to Sirius while downstairs and the Android touch screen interface makes sense.

November DV4mini Image Update

The K2DLS DV4mini image for the Raspberry Pi 2 and 3 (only!) has been updated to include the October 12 release of the DV4mini Control Panel.  This includes XRF through letter Z and REF up to 100 for the D-Star users.  The image will fit nicely on an 8 GB SD Card.