Posted on

MacBook Pro Video Problems Solved

I’ve posted about this a few times on this site and now I feel like a fool for not discovering the problem sooner.     I’m not 100% certain if the issue is an HP monitor issue, a cable manufacturer issue, or and Apple hardware/OS/firmware issue.   All I know for certain is that a couple different brands of cell phones will cause my monitors to lose video signal and “flicker” on/off or show video artifacts.     Sometimes the video loss runs in cycles as fast as 1-second on/ 1-second off.  Sometimes the monitors power off for minutes-at-a-time.     Sometimes I just see horrible bands of pixelation run horizontally or vertically on the screen.    In many cases OS/X starts logging all kinds of video events in the system logs, but I am certain that is a side effect of a video data error that is not being handled as well as it could be.

At the end of the day the problem is easy to fix.   Move my cell phone away from my monitors.

Turns out that ALL THREE of my phones, an older HTC Incredible, a newer HTC Incredible 4G LTE, and a brand new Samsung Galaxy S5 all cause the problem.    It also turns out that the problem varies in intensity based on the lunar cycle and its alignment with the solar winds or some other cosmic crap like that.     What I do know is that when the problem starts my productivity goes to hell and as I can never guess when I can see my code or my browser.

For some reason the electro-magnetic fields (EMF) from the phone are causing all hell to break loose on the displayport video communications to/from the monitor.   That causes a cascade of problems which inevitably results in a monitor powering off or a black screen where video should be.     After multiple red herrings, running down innumerable rabbit holes, and even going so far as to not only swap video cables and monitors but also a brand new MacBook Pro,  the real issue is basic electro-magnetic interference and the solution is as simple as “move my cell phone”.

Here is the recap I sent to Apple Support today regarding the issue.   Hopefully someone will stumble across this online and save themselves some headaches as well.


Apple Support Communication

I finally figured out the monitor flicker, power cycle, and pixelation artifacts problem with my monitors after MONTHS of dealing with the issue.

This is really crazy, but it is without-a-doubt what is going on here:


I haven’t yet narrowed down the issue to exactly what the root cause is, but here is what I know for a fact:

1) This happens with my older HTC Inredible 4G LTE phone.
2) This happens with my new Samsung Galaxy S5 phone.
3) This happens ONLY on displayport but HDMI does not appear to be impacted.

4) The problem appears to only happen with the phone is within 5cm of the monitor end of the displayport cable.

5) The problem happens on the HP ZR2440w monitor and other HP monitors using DisplayPort as well as a Samsung monitor using DisplayPort  (I no longer have that monitor, wish I could re-test).

6) Portrait or landscape mode was a red herring.

7) I could not reproduce the issue by placing the phone near (even touching) the MacBook end of the displayport cables.
After 5 days of trying to capture the behavior with my camera-phone and the problem suddenly going away after picking up my phone it finally came to me.      Move the phone back and TOUCH the display cable… bam powers off the display like a wireless power switch.     Move it away, pixelation, then the monitor comes back on.

I then tested the FIRST displayport as I have only seen this happen on the 2nd displayport (furthest from power port on the MacBook) and like magic the first monitor turned off as soon as I touched the phone to the cable.

After multiple tests I’ve learned that I need to just be close to the cable (it is not a physical cable connection issue, verified that a few times).   Within 1-2cm the monitor powers off 60% of the time.   Within 2-5cm the monitor may power off (10% of the time) or display pixelation artifacts or the notorious “ants” problem (30% of the time).

It *may* be the minidisplayport-to-displayport cables I am using, however I have swapped out these cables and at least one set of cables is NOT from the same manufacturer.

To be determined:

a) Is this a cable shielding issue?
b) Is this a monitor build issue?

c) Why does the software react to EMF introduced at the hardware level?   (bad error checking/trapping in the video processing firmware/software?)

Just though I’d share so you can close this ticket and possibly disseminate this information to support channels.     I’m guessing my cell phone is not the only possible source of EMF that can cause external display issues.   Given the number of online posts about similar problems I would venture a guess that more than a few Apple support calls and hardware returns may be related to similar EMF-related issues.

I am very techy and know all about EMF but it never occurred to me that the EMF from my phone would affect a displayport signal to the point of being able to actually power down a monitor IMMEDIATELY.

