Gary Davis' Blog

DotNET/PayPal Development and other Techie Stuff
posts - 47, comments - 170, trackbacks - 0

Monday, June 7, 2021

SMRC M21 Low Cost GPS Drone

SMRC-M21_DroneThis under $100 drone (from AliExpress) is my first drone to try out and learn to fly without worrying about losing or crashing it – for example, an expensive DJI Mavic drone.

My first attempt resulted in a crash landing inches from the backyard lake. My second attempt, the drone went over the lake and through a fountain before crashing in the lawn. I think I have to pay better attention to the breeze since it is such a light-weight drone.

After ordering from China and waiting for it to arrive, I asked the seller for a pdf of the user manual to get a head start on how to use it. I shortly received it in English as image files. This was fortunate since when the drone arrived, the user manual with it was all in Chinese.

I edited the image files I received into an easier to read pdf file which you can download from here. There are lots of typos and mis-translations in this document. For example, where you see drip (or tick), instead read beep. As in “When the remote control made a drip, …

The Android/iPhone app to download to your phone is named LP GPS PRO. I have not tried all the functionality yet and on occasion, it will crash requiring a restart.

posted @ Monday, June 7, 2021 12:02 PM | Feedback (0) |

Wednesday, May 27, 2020

How I Fixed Messed Up 5D Embroidery on Windows 10 on the Surface PC

The Microsoft Surface Pro and other PCs that have very high resolution (Hi-DPI) displays have problems with old software such as Photoshop CS6 and Viking 5D Embroidery software.

5dWindowTruncationThe icons may display very tiny and sometimes the windows will be cut off on the right (losing the minimize and close icons) and on the bottom.

Note on this image (from here) you can see the missing portion of the software as if it were chopped off.

The latest versions of Windows 10 (type winver on the command line to see the version) such as 1803 or newer support some of these old programs so they work right using Compatibility Mode. Prior to version 1803, there was a technique using the Windows Registry and a manifest file. That is no longer needed.

So to fix the issue, make sure the program is not running and then do the following steps.

Steps to fix for 5D Embroidery, 5D Organizer and possibly some of the other 5D tools:

  1. Locate the program’s executable file, likely in a subfolder of C:\Program Files(x86).
  2. Right-click the .exe file and click on Properties
  3. Click on the Compatibility tab
  4. Click on Change high DPI settings
  5. Click on the bottom checkbox Override high DPI scaling behavior
  6. Click on the drop-down list and select System (Enhanced)
  7. Click on OK to close the High DPI box
  8. Click on OK again to close the Properties box.

Click this for larger image

You should not have to reboot.

The program should now display its window correctly.

posted @ Wednesday, May 27, 2020 11:47 AM | Feedback (0) |

Saturday, March 29, 2014

How I solved "Unable to access HASP SRM Run-time Environment? (H0033)"

First of all, don’t stress! These instructions will most likely get you up and running with your 4D, 5D, 6D or other dongle-controlled program in short order.


My wife asked me to install her Viking embroidery “5D” software on her Surface Pro PC so she could use the touch tablet and pen to do graphics drawing and editing in the Design Creator.

The software is protected by requiring the user to have a USB dongle plugged in when running the program.

Installation went through normal software install and then it also had 3 updates to install. Two of the updates seemed to end with an error, perhaps because I did not reboot the PC after each (it was not clear whether or not to do this). At any point, running the program with the dongle installed resulted in the H0033 error.HASP Dongle

I tried doing a repair install and also install of drivers (from the main install menu) – neither helped.

Searching on this error showed several hits saying to go to the windows Services and enabling the HASP License Manager (or Sentinel HASP License Manager) but in my case, I did not have the HASP entry in Services.

I looked in the Device Manager and saw an error for the HASP device and its properties said the device driver was not installed. Doing an Uninstall followed by a Scan for New Hardware did not help.

Some posts said to try to go to this url in your browser: http://localhost:1947 but that just displayed an error. Normally, this would display the HASP SRM Admin Control Center.


