Windows 10 Update survival ideas (W10 Home Edition)

Maybe you’ve been bitten by this issue: There was a Windows 10 Update and now your PC is waking up constantly at the most inconvenient times. Like in the middle of the night, waking you up. Or one minutes after you’ve gone to bed and you find your PC has been running the whole night, doing nothing. Or maybe you put your laptop to sleep and packed it into bag. Then took a flight stuffing the bag into overhead bin. If you and the airplane survived, lucky you.

When you frantically scroll through Event Log to find the culprit to your hardship, you may come across name “UpdateOrchestrator” or “Update Orchestrator Reboot” as some call it. Earlier (before fall 2017) it was possible just to go to Task Scheduler with Administrator credentials and disable the little *** out. Sometime late 2017, Microsoft, in its wisdom, decided that updates were too precious to be left to the common user. So they disable the access to that task in Task Scheduler. If you try to change the Reboot task there, you are asked to supply password for user “S-1-5-18”. It is a system account which apparently has higher access rights than Adminstrator account:

SID: S-1-5-18
Name: Local System
Description: A service account that is used by the operating system.

And you cannot disable the task. So, it seems that you don’t actually own your PC, which you paid for. Microsoft does. Understandably you might feel a bit *cheated*. Not to mention angry.  I’d be happy to run updates with Update Orchestrator, provided that since it knows how to turn on my PC, it would also know how to turn it off. But in my case, it does not.

The procedure to disable the Update Orchestrator Reboot task is described next. Note that this works now, it is very probable that Microsoft will do its best to block asap. I bet there’s a company-wide initiative already.

How to disable Update Orchestrator Reboot task in Windows 10 Home edition.

Download pstools: https://docs.microsoft.com/en-us/sysinternals/downloads/pstools

Extract the tool package

Open cmd with admin rights

Start (from terminal above) either psexec (32 bit system) or psexec64 (64 bit system)
psexec64 cmd.exe
In the resulting new cmd window run

SCHTASKS /Change /TN "Microsoft\Windows\UpdateOrchestrator\Reboot" /DISABLE

This results in

INFO: Scheduled task "Microsoft\Windows\UpdateOrchestrator\Reboot" has already been disabled.
SUCCESS: The parameters of scheduled task "Microsoft\Windows\UpdateOrchestrator\Reboot" have been changed.

Also run this to disable access to above setting

icacls "%WINDIR%\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot" /inheritance:r /deny "Everyone:F" /deny "SYSTEM:F" /deny "Local Service:F" /deny "Administrators:F"

Results in

processed file: C:\WINDOWS\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot
Successfully processed 1 files; Failed processing 0 files

You can check the Task Scheduler (with admin rights) for Reboot task; it is disabled and access is denied. Also check that the Schedule Scan and USO_Broker_Display tasks have “Wake the computer to run this task” unchecked in “Conditions” tab.

Done! And you again own your own computer.

Thanks to DebayanGupta for the above method.

How to send email notification when your PC resumes from sleep

Since I am paranoid I set up a task to notify me with email whenever my PC resumes from sleep. For this, you need sendEmail. Select the TLS enabled Windows package. Open Task Scheduler and Create Task. Next, fill the tabs General, Triggers, Actions, Conditions, Settings like described below

 

General

 

Triggers

Add a new trigger like picture below. One minute delay allows time for the network to get connected. You can check the Kernel-Power Event ID from your Event Log to be sure.

 

Actions

Add a new action like below.

 

 

Program/script is

C:\Your\Path\To\sendEmail-v156\sendEmail.exe

And arguments are

-f yoursender@gmail.com -t youremail@gmail.com -u "PC Sleep Resume Change Detected" -m "PC Sleep Resume Change Detected" -s smtp.gmail.com:587 -xu yoursender@gmail.com -xp yoursenderpass -l C:\Your\Path\To\sendEmail-v156\sendEmail.log

Naturally it is wise to create yoursender GMail account for security because yoursender password is there in cleartext.

 

Conditions

 

Settings

 

Finally, OK the task. Task Scheduler asks for your password to create the task. That’s it, now enjoy your flood of notification emails for resume events.

 

Advertisements

RFSpace Cloud-IQ

RFSpace Cloud-IQ receiver

In previous blog post I described a software defined HF radio setup using AirSpy as a receiver and HamItUp converter together with magnetic loop antenna. There are other alternatives for HF reception. How about cutting some corners and doing away with two mixers in your signal path?