Good to know what it is.  When I have more time I’ll do more homework and post my findings online.

In the meantime I’m relocating my phone charging cable to not be under my monitors.
Posted on

Fighting Floods and Untangling USB Mayhem

Flooding USB Bald Banner

I’m sitting here looking at the time on my computer.   1:13AM.  A late night and I got almost NOTHING done when it comes to the code and projects I wanted to wrap up today.  Why?   Well a lot of things.

Flood Fighting…

First the flood.   Even though the main event was a week ago, I have been continually side-tracked every day since.   You’d think a minor amount of water damage wouldn’t be so disruptive but damned if it hasn’t consumed at least 20+ hours out of my past 6 days.    Today was mostly spent on the phone with contractors to get quotes on fixing the damage so I can go back and battle the insurance company and their ludicrously low quotes.   That meant hours of conversations followed by hours of on-site visits all just so I can spend hours arguing with the insurance company about how impossible it is to get the job done less than half the rate any competent contractor has quoted.

If only the insurance adjusters were required to take the discrepancies out of their salaries.    Even better,  take the average of 3 competitive quotes submitted in a blind bid.  Lowest contractor wins the job BUT the price difference between what the insurance company put on the quote and the real cost of the job is DOUBLED and paid to the contractor (or homeowner).    I guarantee the $10k “estimates” and ensuing check the insurance company offers for a $25k job would stop in a hurry!


Untangling USB

To add some excitement, the flood problems gave way to some complex technical issues to deal with.    I decided tonight was as good a night as any to  learn a TON of stuff about USB ports and protocols.    Stuff that I don’t think will EVER relate to WordPress plugin programming.   At least I hope  not.

Why did I take this side diversion into USB protocols?   Because my mouse would not work at the same time as my keyboard.    That REALLY makes it difficult to program.    The odd part is it WAS working just fine before I plugged my phone into my computer.   Which I’ve done a million times before.

Turns out it happened to be a perfect timing issue that triggered a latent problem in the USB hubs on my computer.     My 3 new HPZR2440W monitors (which I LOVE for coding & surfing BTW) have 4-port USB2 hubs.  That is great as it really reduced the clutter on my desk.    What is NOT great is that the entire USB stack turns out to be a lot less stable than we’d all like to believe.    Very cool stuff if anyone remembers the old serial port days and having to disconnect devices any time you wanted to do anything.    But it turns out some people thought that USB2 sucked.

In a way it kind of does, only because it is very slow compared to some things like Firewire or other high-speed communication ports.    USB wanted to compete with the new shiny high-speed Apple protocols.     So they came out with USB3.      WAY faster.    Same physical ports as USB2 other than the blue color.  And FULLY backward compatible with USB2.

Turns out that last part… it’s a bold-faced lie.    Sure it works MOST of the time.  Well, OK, SOME of the time.   But in the real world it is not always compatible with USB2.

I already knew this from the days of trying to code Android apps.    Turns out a LOT of Android phones simply will not work when in developer mode and trying to communicate with a PC.     Plug the phone into a USB3 port and all hell breaks loose.     The sucky part is that SOMETIMES it works.     Often it does not.    For those of you that do ANY kind of programming you know that inconsistent, especially inexplicably inconsistent, results are the worst.    It is far easier to deal with something that fails all-the-time or at least after a predictable series of steps than something completely random.

For the non-coders, a simple analogy:

Imagine you are typing an email at your computer.   Every-so-often, at random times, someone wanders by your cube (or your couch, or wherever you sit when typing) and hits a few random keys on your keyboard.  While you are typing.    And it happens a half-dozen times while writing one short email.     That would drive most people insane.   By the 5th visit you’d probably stab that person in the hand with whatever semi-sharp instrument you could find.

That is much like what my night was like tonight.    As it turns out the USB2 hubs in the HP monitors DO NOT work on USB3 ports like in my HP laptop.    The bad part is they work SOMETIMES.    Then just “freak the hell out”.     Even worse than that, somehow the extra load of the cell phone in conjunction with who-knows-what… the phase of the moon maybe… made the problem far worse tonight than ever before.   Because I have been using this same setup for a month now with no problems I went down a LOT of other paths before I found the right solution.

