Dell Touchpad Losing Multitouch After Second User Logs In

January 7th, 2022

Happy 2022! This dear old blog is long overdue for a theme update, eh?

My aging Dell E5550 has been losing the multitouch features (i.e. two finger scrolling in web browsers!) when a second person borrows my laptop (for work from home!).

This is in Windows 10. It may or may not apply to other laptops from Dell or other laptops that use the same OEM Touchpad from Alps Alpine.

There were some random webpage references to try specific older versions of the touchpad driver. I tried a couple upgrades and downgrades of the driver, but it didn’t seem to work.

So… I came up with a workaround. I created a little command script that kills 5 relevant processes and restarts them. It must be run with administrator privileges. Also… it’s probable that not all 5 are required to be restarted, but I didn’t feel like triaging it any further.

I’m doing this quick post because 1) it took way too long for me to spend fixing this stupid issue, and hopefully it helps someone else, 2) this blog has been silent for too long anyway.

Copy the code block below into a new “.cmd” file. And run it. Or make a shortcut and drag that shortcut into your Start Menu for easier access. Enjoy!

REM MUST RUN AS ADMIN! (In Advanced options of a short cut in Start Menu there is an Administrator permissions checkbox)
REM Workaround to fix TouchPad multi-touch when multiple users log in.
REM By Leonard Chan, Perceptus Solutioins Inc., www.perceptus.ca

REM 2022-01-04

taskkill /IM Apoint.exe
PING -n 3 127.0.0.1>nul

taskkill /IM ApntEx.exe
PING -n 3 127.0.0.1>nul

taskkill /IM ApMsgFwd.exe
PING -n 3 127.0.0.1>nul

REM This one needs more permissions for some reason.
taskkill /F /IM HidMonitorSvc.exe
PING -n 3 127.0.0.1>nul

taskkill /IM hidfind.exe
PING -n 3 127.0.0.1>nul

REM double quotes needed for optional title parameter if second parameter has quotes.
start "" "C:\Program Files\DellTPad\Apoint.exe"
PING -n 3 127.0.0.1>nul

start "" "C:\Program Files\DellTPad\ApntEx.exe"
PING -n 3 127.0.0.1>nul

start "" "C:\Program Files\DellTPad\ApMsgFwd.exe"
PING -n 3 127.0.0.1>nul

start "" "C:\Program Files\DellTPad\HidMonitorSvc.exe"
PING -n 3 127.0.0.1>nul

start "" "C:\Program Files\DellTPad\hidfind.exe"
PING -n 3 127.0.0.1>nul

ECHO Auto closing in about 60 seconds...
PING -n 60 127.0.0.1>nul

REM PAUSE

Outlook Desktop Problem with Yahoo Email – Codes 0x800CCC0f and 0x800cc0e

February 24th, 2021

I had a random problem come up. A user who has been using Outlook Deskotop software (relatively recent, I think Outlook 2019), to access Yahoo via IMAP and SMTP.

It had worked fine for months and months until yesterday. The errors came with the codes 0x800CCC0f and 0x800cc0e.

For some reason the first results in my Google searches didn’t get me the fix – it took way longer than it should have to find out that Yahoo, in late 2020 started phasing in mandatory app passwords. See below for how to generate an app password in the Yahoo web interface, and then pop that into your IMAP or whatever email client.

It’s a good change, I assume it means that a compromised plain text password on one device can be “voided” without having to update passwords on other devices.

Retired the Original Perceptus Virtual Private Server Today

January 18th, 2021

After many years of procrastination, we finally turned off the original VPS.

We had some straggling old website sitting on there. Most things, including this blog, had migrated off years ago. It was up since 2003!

It had been migrated by the vendor to new platforms and new data centers at least a couple times, and had been up sized at least a couple times too. IIRC, it started with a whopping 64MB of RAM allocation (which was actually pretty good at the time!), it ended at 1GB. The price dropped a bit over the years as well.

One less piece of technical debt on the books. One more piece of nostalgia.

Slow Disk Access with Dell Latitude E5550 in Windows 10 – Hopefully Resolved

January 15th, 2021

A quick note here on what I hope is a fix to this laptop that has been annoying me ever since I did the free upgrade to Windows 10 a couple years ago.

This laptop ran extremely well for me under Windows 7. After the upgrade to Windows 10, I would get occasional cases where the hard drive would slow to a crawl for minutes at a time. Usually, it would recover, but, sometimes I would get a BSOD, and other times I would give up and do a manual hard power-off (not recommended!). It generally correlated to the amount of disk access at any given time, more disk use, more likely to get hung up.

The hard drive in question is a 1TB Seagate SHDD (one of those drives with an 8GB Flash “cache” on spinning rust) – this was bought at a time when 1TB SSD’s would have been over $300. It’s possible that I manually upgraded Intel Rapid Store drivers at some point.

Over time this got worse, but, I suspect this is because web pages have become ever more complex – and web browsing, with easily 20 or 30 tabs at a time is very common for me. For the last couple weeks, I was getting complete failures every other day, and minute long pauses every few hours.

I uninstalled many miscellaneous software items I no longer use, or never used. I moved my web browser caches and profiles to the SD Card (which has been great, and deserves it’s own blog post) but didn’t stop the problems. I did NOT re-install – that’s far too much work on my day to day computer to do on a whim.

In the end (fingers crossed), what seems to have worked for the last few days is to switch the hard drive from RAID to ACHI mode in the BIOS. WARNING: Windows 10 will freak out, you need to get Safe Mode started for the drivers to reconfigure for this change.

Some combination of search terms in Google lead me to this thread: https://superuser.com/questions/1152901/hard-disk-suddenly-is-extremely-slow