I eventually found a post to download the HASP SRM Runtime drivers zip file at (or use the link below). Installing this did solve the H0033 error. Also, once installed, the dongle light was lit and the http://localhost:1947 worked.

From the download page, I chose to install the Sentinel HASP/LDK Windows GUI Run-time Installer. The zip file contains a Readme file and a HASPUserSetup.exe file. Run the exe file to start the installation. It’s pretty quick. 

Here is a copy of HASP SRM Runtime download zip file for your convenience:

When I installed the driver, I did not have the dongle plugged in. After the install, I tried going to the the localhost url above and it worked (displayed a page, not an error). I then plugged in the dongle and it lit up and the localhost url displayed more mildly interesting information.

Read the feedback (over 100 posts) and you will see virtually everybody is successful with this procedure. Please post feedback on your results.

posted @ Saturday, March 29, 2014 5:24 PM | Feedback (122) |

Saturday, October 19, 2013

How I Got My Verizon Lumia 822 to Work on AT&T

I got a Nokia Lumia 822 Windows Phone as a developer promo and my wife wanted to use it instLumia-822ead of her Lumia 920 since it had most of the features but was a bit smaller and a lot lighter in weight.

So I moved over the micro-sim card and everything worked fine except for the data connection. The 822 is unlocked already so there was no need to get an unlock code and unlock it from Verizon to use on AT&T.

To get the data to work, it is simply a matter of entering AT&T’s APN in the Settings->Cellular->Add internet APN. For the APN field, enter wap.cingular. No other fields need to be set. Finally, click on the Save button.

That’s all there is to it! Now check your Internet access.

posted @ Saturday, October 19, 2013 10:02 AM | Feedback (5) |

Sunday, September 15, 2013

How I Got My NookColor CM 10.2 to Mount SDCard Partition 4

Years ago, I rooted my NookColor to replace its eReader functionality with a standard Android tablet operating system. I used CyanogenMod version 7 and periodically upgraded to new versions.

Initially, I left the stock B&N eBook code (ROM) alone in the device and put all the modifications, upgrades, hacks, etc. on an SDCard left in place in the slot. Eventually, around CM 10.1, I decided to replace the B&N ROM with the CM 10.1 since I never booted into the stock ROM anymore. I did leave the SDCard in place and using the TWRP (TeamWin Recovery Project), I could select at boot time which ROM to boot into.