Install the latest windows upgrades?  Check!

Get pissed off because they installed some new crappy apps I didn’t want (what the hell is this new SkyDrive thing anyway)?  Check!

Uninstall the crappy new apps that slow down my computer. Check!

Unplug the phone.   Check for un-confirmed firmware updates or other updates.  Yup.  Did that too.

Swap the mouse in case the cord was pinched or otherwise mangled.  Sure.  Didn’t help.

Swap the keyboard.  Again, no help.

Start unplugging every device until I was back to the bare-bones laptop.  Yup.   Start plugging everything  back in.  Sure.   Stuff freaks out again as soon as I plug in the last device.  Uh-huh.     Only this time the last devices was  a printer!  WTF!

You can literally hear the last few follicles of hair LEAPING from my head at this very moment, can’t you?

USB Conquered

At the end of 3 hours of “scratching my bald head” (normally I’d be tearing my hair out… but that hair was gone many tech dilemma’s ago) I finally found the solution.   Just 12 hours away from having the HP on-site repair tech at my door (yeah, I had HP support online as well).    For those of you going insane with random problems with your HP ZR2440W USB devices or a Logitech Illuminated keyboard, here are some short rules that will hopefully keep more hair on your head than a polished bowling-ball:

1) HPZR2440W monitors ONLY work 100% of the time when connected to a USB2 port.    Avoid USB3 on the host machine as your primary connection.

2) HPZR2440W monitors cannot daisy chain beyond 1 monitor.   In other words you cannot go from PC to Monitor 1 then Monitor 1 out to Monitor 2 in then Monitor 2 in to Monitor 3 in.   Instead do a “Y” configuration with PC to Monitor 1, then Monitor 1 out to Monitor 2, and another Monitor 1 out to Monitor 3.

3) The Logitech Illuminated Keyboard, among many other illuminated keyboards, DO NOT WORK WITH MOST HUBS.    Yes, they work with SOME hubs but not all.   It has something to do with the way they register as TWO USB devices instead of one.   I’m guessing so they have enough power to do the background lighting on the keys but that is just a guess on my part.

4) If you happen to have a 3-monitor setup like I have, do NOT plug anything to the other ports on the first monitor.  The “base of the Y”.   The other 2 monitors will not always play nice with the USB devices attached to them.

At Least SLP 3.11.12 Shipped

Luckily Store Locator Plus 3.11.12 shipped before all this happened.  I did not finish the post on what was fixed in that release because of the USB fiasco. By the time I sorted it out I needed to vent, which is why THIS post is here first.      I did get something accomplished today in the 3 hours between insurance battles and computer battles.  Somehow, though, I feel I just got my butt kicked today as I approach hour number 18 and have less than 3 hours of work and a very small patch on Store Locator Plus to show for it.

Hopefully tomorrow will be better even though it starts out with 5 hours of non-code related meetings.

At least I shouldn’t have any “tweaking out keyboards and reluctant mice” to deal with when I get back in front of this evil machine of doom and despair.

Posted on

Pro Monitors versus Home Monitors

Monitor Shopping Banner

For years I’ve been buying mid-cost monitors for my business and for my personal use.   They are not the cheapest monitors, but they are definitely in the “cost conscious” category when it comes to monitors.   My typical “pain point” is the $250 mark.    Since I like to buy my monitors “paired” so I can use a dual monitor setup I don’t like to get to far over that range.  If possible I like to be under $200 for something with good resolution.   I don’t worry too much about color both because I’m not a graphic designer and because I am color blind (yes, I can see color, but not ALL colors).   So I look for something high resolution and fairly big.     I try to get something with good customer reviews but tend to shy away from the “editor’s choice” or “top rated” monitors mostly because they ignore my $250 rule.  A few things have changed over the past year that has also changed my thinking about monitors.

First, as a work-at-home dad I am now spending all my computer time on the SAME set of monitors.  I am no longer going from a set of monitors at home to a set of monitors at work.   That for the hours I am on a computer they are always spent viewing the same screen.    That also means buying 2 monitors instead of 4.    In theory I should be comfortable with spending $500/monitor, but after more than a decade of training myself to never look above $250 it is a hard habit to break.

