Welcome to the QA Tech-Tips blog!

Some see things as they are, and ask "Why?"   I dream things that never were, and ask "Why Not".  
Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.  
Old Chinese Proverb

Tuesday, August 27, 2222

How To Get Comments Approved On This Blog
PLEASE Read This Article!

One of the onerous jobs one has when running a blog like this is "moderating" comments. I USED to have an "open door" policy about comments - anyone, including "anonymous", could post anything they wanted.

Unfortunately, some users abused this trust by planting "comment spam"on my site, so I had to take the unpleasant, (but necessary), step of forbidding any hyperlinks on my site(s).  For a more detailed explanation of this, please see my earlier posting We Interrupt This Blog For An Important Announcement.

I don't know why, maybe people don't read the BIG disclaimer prior to creating a post, or maybe it's a part of their signature, but I still get comments with embedded hyperlinks.  To make matters worse, Blogger will not let me edit comments.  Period.  Even if it's only to X-out a few %$#@!'s here or there.

This puts me in the unpleasant position of having to delete comments that might otherwise contain useful content, simply because they contain active hyperlinks.

So, please hearken to my plea:

If you want to get comments approved, don't include hyperlinks!

What say ye?

Jim (JR)

Sunday, February 19, 2017

HP OfficeJet Pro 6975
How to clear a Printer Failure 0x6100004a


Today I had an interesting experience with a (relatively) new Hewlett-Packard OfficeJet Pro 6975 Multi-Function Printer.  I encountered a strange "Printer Failure 0x6100004a" error.  Since extensive research online didn't disclose a fix, I decided it was time for another QA Tech-Tip!

When I attempted to print something today, I received a "Paper Jam" message instructing me to remove the back panel and/or the AutoDuplexer attachment and clear a paper jam.  After verifying that there was no paper jam, and that paper was loaded, (as sometimes if the paper pick-up rollers miss a sheet, it reads as a paper jam), I dismissed the error.

It is interesting to note at this point that the OfficeJet Pro 6975 doesn't have either a removable back panel or a removable "auto-duplexer".  Maybe it's time for a firmware update to the on-screen error messages?

The printer then threw a "Printer Failure 0x6100004a" message, instructing me to turn off the printer and then turn it back on again.  Of course, "If this error persists, please contact HP".

The characteristics of this issue are as follows:
  • The printer throws a "paper jam" error even though there is no paper jam present.
  • Clearing the error by pressing "OK" on the front panel display ultimately ends up with a "Printer Failure 0x6100004a" message, at which point the printer will not do anything else.
  • Attempting to shut-down the printer may cause it to hang at the "shutting down" screen.
  • "Resetting" the printer by the usual "user-mode" methods such as turning it off-and-on, disconnecting power, applying power with the "Power" button pressed, etc. does no good.
It turns out that there IS a solution and it's (relatively) easy to do.  It's just hidden within the printer's hidden System Support menu.

What appears to be happening, (at least this is what the chat representative at HP told me), is that - for whatever reason - the printer gets "stuck" in a "paper-jam" mode and can't get out.  This makes the printer think that it has encountered a hard failure.  It stamps its feet, has a tantrum, and refuses to play.

Here's the fix:
  • With the printer on, and stuck in this error, return to the "Home" screen somehow.  You will probably have to "OK", "Hide", or whatever your way back to the "Home" screen.
  • Find the "Back" button.  It's in the lower-left corner, just outside the visible area of the front panel's screen.  If you can't find it, just touch something, (like "Copy Document"), on the home screen and it will light up.  Once you find it, press it to go back to the home screen.
  • Even though it is not lit, press it four times in succession.  You should be rewarded with a blank screen with "Support Menu" at the top.  Getting it to happen can be a bit tricky as the taps have to be right on the button, even though dark, and there's a certain technique to it.  If you don't get the support menu right away, take a deep breath and keep trying.
  • Once you get to the "Support Menu", tap on the words "Support Menu" at the top of the front panel display to enter the Support menu.  Once you do this, you should see something like "Support MCP2C11234ABC" on two lines.
  • At the bottom of the screen you will see a big "X" in the lower left, a left bracket "<" a right bracket ">", and the word "OK" on a blue background.
  • Press the right bracket ">" twice until you see "Resets Menu".  If you accidentally hit the left bracket, or hit the right bracket too many times, keep pressing it, it will eventually wrap-around and bring you to the "Resets Menu".
  • Select "OK, and you will see "Country/Language reset".  Press the right bracket and you will see "Partial Reset".  Pressing it again will bring you to the "Semi-Full reset" prompt.