The SDCard is formatted with four partitions when set up to install or update CM7 ROMs. The first partition (partition #1 since numbering starts at 1 instead of 0), has the boot files and is a small partition. Partition #4 has the remainder of the data of the SDCard for pictures, videos, music, apps or whatever.

When booting to the device (emmc) ROM instead of to the SDCard ROM, the system mounts the 1st partition of the SDCard for data (called sdcard1). Since I have my data on partition #4, after installing a ROM upgrade, I would modify the boot to instead mount partition $1 as data. The way I did this was to modify file /system/etc/vold.fstab and change auto to 4 for the sdcard entry. Auto winds up mounting partition #1.

dev_mount sdcard /mnt/sdcard auto /devices/platform/mmci-omap-hs.0/mmc_host/mmc1

Well, when I upgraded to CM 10.2, which is Android Jellybean version 4.3, I could not find the file to edit. Some Binging around showed that vold.fstab was no longer used in 4.3. Instead, there was a file /init.encore.rc which was used at boot time to do various things including the filesystem mounts. This file mount_all to mount all requests in /fstab.encore. Looking at this file shows the statement:

/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc1 /storage/sdcard1
auto defaults voldmanaged=sdcard:auto

This is the line that has to change. Note there are two autos in that statement; the first is the filesystem type (for NookColor, it is basically VFAT) and the second is the partition number which is the one to change.

I switched to SuperUser mode and edited the file to change auto to 4 and rebooted. It did not work. The edited file was back to what it was originally.

A bit more Binging showed that the files are replaced at boot time with versions in the boot uRamdisk file. So I had to extract the fstab.encore file from the uRamdisk file, edit it and then replace the modified file back into the uRamdisk.

There are several steps to do this and there are various ways to do this. This is what I did.

The uRamdisk file is in boot partition #1 (on the device, not the SDCard). Once booted, this partition is not accessible so the first step was to mount partition #1 Using the terminal emulator in SuperUser mode:

cd /emmc

mkdir boot

mount –t vfat /dev/block/mmcblk0p1 boot

This switches to the /emmc folder which is the internal sdcard0 and is writable. Create an empty folder to be used as a mount point named boot. Finally mount the boot partition (device 0, partition #1) at /emmc/boot. Note, /emmc is the same as /storage/sdcard0. Also, /sdcard is the same as /storage/sdcard1.

Next, plug in your Nook to your Windows PC and enable the USB file sharing. Use explorer to locate the /emmc/boot/uRamdisk file to verify it is where you expect it. The emmc folder will be assigned a drive letter. If an external SDCard is in the Nook, it also will get a drive letter. Copy the uRamdisk file to your PC as a backup.

To extract the fstab.encore file, use BootUtil as discussed here. Download the BootUtil to a folder. Start a command prompt and change to that folder. Extract the fstab.encore file from the Nook version of the uRamdisk file (or use a local version if you prefer), edit it with notepad and replace the file back into the uRamdisk.

bookutil /l x:\emmc\boot\uRamdisk [optional list contents]

bookutil /v /x x:\emmc\boot\uRamdisk fstab.encore

[edit fstab.encore to replace the second auto with 4]

bookutil /v /r x:\emmc\boot\uRamdisk fstab.encore

Stop the USB file sharing, disconnect the cable, dismount the mounted boot

umount boot

Reboot and you should now have your SDCard partition #4 mounted

There are other ways of doing parts of this procedure such as using ADB or Samba, wifi instead of USB, dd instead of BootUtil, etc. If you have ideas on doing this without using the terminal console or all on the Nook instead of a Windows PC, please add some comments.

posted @ Sunday, September 15, 2013 2:54 PM | Feedback (1) |

Tuesday, January 15, 2013

How I Lost My Windows 7 Firewall Rules

I run a Windows 7 Web Server on a Media PC (see here) as my home server and from work, I connected to it using Remote Desktop. I ran Windows Update and part way through the 19 updates, the Remote Desktop connection froze. I figured the updates needed a reboot and but the server never came back up. I’d have to wait till I got home to figure out what happened.Updates1

When I got home, the server was pretty much how I left it from work. It had completed the updates and was just ready to reboot. The problem was that I could not connect to the server remotely. Outgoing connections were working fine (web pages, etc.). It turned out that the Firewall was blocking everything. I disabled the firewall and was then able to connect to the server (web pages, Remote Desktop, SQL Server).

I went into the Windows Firewall advanced settings and all inbound and outbound rules were missing!

First I ran MalwareBytes Anti-Malware and it showed no viruses or threats. Next I went to restore back to before the updates but my System Restore was not turned on! I do run Windows Backup and the last backup of the system image was a few days earlier. I could get my firewall rules from the SYSTEM registry on that backup.

FirewallRegThe backup creates a VHD virtual drive for the system and the program files. I mounted the system VHD as a drive and located the registry (\windows\system32\config\SYSTEM). I ran regedit and attached the SYSTEM registry file hive to get to the registry settings for the firewall. I located the firewall settings at this location HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess. I attached the backup hive to HKEY_LOCAL_MACHINE\SYSTEMBackup (focus on HKEY_LOCAL_MACHINE then File->Load Hive). I drilled down to SharedAccess on the SYSTEMBackup (see image).

Comparing this structure on SYSTEMBackup to SYSTEM, I noticed that on SYSTEM the entire Defaults key was missing and the Parameters\FirewallPolicy\FirewallRules key was there but there were no rules within it. The Default is probably not required but is the firewall reset info if needed.

I exported the SYSTEMBackup keys to a .reg file. I edited the file to change the location of the keys from SYSTEMBackup to SYSTEM. I then saved the file back (save as ANSI, not unicode). I then right-clicked the file and selected Merge to restore my firewall rules. NOTE: This is potentially very dangerous since you are modifying the registry!

Going back into the Windows Firewall advanced settings showed my inbound and outbound rules in place.

The rules seem to need a bit more tweaking since my HTTP ports are still blocked.

A good place to test out your firewall is at – navigate to the Shields Up page to verify your ports are blocked as expected. Note that your router may be doing most of the port blocking for you.

posted @ Tuesday, January 15, 2013 8:50 PM | Feedback (3) |

Thursday, January 10, 2013

How I Ported a Windows Phone 7 App to WP8

I completed the porting of my Tivo Net Remote app last week from WP7 to WP8 using some ideas from the Nokia Porting Guide. It was published yesterday.

I opened the source code solution using the new SDK and verified it compiled. There were minor changes I wanted to get in. One was to remove the Performance Progress Bar from the toolkit and use the native Progress Bar which was fixed to be like the toolkit version.

I then created a new project in the solution for the WP8 version. I used the copy-as-link on all the source files, though I did compare the differences in the App.xaml to manually migrate some of the lines of code in the .cs. There were a few files, I think tile images, that did not work with the link technique so I copied the files to the new project. The problem seemed to be in the packaging of the xap – the files just were not copied when they were links or something.

The App communicates with the TiVo using sockets and the WP8 has a really nice StreamSocket class I was able to use cutting down the comm code quite a bit for the WP8 version.

To submit the update, both xap files (WP7 and WP8) were uploaded to the Microsoft store. The re-certification process took four or five days.

I uninstalled my test version from my WP8 and searched the store for the new one and found it. The entry showed the Try and Buy buttons though I had purchased the WP7 version long ago. I clicked the Try to install it and it ran in trial mode. This did not make sense that I would have to buy it again.PortArticleImg1

I went to to see my purchase history and saw two entries for TivoNetRemote – one to Purchase/Reinstall and the other to simply Reinstall.

I uninstalled the app from the phone and clicked the web page link to reinstall (both entries have the same link/appid). The reinstall did wind up installing the full version so I did not have to re-purchase it. The appid is unchanged from the original.

PortArticleLogWhen someone runs the app, it sends a message to a web service to log some info (max of once per day) and get the app settings.             

posted @ Thursday, January 10, 2013 4:14 PM | Feedback (1) | Filed Under [ Programming WP7 WP8 ]

Saturday, June 2, 2012

The Big Brothers Big Sisters Little Moments App for the Windows Phone 7

The Big Brothers Big Sisters app for the WP7 was created by a team of developers as part of the local Give Camp project. I programmed the screens and web service calls; Robert Hellestrae did the initial foundation; Dave Norderer did the shaker and spinner coding as well as some of the REST data services. Several others were involved with the BBBS Little Moments web site and administration site and project management. Our Big Brothers Big Sisters contact was Kara Justi from the Palm Beach and Marin Counties agency.


The WP7 version of the Big Brothers Big Sisters Little Moments app was the first to market. The Android version is coming and as far as I know, the iPhone version has no programmers or developers at this time. There is also a website version under development (including an administration section for adding/updating data) and has a REST web service for data (BBBS agencies, activities, etc).

Click on the image to bring up the app details page.BBBS WP7 App

Get involved with Big Brothers Big Sisters and use this app to find activities available within your selected price range, distance, age-group and activity type for your selected local BBBS agency.. Activity providers have made special arrangements with your agency.

You can shake your phone go get the unlocked spinners rolling and see if the result finds an activity you and your "little" would enjoy. A locked spinner can be either selected (meaning selected must match) or unselected (meaning any will match).

Click the search button to see the list ot matches and then click on a match to find out the details of the activity. You can even get directions from your location to the activity.


posted @ Saturday, June 2, 2012 5:04 PM | Feedback (0) | Filed Under [ WP7 ]

Friday, June 1, 2012

How to Upgrade Windows 8 Consumer Preview VHD Boot to Release Preview

I already went through the procedure to create a Virtual Hard Drive (VHD) with Win8 Consumer Preview as described in the article and wanted to replace the VHD contents with the new Release Preview that came out yesterday. If you have the same situation, this will save you several steps.

If you try to upgrade your Consumer Preview, it will tell you that it is not possible since it is on a VHD. Maybe someone will figure out a workaround so your installed programs are not lost. So I figured for now, I'd just blow away the Consumer Preview and use the same VHD to hold the Release Preview.

The steps you save are creating the VHD and adding it to the boot menu. What you want to do are these steps:

  1. Download the ISO for the RP (from here)
  2. Mount the ISO as a drive (I used this)
  3. Attach the old VHD as a drive letter (Computer Mgt->Disk Mgt->Action->Attach VHD)
  4. Format the VHD drive to blow away the old Win8 CP
  5. Start PowerShell in Administrator mode to run the Install-WindowsImage.ps1 script (from here)
  6. Run Install-WindowsImage as shown below
  7. Assuming your boot menu Win8 entry is still in place, reboot into your new Win8 RP.

To run Install-WindowsImage enter this at the PowerShell prompt. This assumes you have CD'd into the folder with the script:

PS> .\Install-WindowsImage.ps1 –WIM J:\Sources\Install.wim –Apply –Index 1 –Destination I:\

Also, it assumes J: is the mounted ISO and I: is the attached VHD. The script will make the VHD bootable and copy the necessary folders and files from the ISO to the VHD. If you need to add a new boot menu item type bcdboot.exe I:\Windows where I: is your VHD. 

PowerShell running Install-WindowsImage

The Install-WindowsImage took about 4 minutes where the ISO and VHD where on an SSD and 32 minutes when both were on the same hard drive partition.

To reuse the same boot menu, the VHD file name and location need to be the same (use command line bcdedit with no parameters to display the boot menu details).
At this point, the VHD has an installed version of Windows 8 Release Preview that can be booted. The initial boot will go through some configuration and setup and you're done. The product key is: DNJXJ-7XBW8-2378T-X22TX-BKG7J or TK8TP-9JN6P-7X7WW-RFFTV-B7QPF .

The article above has all the details, screenshots and more if you need additional information about this procedure.

Once running, you can install Windows Media Center using the info at this blog.

posted @ Friday, June 1, 2012 1:28 PM | Feedback (1) |

Friday, May 4, 2012

How to recover space from your Android-imaged SDCard

When using a (Micro)SDCard created in Windows for an Android boot, partitions are written to it in a Linux format that Windows does not completely understand.

I did this when rooting my NookColor with CyanogenMod 7. My 8GB card was imaged using the Win32DiskImager tool that takes an IMG file and writes it to the card, laying down various partitions, including one standard Windows partition of about 130MB. This basically hides the remainder of the card from Windows but boots up my NookColor into Andriod just fine.

Well, eventually, you need to recover the card to use in Windows again. You can't use the Windows format command since that will only empty out the small partition. Normally, partitions can be deleted using the Computer Management program (under Disk Management). You select the SDCard volume and right click the partition and delete it.This did not completely work - some partitions did not have the delete option.

To actually delete the partitions, drop down to the command line (run as administrator, just in case). Run diskpart.When the prompt displays, run these commands.

DISKPART> list disk      [lists all the disks on the system]

DISKPART> select disk n      [carefully select the disk that is the SDCard for the following command]

DISKPART> list partition      [lists all the partitions of the selected disk]

DISKPART> list disk      [lists all the disks on the system]

DISKPART> select partition n      [select a partition to delete]

DISKPART> delete partition      [delete the selected partition]

[At this point repeat the list, select and delete commands for each partition

DISKPART> exit      [exits diskpart] 

At this point, I used Disk Manager to create a new partition, assign a drive letter and format the partition to FAT32. This can also be done with DISKPART create partition and assign commands.

Diskpart commands


posted @ Friday, May 4, 2012 10:18 AM | Feedback (3) |

Powered by:
Powered By Subtext Powered By ASP.NET