Second, after closing my last business and deciding to spend more time with family in between hacking WordPress plugins for a living, I hoarded a bunch of computer equipment I was interested in after the business closed.  That included a bunch of monitors (all my friends and family got upgrades, side bonus of closing a 12-person office).   I ended up with a 3-way monitor setup  as my daily setup.   To be honest I originally started with 4 monitors but my video card in the HP Envy 17 could not handle it and the desktop computer put out way too much heat.    I also couldn’t see that much real-estate with two 27-inch, a 25-inch, and a 24-inch monitor.    It also just looked ugly as the resolution was the same but pixels sizes varied widely.     But I did learn one thing, for a coder the 3-way monitor is absolutely the most efficient setup you can have.     While EVERYONE, other than the casual home user, benefits greatly from a dual-monitor setup, coders have a unique environment in which three monitors is the magic number.     There are a lot of blog articles that tend to agree with this assessment.  If you code for a living, try it and you’ll see what I mean.

Third, as I get older I find that along with everything else, my eyes can’t keep up.   I need to take breaks from being in front of the computer screen more often and my eyes are “tired” after much shorter sessions of staring down the code as I try to bend it to do my bidding.

Time For An Investment

After a month of “thinking about it”, doing research on all kinds of monitors, thinking about it some more, deciding I wanted three 24 or 25″ monitors (27″ is just far too spread out to keep everything “in my field of vision”), and then waiting/wanting/hoping the monitor I had selected would come down in price… I finally did it.  I bit the bullet and bought a higher end monitor that was a good bit outside of my $250 price point.   After selecting what I felt would be the right monitor for me, I went price shopping.    I found the best price after shipping to be at ProVantage (which, was true 2 days ago… as I edited this article to put the links in place the price has jumped by to $457.26 from $342.29…33% price increase in 24 hours!) .   Any time I need to get business class computer equipment that is restricted from consumer channels (like Amazon or Best Buy) I end up at ProVantage more often than not.  I’ve used them many times before and trust them, though they often lose out on the Amazon Prime products thanks to the shipping differential.  In this case Amazon Prime does not carry the monitor I selected, though they have other vendors with free shipping that DO carry the monitor (and are now LESS costly than ProVantage).

So I spent $350 for a monitor and decided to give it a try.     If the monitor really was the much better than ALL of the 6 other monitors I have in my household, 3 different ones on my desk alone, I would go “all in” and purchase the other 2 to round out the “pairing” or “tripling” as the case may be.

Was It Worth It?

Well, lets just say that less than 3 hours after getting my new monitor setup I ordered the other 2 monitors.   So yes, definitely worth it.  But why?

Some of the deciding factors are definitely due to the feature set of the monitor.   These features can be found on consumer grade and home monitors.    However finding the combination of ALL these things is rare, as I discovered in the month of research before making a decision.     However the PRIMARY deciding factor was the overall clarity of the monitor.     Both surfing the web and  reviewing code text was instantly clearer and more legible on the new monitor.    All 3 monitors on my desk are HP models.   They are 25″, 24″ (the new one), and 27″.   None are “low end” but tow are considered high-end and some of the best monitors for consumer use over the past 2 years.

ProVantage $350 Monitors
ProVantage $350 Monitors

What factors made me decide to swap all 3 monitors to the new one?

  • Text is easier to read.
  • Contrast is better, the difference between the light and dark tones is less “muddied”.
  • The new screen is 1900×1200 (16:10) versus 1920×1080 (16:9)… that extra 120 pixels is 3+ full lines of extra code in the same space and I really prefer the taller v. wider format.
  • The screen has 4 built-in USB ports which means I can eliminate by USB hub = 1 less device + 1 less power cord.
  • The stand rotates, tilts (a lot), and has a a great vertical adjustment.   I didn’t realize how much I missed the ability to make the monitor “tall” and get it properly in my line of site without using boxes or stands.
  • The monitor has DVI, HDMI, and DisplayPort options.  The DisplayPort means one less adapter to deal with.
  • The bezel is a matte finish v. high gloss.   This makes a BIG difference, surprisingly more than I thought.
  • The monitor has a very light anti-glare coating versus the “oooohhhh SHINY like Apple” screen which looks great when it is off or in a dark room but otherwise makes a great mirror.
  • Did I mention text is easier to read?   A LOT easier.