At this point, you are just about to do what HP calls a "Semi-Full" reset.  When you press the "OK" button, you will reset any customizations you have made to the printer - in essence nuking it back to the Stone Age - and once you press it, it takes effect immediately!

Go ahead and ask me how I know.  I was repeating these steps for the sake of this article, I got to the final "OK", and pressed it to see what the confirmation prompt would be.  Guess what?  There wasn't one!  All the printer's setup that I had laboriously restored prior to writing this article, gone!

When you perform the Semi-Full reset you:
  • Reset most, if not all, of the internal states and registers of the printer.
    (This is the step you want, as it clears the paper-jam state.)
  • It will also reset the printer's
    • Language
    • Region
    • Paper size/type
    • Network settings (both wired and WiFi)
    • Fax settings, including auto-answer, fax ID and number, possibly including the phone book, junk fax blocking, etc.  I don't use the phone book or junk fax settings, so I don't know if they get nuked.  I would expect them to be nuked though.
    • HP Web Connect and any other on-line services like "instant ink"
    • Internal printer settings like print-head alignment.
    • And maybe a few others I don't remember.
In essence, you will be doing the equivalent of an Out-Of-Box setup when you are done, or as the HP chat representative told me: "this will reset all the printer settings to factory defaults".

(I sure hope you have your settings written down!)

Are you ready?

Go ahead and press "OK". . . . . .

The printer may make a noise, (or it might not), it will appear to "hang" for about thirty seconds or so, and then it will turn off.

When you turn it back on, you will be confronted with the HP logo for a moment or two, and then you will be brought to the language setup screen, where you will begin configuring the printer as if it were brand-new, right out of the box, all over again.

You might be tempted to "restore" a saved settings file you might have for this printer.  I'd recommend against it - you're trying to clear out the cruft, remember?  Who knows what odd-ball cruft might be hiding in that file?

Once this is done, the printer should be printing again, and you should be a Happy Camper!

Update: 01/15/2018

This error appears to be caused when the printer cannot pick up a sheet of paper, throws a paper-jam error, and the error is not resolved after several retries.

The USUAL culprit is a legitimate misfeed - the paper wasn't picked up by the paper pickup roller.  And what usually happens is that you go thorough the whole "paper-jam" drill, open up everything, re-seat the paper, etc. etc. etc. - and you end up with a working printer.

You can try the following to convince your printer to play nice:
  • Remove the paper and make sure it's not unusually slick or slippery.
  • Look for anything that might cause sheets of paper to "hang" or stick to each other, like humidity, dampness, something sticky on it, a dented edge, etc.
  • "Fan" the stack of paper by holding it up on it's edge and running your thumb through it causing all the pages to flippppppp like a fan.
  • Try turning the stack over.
  • Change the paper, or - if the printer's getting low - add more.
If that doesn't fix it, the printer throws another paper-jam error, and hopes this will resolve it.  If the paper still doesn't feed, you get the, now famous, "Printer Failure 0x6100004a" message.

In many cases the paper misfeed is a temporary occurrence, and a reset usually clears up the problem.
If it still isn't behaving itself after a few resets, then maybe you need to call HP.

Observations?  Comments?  Post 'em below!

Thanks for watching.

Jim (JR)

Wednesday, November 11, 2015

How to remove "For Other Computer" from your rules
Surprisingly, it's easier than you think!

Outlook is a great little e-mail client with a rich feature-set, and I have been using it for many, many, many, years.

Like any piece of software, it does have its little quirks and the occasional speed-bump that you have to deal with.  For example, migrating your user settings isn't as straightforward as you might expect.

Another little quirk comes when you migrate your rules:  It's not uncommon to migrate rules from one machine to another and then discover that - at least some - rules have "For Other Computer" appended to the rule name.