Cloud-IQ from RFSpace is a direct sampling receiver, meaning that the RF input is connected directly to the ADC input (omitting the obvious preamps and filters) without a mixer. Cloud-IQ offers maximum of 1.8 MHz IQ sample rate with 24-bit resolution (I & Q both 12 bit). The frequency coverage extends from 9 kHz to 56 MHz and a wideband 56 MHz wide spectrum analyzer mode (without demodulation). Frequency stability is guaranteed with a built-in TCXO (<2.5 ppm over 0-40 °C).

Furthermore, Cloud-IQ has an FPGA with digital down converter (DDC) and demodulator for several modes. This configuration enables the user with two distinct modes, the IQ mode and (low bandwidth) cloud mode.

RFSpace Cloud-IQ receiver
RFSpace Cloud-IQ receiver SN CI000049

The IQ mode is your typical SDR configuration where the radio part is performing the RF pre-processing, preamplifying and low-pass filtering the incoming RF signal as well as the ADC direct sampling. The resulting IQ data is then fed to your PC where software is used to extract the audio. This extraction requires computing resources and therefore it sets the limit on which hardware it can be run on. Most modern PCs can perform this and the computing effort is relative to desired bandwidth. This means roughly that 40 kHz is well doable on any modern PC while 10 MHz requires Intel i7-class performance.

In the Cloud mode on the other hand, the audio extraction (digital down conversion and demodulation) is done inside the Cloud-IQ receiver. This functionality is built into an FPGA which can be updated with new firmwares and features. After demodulation  the audio and video (spectrum and waterfall) are passed by a built-in internet server through the 100base-T ethernet link to computer application. In this mode the external computing requirements are significantly less than in IQ mode. Also the ethernet bandwidth requirements are low, due to only transferring audio and video. I’ve successfully used the Cloud-IQ on a dual-core ARM v7 (Allwinner A20 ARM box). This in its turn opens interesting possibilities for monitoring radio transmission on a low compute effort & power consumption profile. And for monitoring you can turn off the video, reducing the load even further.

Front and back panels
Front and back panels

Cloud-IQ uses a 100base-T ethernet interface which is more stable and standardized interface compared to USB. Therefore it is possible to locate the receiver further away from the computer to a location with higher elevation and less interference. Using the Cloud-IQ remotely over the internet requires using the low bandwidth Cloud mode.

There are two software selectable antenna input ports for remote or local selection of two antennas. Finally, there is an optional RS-232 3.5mm to DB9 cable for external radio control.

Software support

RFSpace has made SpectraVue (IQ mode) and RemoteSDRClient (Cloud mode, scroll down for Windows and MAC clients) software for Cloud-IQ users. They’ve even made an Android app called SDRAnywhere. The app is really nicely polished and very suitable for listening and frequency browsing. Signal analysis and other more demanding tasks were beyond my manual dexterity; this might improve with practise. There are open servers available, all you need to do is to install the app through .apk. My choice of SDR software for Cloud-IQ is SDR# which works great for me.

MDZhB (The Buzzer) on the SDRAnywhere app
MDZhB (The Buzzer) on the SDRAnywhere app. This is streamed over the internet from a remote Cloud-IQ radio.

The Linux support has CuteSDR (IQ mode) and open-source version of the RemoteSDRClient (Cloud mode). Gqrx is coming up. Cloud-IQ has already been implemented on Gqrx but the connectivity part is coming from OsmoCom (in their GrOsmoSDR block for GNU Radio) and so the functionality is pending a patch. This will be included probably in near future. Then the Linux support will be through GNU Radio which, as we know, has wide possibilities for different implementations.

General experience/support

RFSpace has previously developed several successful and high-performing software defined radios like NetSDR, SDR-IP  and SDR-IQ. Considering the performance and work quality the $629 price tag seems reasonable to me. My purchase experience with RFSpace was very positive; payment, delivery and support after sales were all done very professionally.

Currently RFSpace is also developing the next SDR device in their Cloud generation, CloudSDR. This radio is much like Cloud-IQ but with much wider frequency coverage (9 kHz to 1200 MHz). The VHF/UHF operation is implemented with a down converter.

IMG_0224

HF listening with AirSpy, HamItUp and magnetic loop antenna

Airspy with Ham It Up