That lead to this interesting thread here on WHY most Dell laptops of this era had the disks configured to RAID mode: https://www.dell.com/community/XPS/Pros-Cons-AHCI-vs-Raid-On-XPS13-9300-NVMe/td-p/7636984

For many people, it’s better to follow this to force Windows into Safe Mode on the first reboot after making the BIOS change, but I just waited for Windows 10 to freak out, and then worked my way through prompts to Safe Mode.

UPDATE: I’m not 100% sure this worked. I had stupid crawling HDD access again. I am now suspicious of a slow memory leak that slowly grows the pagefile.

Troubleshooting iCloud Photo Sync on Windows – WARNING OBSOLETE

December 8th, 2020

UPDATE: I got 80% of the way through this blog-as-I-debug post before realizing that while iTunes happily pestered me into updates every time I opened it, iCloud was not upgraded along with it. I was on version 7, after upgrading to 11, things changed a lot. I’m publishing this unfinished post since some of it was interesting, and maybe someone who insists on staying on Version 7 of iCloud will have some use for it. There was some interesting SQLite browsing that I found zero references to in my searching. Possibly SQLite still backs iCloud, I haven’t found it though, also, I haven’t tried.

UPDATE 2: After writing the above, I decided to do a dir /s client.db and found a likely new location for the database in current versions of iCloud for Windows – C:\Users\[username]\AppData\Local\Packages\AppleInc.iCloud_nzyj5cx40ttqa\LocalCache\Local\Apple Inc\iCloudPhotoLibrary
I’m not sure if the random character section changes per install or per version or what.

——————

My iPhone upgrade seemed to go magically. That weird cloud pattern and sync was soooo smooth, that obviously it couldn’t be perfect. I noticed eventually that the photo count was wrong.

To be fair, my photo setup was kind of messed up, I’ve been moving files off manually and the photos have migrated over two phones previously. It was a good thing I made a manual backup of the “DCIM” folder.

I only noticed a few days afterwards, so I didn’t want to do a full restore from iTunes – this might not have been the best choice in the end.

After much fiddling, I’ve decided to try and use iCloud photos to get the photos back onto the phone. I hope that I will be able to use it to manage my photos over the long term better anyway, manually grabbing files off the DCIM folder isn’t ideal anymore. The Windows integration was and still is pathetic (which is why this blog post is being written); but, at least the web interface is much better now. I think.

Moving all the JPG only to C:\Users\[username]\Pictures\iCloud Photos\Uploads (the default folder for uploads from my Windows 10 PC).

I don’t have that many photos that I want to keep on my phone… only about 1800 but of course, it didn’t work.

And for some reason, I can’t find any good debugging information.

Check iCloud version, it’s in fine print towards top right when you have iCloud program window open. I started with 7.21, newest is 11 – and it did NOT auto-update. (i may have disabled an auto-update feature in the past)

iCloud Photos is stuck with 300 images left to upload and synchronize. And no indication of what is stuck or why. And multiple web searches turned up only partial help.

First, the work database used by the iCloud Photos sync is in this folder: C:\Users\[username]\AppData\Local\Apple Inc\iCloudPhotoLibrary\client.db

With a little wizardry figured out it was a SQLite database.
(I just opened the file in a text editor and looked for hints in the text – it’s was pretty obvious looking at the head of the file.)

I’m lazy, so I found a GUI: https://sqlitebrowser.org/

I cracked open the client.db file, and I’m more than happy to see that the Apple writers made the clearest design that I could have hoped for.

I found the list of files to be uploaded in the table “files_to_upload” (WOW).

As far as I can tell so far, there is a record for every file that has ever been in the Photos\Uploads folder, and also any files that were manually added via the Tray Icon.

Sort the table by the upload_state column. I only have 2 values in my table:

  • 0 seems to be not uploaded – it matches my stuck file count exactly
  • 2 seems to be upload done

Other columns:

  • path – The file in question is in the “path”
  • cpl_asset_record_id – none of the files that did not upload have this blank; however, a few of the ones that are uploaded also have a blank here – I suspect this is something akin to “cloud” ID
  • mmcs_file_hash – I suspect it’s a hash of the file.
  • path_hash – this is set as the primary key, I would assume (maybe) uploads are done in path_hash ASC order?
  • ROWID – apparently SQLite has ROWID always that can be queried – maybe this is used for order of uploads

I thought maybe this would find some duplicates (because I know there are some) – but no… SELECT COUNT(*) Kount, mmcs_file_hash FROM files_to_upload GROUP BY mmcs_file_hash HAVING Kount > 1

I know that when it is stuck on a file, it does go on to the next one – my test batch of 20 or so files had a couple stuck, but when I uploaded the rest – most of the later ones uploaded.

Is it the file? I made a copy of one to “IMG_5893 – Copy.JPG”

PNG files (screenshots) are NOT handled (WTF). MOV movie files no too. I don’t have a plan, I might convert the PNG files to JPG and just be done with those. MOV I might move to Google Drive or One Drive, or leave the off the phone altogether.

Event Log? I don’t see any in common logs, nor do I see an Apple file.

iCloud executables seem to be here: C:\Program Files (x86)\Common Files\Apple\Internet Services – no signs of log files

Some logs here: C:\Users\lchan\AppData\Roaming\Apple Computer\Logs-Old (found this after upgrading to version 11, I suspect folder was named “Logs” before)

Argh. After all of the above, I found out I was running a really old version (7) of iCloud and iCloud Photos.

C:\Program Files\WindowsApps\AppleInc.iCloud_11.4.12.0_x86__nzyj5cx40ttqa\iCloud

TODO: I got tired of this task and gave up, but the next steps would be to take the list of files in the database that did not upload, write some sort of batch or PowerShell or Python script to copy those out to a new folder, and then try the upload again, I guess. Please comment below if you take it that far.