What's even more annoying is that there appears to be no way to remove it.

Since this has been annoying me for a while now, I decided to search The Usual Fountains Of Wisdom on the internet.  Surprisingly, no one seems to have addressed this specific issue.  Since there are any number of postings on various fora asking this question, and since it is so easy to fix, I decided "It's Article Time!"

Part of the problem is that the vast majority of the Fountains Of Wisdom assume (!!) that if you're using Outlook, you are using it with an Exchange Server.  And yes, Outlook is uniquely qualified to work with Microsoft's Exchange Server hosted e-mail.  However that's not the only way it can be used, as it works equally well with Pop/SMTP or IMAP mail servers, and it appears that a great many people use it that way.  Including your Fearless Article Author; as I have been using it as a Pop/SMTP mail client for years and years, and years.

Why does this happen?

One of Windows' many features is that it can be set up in such a way that users can log in from different machines and still see the same basic configuration.  This is done by use of what is called a "Roaming" profile.  These are settings that are linked to the user, instead of the machine, and are commonly used in a remote access / Terminal Server type environment.  By using the Windows Roaming Profile, a particular user can use any number of different workstations connected to the same server and see the same configuration each time.

A great example of this is a doctor's office, where there are computer terminals in each treatment room, and another computer in the doctor's actual office itself.  In this case, using roaming profiles, the doctor can go from treatment room to treatment room, always seeing the configuration that he's most comfortable with.

What about e-mail?  In this case, there may be a difference.  While the doctor may wish to view, and perhaps even answer e-mails from any terminal in any one of the treatment rooms, he may want to segregate certain - possibly confidential - e-mail messages so that they download and are stored only on his office computer, instead of any open terminal he may be at.

This is done by setting a special attribute - "On This Computer Only" - when creating a rule.  With this attribute, a particular rule will only be run when the doctor is at the specially designated computer located behind locked doors in his office.  A rule like this can take potentially sensitive e-mails and store them off-line on a local system instead of allowing them to be spread all over the network

One of Outlook's quirks is that if Outlook is not being used with an Exchange Server, it "automagically" assumes that any rule created should be valid only on the computer that created it.  To accomplish this, Outlook automatically sets this attribute for any rule created on a computer that uses Outlook as a stand-alone e-mail client.

Sounds reasonable, right?  Exactly right - until you decide to migrate Outlook, or your rules, to another computer!  At this point, Outlook assumes that any imported rule is not valid on the machine it was moved to, causing rules to silently "break" because they're not being executed on the new machine.  Not only do they not execute, they don't tell you they're not being executed - because Outlook "assumes" (!!) that they will be executed on the machine that originally created them.  If you're migrating Outlook to a new/different system, you're probably taking Outlook off-line on the old one, so that assumption may not be valid.

Once you do this, you find rules labled "For Other Computer", indicating Outlook believes that they are not valid on the machine you're using them on!

So, how do we fix this?

There is, probably, a Registry Setting somewhere that turns off this "feature", though I have not found it yet.

The other way is to open the Rules Manager, go to each affected rule, and un-select "On This Computer Only".

Once you do this, and save the edited rule, you will notice that the "For Other Computer" designation has been removed.

You repeat this for every rule you have with "For Other Computer" next to it.  If you have a lot of rules, I can't tell you how to do this in bulk, but - at the very least - it can be done.

And, since it is such a simple fix, I am surprised that no one else has mentioned it!

Well, it's been mentioned now - and I hope you find it useful.

What say ye?

Jim (JR)

Thursday, September 17, 2015

OOPS! - When disaster strikes
Safely removing large USB Flash Drives (Part 5 of a Series)

Hello again!

Everyone has, and loves, the USB flash drives, (also known as "thumb-drives" or "keychain drives"), because they are both small in size, and (relatively), massive in capacity.

Right now, 128 gigabyte flash drives are common, and I wold not be surprised if 256 gig flash drives are available when I make my next visit to Micro Center.