I’ve been busy for a year and updating this blog has been delayed. I’ve anyhow slowly been adding and replacing components in my radio equipment. I purchased an improved receiver, namely  the Airspy (airspy.com). Airspy has similar silicon tuner chip (Rafael R820T2) as the RTL-SDR receivers (R820T). The difference between the two receivers really is in the ADC/interface chip. RTL-SDRs use the famous RTL2832U from Realtek whereas the Airspy uses more advanced LPC4370. You can find a good review of Airspy by Radio User Magazine (PDF here). In my opinion, Airspy certainly is a good SDR to purchase when you are moving up from RTL-SDR dongles.

Airspy has a frequency range of 24-1800 MHz and if you want to go lower for HF listening, you need to use an upconverter. I am using Ham It Up from NooElec. This is one of the available upconverters, you can find more alternatives from this blog by KF7LZE (updated 2015). Airspy makers are currently in process of designing and testing their own upconverter called Spyverter.

Here is a picture of my current HF setup. It has a PC connected to Airspy in series with Ham It up.

Airspy with Ham It Up
Airspy with Ham It Up

For HF (3 to 30 MHz), you need to use different antenna than on VHF-UHF. General rule would be that the antenna dimensions (length) should be comparable to the wavelength of the radiation. This is required for the efficient reception. The wavelength corresponding to 3-30 MHz would be 10-100 meters. Antenna with these dimensions would be difficult to build in our apartment house. However, using a magnetic loop antenna provides not only reasonable dimension but also some measure of immunity to local electric noise. Electric noise is usually plentiful within domestic, urban setting and it includes sources such as televisions, fluorescent lights, all sorts of domestic appliances and car ignition systems. Even the elevator in our house generates significant noise when the electric engine is running. So while small magnetic loop antennas are suitable only for reception, they do have some benefits as well.

I am using an active loop antenna ALA1530S+ from Wellbrook Communications. It has a loop diameter of about 98 cm. There is an antenna interface unit which handles the power feed to the loop amplifier and has an amplifier of its own. You can read more details of this active loop antenna from the review by Radio User Magazine (PDF here).

The active loop antenna
The active loop antenna
Close-up of the loop amplifier unit
Close-up of the loop amplifier unit

The recommendation from the antenna manufacturer is to place the antenna at least 6 meters away from buildings. As you can see, I have not done so as I have been quite happy with the reception even indoors. The active loop antenna is directional, meaning that it picks up signals originating close to plane of the loop. Signals coming perpendicular to the loop are rejected as the antenna has the figure-8 radiation pattern. My antenna plane is located roughly in east-west direction. This way I am able to reject some of the interference coming from indoors.

Figure-8 radiation pattern. Line in the center marks the loop orientation
Figure-8 radiation pattern. Line in the center marks the loop orientation

The first choice software for AirSpy is SDR#. The software is written by the AirSpy developer so it has significant optimization benefits.

So, what can you discover using your SDR system on HF band? My current personal interest points towards number station and military traffic monitoring. My geographical location at southern Finland gives a good access towards both St. Petersburg and Kaliningrad areas. Other areas at relatively reasonable distances are Moscow and Pskov. An excellent resource for number station enthusiasts is Priyom.org which even has a Google calendar with upcoming number station transmissions. Other site which I have found are Numbers-stations.com and Numbers & Oddities. There are of course many other sites available with more information. At least Priyom.org and Numbers-Stations have active Twitter accounts (@priyom_org and @Spy_Stations).

If you want to try-before-buy, the amateur radio club ETGD at the University of Twente (Netherlands) has an excellent free web-based HF SDR available at websdr.ewi.utwente.nl:8901. With a click of that link, you will be connected to a web interface and receiving HF radio.

Here are some short videos I have made:

The number station classic, MDZhB (UVB-76) Buzzer.  Video and more info on Priyom.org.

S5292 (Fazan-37). Video and info as above.

RTL-SDR: GNU Radio and building my own AM receiver

There are lots of good, free software available for RTL-SDR, both on Linux and Windows. Osmocom RTL-SDR page lists most of these in their known apps list. This is a very good page to start if you are new to RTL-SDR. Test all the available software and find the best tools for you.

Sooner, rather than later, you’ll come across the open source radio toolkit called GNU Radio (tagged as “The Free and Open Radio Ecosystem”). This toolkit is very extensive and many other tools are built by using it. GNU Radio can be a bit difficult to install, although there are recommended ways to do the installation and I suggest you use those in the first place. GNU Radio definitely has a learning curve but, again there is help available to make your ride smoother.