Granted some of these features can be found on other monitors, but ALL the features in one place?  Not so much.    In addition there are some other features I like that didn’t push me to the decision but I still like the thought such as the down-facing connections so I can get the monitor tight to the wall if I decide to mount it like the old monitor (going with a 3-way stand for now).   The neck of the monitor has a pop-out plate for routing cables THROUGH the neck, keeping them neatly corralled near the base of the monitor.    The control buttons are right on the front of the bezel, while behind-the-bezel buttons look cleaner it is a major PITA for the one time you need to adjust something and cannot find the buttons… really for a work computer I don’t care and don’t even see those 4 small buttons on the front while I’m working.     The stand attaches and DETACHES with the best neck-to-monitor system I’ve seen yet.  It snaps in place and a push of a button releases it for when you want/need to attach your wall mount or tri-stand when they arrive 6 hours after the monitor did… which you had to open right to play with and thus attach the neck even though you knew more parts were coming.

So What Did I Get?

My final choice was the 24″ HP ZR2440w.    Below are a couple of pics that show the difference between this monitor and the HP2509M when viewing text.   Besides the moire patterns inherent in non-synced digital imaging of displays, you can also see a distinct difference in contrast and clarity.  Using a digital camera highlights the difference more than is perceptible to the naked eye, but as my code-geek buddy Rob said as soon as he saw the ZR2440 today… “Holy Crap!  I can even see that text from here without my glasses on.”    That is saying something as the monitor is a 24″ versus the 25″ and 27″ it sits beside.

HP ZR2404w versus HP 2509m
HP ZR244ow versus HP 2509m. The text clarity of the professional ZR2440w compared to the consumer 2509m is astounding.

The other picture is of the monitor itself with camera flash on versus the HP2711x monitor.    Both the HP2509M and HP2711x are designed as “look pretty on the shelf in the retail showroom” and “look nice when watching Blu-Ray DVDs in a dark room”.   They do look great if you play games & use the monitors for home theater in controlled lighting conditions.  But during a normal work day with daylight coming in a window and nothing-but code and base graphics on the screen the  ZR2440w blows them away.   No contest.    You can see how big a difference the little bit of anti-glare makes versus the consumer monitors.   Every light source reflects, whether you notice it or not, on the “oooohhhh sooooo shiny and Apple-like” monitors.  That is NOT a good thing for coding as all those light sources are competing for attention when you are looking at the screen.

HP ZR2440w for Code
HP ZR2440w for Code. The camera flash is on to show the glare from other light sources. Glare is minimal.
The HP 2711x glare is very noticeable versus the 2440w.  Good for movies in a dark room, not so much for coding.
The HP 2711x glare is very noticeable versus the 2440w. Good for movies in a dark room, not so much for coding.

I had considered a few others but the reviews, features, and pricing all came together for me with this monitor.    I wanted 24″ or 25″ for the triple setup.   I wanted VESA mounts so I take up less desk space with stands.  I have a wall arm that takes ZERO desk space and LOVE IT, so the triple stand with a single footprint may work but I feel I’ll be doing 3 swing arms soon.   I also wanted native DisplayPort and HDMI connections for my HP Envy 17.   That is because the laptop can drive 2 DisplayPort monitors AND an HDMI monitor at full resolution and full refresh rate.  If you use adapters on the DisplayPort connections and drive 3 monitors weird things can happen to the refresh rate or resolution.

So 24/25″, Vesa mount, and DisplayPort + HDMI connectors limited the marked to surprisingly few monitor choices.    A Dell monitor was in the mix and some lesser-known off-shore brands that had good reviews.  Maybe the off-shore would have worked but I’ve learned to go with quality brands you know.

In the end the HP ZR2440w turns out to have been a great choice.     Sadly so, possibly.    Now that I’ve spoiled myself with this level of display I doubt I’ll ever go back to anything less.  In fact I’m wondering how much nicer the $1200 displays I was briefly contemplating really look with all that color perfection.     Good thing I’m color blind and can talk myself out of those options!