And this is good.  I can pick up an entire copy of either my, or my wife's e-mail store and move it from one machine to another - sans network.  Likewise, I can go visit a client and carry what used to be a whole briefcase of CD's and DVD's in my pocket.  I can even place entire operating systems on relatively small flash media - I have a 16 gig thumb-drive that can cold-boot any one of eight different Linux images, (four different versions, in both 32 and 64 bit), of Mint 17.1.

And so on. . . . .

We all know to "safely remove", (unmount / eject), the flash-drive before we just yank it out, to prevent the data from being scrambled.  We do the "safety dance" routine, and remove our media, confident that by the time the little task-bar pop-up comes along, we're golden.  Right?

Ahhh. . .   Not really. . . .

You see, it's not that simple anymore.  Especially with flash drives.

Long ago the computer's "silicon" - processing chips -  became faster than the hard drives.  To reduce hard drive latency and I/O bottlenecks, operating systems implemented a policy of "Lazy" writes, and cached data.

What this means is that the operating system would allocate a fairly large chunk of memory as a very fast buffer for frequently used data.  Windows would read and write to the memory buffer and then - later on when things weren't so crazy - it would write any changes made back to the hard drive.  So when the computer was "busy" - refreshing the screen, or doing something complicated - it would postpone refreshing the disk until it was finished and waiting for you to do something like typing or moving the mouse.

However. . . .

As I mentioned in a previous article - The 2000 Gigabyte Gorilla - hard drives themselves began implementing a "lazy write" technology to help ease the I/O burden.  Fast cache memory on the drive makes the drive look faster than it really is.  The result is that the hard drive would report success before the data was actually and truly written.


So. . . .  The operating system people and the hard drive people got together and implemented a new hard drive command - flush data - which is supposed to absolutely, positively, guarantee that any changed data was written before the "success" signal was received.

The whole idea behind "safely remove", (or "shutdown"), is that the user's command to remove the media, (or shutdown the computer), would force a data cache flush to the physical drive platters, updating everything before the drive was removed, guaranteeing consistent data on the drive.

However, as the author of the article, How important is the hard drive cache? mentions, the things that make this true for actual, physical, hard drives are no longer true for NAND / NOR flash memory drives.

Double oops!

The wherefore behind the "why" in all of this is due to the way flash memory works.
  • Flash memory is organized into "read blocks", larger "write blocks" which are groups of many read blocks, and huge "erase blocks" which contain a very large number of write blocks.
  • "Read blocks" are tiny blocks of data that you can read whatever and whenever you want.
  • "Write blocks" are large groups of "read blocks".  To write even the smallest amount of data, you have to read and modify the entire write block, copy it to an unused space within its local erase block, and mark the old write block as "dirty" (unusable until erased).  Once a write block has been written to, it cannot be reclaimed and re-written until the entire erase block is purged.  The only thing you can do is mark it "dirty" and try to find another unused write block.  If you have a lot of data to copy, you do this write block by write block, over and over again.
  • "Erase blocks" are gigantic groups of write blocks.  If there are no free write blocks within the existing erase block, you have to copy the entire erase block to a free area, (an entirely empty erase block), with the new data included - and then erase the entire old area, since you can't erase anything smaller than an entire "erase block".
So, for any kind of serious data access where there is both reading and writing going on, this can become a non-trivial, time consuming process.  And flash drives hide this process from the O/S.

When the flash drives were small - measured in megabytes, or even small numbers of gigabytes - this time lag was not really a problem because the actual size of the memory array was small enough so that this overhead was not noticeable. Now that flash drives have become hundreds and hundreds of gigabytes in size, the overhead for writing - and the associated time lag - can become huge, even when measured by human time standards.

What this all adds up to is that the operating system - and this includes Windows, OS/X, and Linux - can no longer reliably predict when the flash media has been fully updated, and the "safe to remove" prompt may not be true anymore.

So far, (as far as I can tell), the ONLY way you can tell if the flash drive is really ready to be removed is to watch the activity LED and wait for it - eventually - to stop.  And that might not even be long enough, as I have seen the LED on a flash drive flash and stop on a "remove" command, and then suddenly re-start just as I was about to remove it.

The result of all of this, is that unless you are very, very careful when removing flash media, you can inadvertently end up with a corrupted flash drive.

What say ye?

Jim (JR)