Easy way to learn about designing and building software for SDR is the GNU Radio Companion, GRC, which is a graphical front-end to GNU Radio. Basically, you just snap your blocks together and that’s a bit like building IKEA furniture. Using examples from other users (f.ex. Alexandru Csete, OZ9AEC article GRC Examples) and GNU radio wiki and API documentation I was able to build my own AM receiver very quickly.

I have been listening for the airband communications between nearby HEL airport and passing airplanes. So I decided to make my own airband scanner using GNU Radio. Here is the current version.

Airband scanner block diagram in GNU Radio Companion
Airband scanner block diagram in GNU Radio Companion.

In short, the RTL-SDR Source is the block that does the interfacing and sampling the I-Q stream from the USB device. The sample rate (2.4 MS/s), hardware base frequency (119.4MHz, as a static variable) and the crystal correction in ppm (as a slider variable) are defined here and other less relevant settings.

RTL-SDR source block properties.
RTL-SDR source block properties.

The Frequency Xlating FIR filter is then used to do channel selection, frequency translation and decimation all in one go (great!). Now we have our channel cut out for us, translated to 0 Hz and downsampled. The low pass filter characteristics, namely the cut-off frequency and the transition width (25 kHz and 10 kHz below) basically define your channel width. The last argument, 40, is the stop-band attenuation. There is good information on FIR filters at Lab Book Pages article. Also GNU Radio has its own gr_filter_design tool which can be used. This means you can test how steep a cut you’ll need do with the filter and minimize it. The more gentle sloping at the transition band, the less poles will you get into your filter and less processing power is needed.

Frequency Xlating FIR filter.
Frequency Xlating FIR filter.

Finally, we have the AM demodulator block which has an audio low-pass filter built-in. Plus a couple of level controlling (AGC and volume) blocks. I have added a FFT GUI instrumentation block there as well, for demonstration, measurement and calibration purposes. First it is connected directly to the output of the RTL-SDR source, the GRC GUI just wants to draw the wire as going under the Xlating FIR.

When you have this set up, generate the block in Python and execute the Airband scanner. Here is the resulting WX Python GUI.

Airband scanner running.
Airband scanner running.

I’ve taken the liberty of naming the channels as TWR (Tower) and APP (Approach?), taken partly from the HEL airport pilot information pages. The actual names are not that relevant, they are more tags for myself. Adjust the volume and turn on the “Peak hold” option in FFT, then allow it to run for a while. The 0 Hz here is 119.4 MHz and after a while, the channels start to appear. If you replicate this receiver yourself, you need to adjust the center frequency (the static variable) by placing it right in the middle of frequency band of your interest and location. Also you want to re-define your own offset frequencies using the FFT output. The offset frequencies are defined as radio buttons in the WX GUI Chooser block.

You can also experiment by taking the FFT after the Xlating filter, which allows you to calibrate your crystal correction coefficient on-the-fly and very accurately. I used this method to get to value 65 shown in this example. Finally you want to remove the FFT and just use the radio button while listening. This will reduce the required computing effort.

Now the Airband scanner is available as GRC XML block description and as Python source code, which can be run directly from CLI. The processing blocks are coded in C++ so implementation should be pretty optimized. If needed, the top block Python should be rather trivial to port to C++ as well, but I would imagine that the improvements would be very small.

I also made a little video showing the scanner operation with FFT. The interesting things start around 1:20.

EDIT: Per request, here are the flow graph and Python code for download. You probably need to adjust the block as described above.

RTL-SDR: Upgrades

Since the last post I have made some hardware upgrades to settle towards an acceptable RTL-SDR solution (as such saturation point actually existed). I bought

  • Jumper pigtail cable (SMA M / SO-239 F), to avoid breaking the PCB while working with the RF plug
  • 50 feet RG-8X cable with PL-259 connectors
  • Wideband scanner antenna for 25-1700 MHz

This kind of gear is easily available through eBay, for quite reasonable price. For example, the 20 cm jumper cable was about 3-4 euros delivered (as an international letter). Just bear in mind to check the shipping cost. Now, had I made this myself, it would have been more expensive.

Jumper cable SMA M / SO-239 with SMA-MCX adapter connected.
Jumper cable SMA M / SO-239 with SMA-MCX adapter connected.

Currently, I am listening on VHF and UHF so I decided to get a scanner antenna. I settled for this 92 cm long stick antenna.

Wide-band scanner antenna, bottom connecter is SO-239, lenght 92 cm. Comes with simple stand/holder/fixture structure.
Wide-band scanner antenna, bottom connector is SO-239, lenght 92 cm. Comes with a simple stand/holder/fixture structure.

So, I have my RTL-SDR sitting on my desk, about 30 cm from the laptop. There’s the jumper cable connected to antenna input and then 50 ft of RG-8X out to the balcony to my antenna.

I have also tested the RTL-SDR outside, directly connected to the antenna but all my tests so far have indicated that the noise level is much higher outside. I am writing another blog post about the noise difference inside and outside and how I am trying to solve it.

RTL-SDR improvements

After the first test to see how the USB stick performs as a SDR, it was time to set things up better. I started by making a list depicting how I could make my cable better. I decided to use adapters to upsize the dongle connection (which was a MCX female). I settled for a quick solution from my trusted supplier Partco and got me a 10 m double shielded cable with F connectors and a handful of adapters. I also bought 1 m of RG213 cable as well as 1 m RG58 and some connectors, namely UHF male (i.e. PL259) and SMA connectors. Most expensive item on my list was lead-free solder since I had decided to go RoHs compliant.

All these were again very affordable and I can surely recommend Partco for electronics hobbyist in Helsinki area. They have a good location, good prices and selection and expert service. It is just a pick-up store so don’t expect to get Electronics 101 there, rather educate yourself in advance.

Things getting serious
Things getting serious
UHF male (PL-259) stub
UHF male (PL-259) stub

So I got home with all these and put everything together. I first made the RG213 stub to connect to antenna (still the non-tuned half wave dipole). I found this excellent video by senior ham radio guy. It shows a very simple way to connect UHF (PL-259) connectors. I extended my dipole antenna and soldered the ends to my new UHF cable stub.

Then I continued testing the signal strength, just relying on my ears. Later I decided that the half-wave dipole had to go and I replaced it with a full-wave quad loop. For tuning, I used center frequency of 125MHz (yes still on airband) and this calculator.  It turned out like shown below using our broom stick as a weight.

Full-wave quad loop at 125 MHz or thereabouts
Full-wave quad loop at 125 MHz or thereabouts

One application I have tried is ADS-B, the airplane radio system which broadcasts the airplane location, height, heading, speed etc. information. This system uses digitally coded messages which are transmitted at 1090 MHz. There are several open source or free programs available to automatically decode the messages and even provide a overlay map plotter. One such program for Linux is dump1090. It provides reception, decoding and even a web server with mapping plot for airplanes.

Flight THY6YF make a turn while descending towards HEL airport.
Flight THY6YF make a turn while descending towards HEL airport.

Ok, you can also go to FlightRadar24 and see all the flights at once. But where’s the fun with that? Too easy 🙂 FlightRadar24 actually collects part of their data using ADS-B reception.

My First RTL-SDR

It looks like I am at least two years late into this but anyway. Last week I found out about a clever hack to use a common DVB-T USB stick as an affordable software defined radio (SDR). This is like a cheap scanner for every geek. You can find out more from these links:

http://rtlsdr.org/

http://sdr.osmocom.org/trac/wiki/rtl-sdr

http://www.rtl-sdr.com/

http://www.reddit.com/r/RTLSDR/wiki/guides

The setup: Laptop, DVB-tuner USB stick, headphones. Free software. And yes, you can do strain relief using your wallet.
The setup: Laptop, DVB-tuner USB stick, headphones. Free software. And yes, you can do strain relief using your wallet.

After the USB dongle arrived, I setup the above configuration. The picture shows Gqrx software running as a scanner. The frequency is close to 119.1 MHz which is the HEL airport APP frequency (approaching planes and tower, I suppose).

119.1 MHz without correcting for xtal error. I did the calibration later on.
119.1 MHz without correcting for xtal error. I did the calibration later on.

At this point, I had no proper connector for dongles SMA adapter and I had just stuck the center wire of my antenna into the female adapter socket and taped the outer braid on the adapter’s shield (hence the strain relief). My antenna was just a half-wave dipole build from electrical wire and set up across our balcony. All connections were just wires and braids twisted together. They took about 30 minutes to make and the half-wave dipole was not tuned.

“Half”-wave dipole antenna with V-type configuration