Tek Evil: Repairing MDO4000C Series MDO4014C stuck at splash screen on start

I recently got a repair evaluation order that took me two intense weeks to nail the problem. It’s a MDO4104C that does not get past splash screen.

Worst of all, the unit failed right within 3 months right after the warranty expired. The unit didn’t show signs of heavy use. In fact, I nailed the problem so I can tell for sure the unit DIED OF NATURAL CAUSES. It’s not the first time I (and other people on forums like EEVblog) bitch about Tek designed their unit to last beyond the support/warranty period. This one takes the cake.


Basically everything in MDO4000C series happens in the main acq board. Anything that goes wrong there you might as well just buy another unit.

It runs embedded linux (uboot) and it’s slow to boot as I always expected from Tek (Keysight/Agilent use VxWorks for their modern embedded scopes and they boot fast).

There are no UART debug consoles anywhere and the only two test points with digital signals that idles high at 3.3V. The data pulses are quite long for the frame, and one of them looked more like clock bus in either SPI or I2C. So no UART. The firmware file mentioned BDI3000, which is a JTAG, which I suspect there’s a 10 pin IDC (ribbon) port on the right hand side of the main acq board, but this is as much as what I can get getting debug info.

There’s a RS-232 driver chip on the peripheral board, but it goes to the ID pin of the VGA port. I didn’t see any data traffic on it on boot.


Getting stuck at the splash screen practically tells you nothing about what’s wrong. The only thing you can infer from it is that the unit powers on and the display/keyboard is good. This is pure evil. HP/Agilent/Keysight designed their products to make it easy to service, and Tek has always been a pain to service, and the new ones are no exception.

They don’t even mark the grounds in test hook points. It’s just a bunch of TPXXXX numbers. Apparently they are there for testing the design, not repairing it.


It’s obvious from the way they designed their product to the service manual, Tektronix definitely don’t want any people to do board level repairs: ultimately they want you to blindly send it in for factory repair within the first 5 yr of production, and make you buy a new one if the model is discontinued.

Despite I hated it, Tek has a valid strategy. If a product is cheaply made, even at the cost that it only last long enough through their warranty period, the manufacturer doesn’t even need to bother with board level repairs because it’s cheap for them to just give you a new board/unit instead of figuring out what’s wrong with it.

Putting the frustrating to use UI designs aside, Tek works if you are a company buying the scope for a short 3 yr project. I wouldn’t recommend Tek at all if you plan to buy it for a long haul (because they are not designed to last given ones I’ve serviced), or plan to use it as a daily troubleshooting scope (because their user interface is slow and clumsy).

Tek has a huge following from the analog days when they did things right. Ever since the digital age, the learning curve for Tek’s UI was so steep that inevitably it turned into a customer lock-in where Stockholm syndrome kicks in.

Nonetheless, Tek was a little ahead of Agilent in terms of the MDO concept that correlates time domain measurement with the built-in spectrum analyzer. If that’s a feature that is important to you to the extent that you are willing to live with Tek’s clumsy UI and it might break down right after the warranty expires and it’s nearly impossible repair it yourself, it’s reasonable to go with Tektronix for this one given the lack of functional alternatives. Do NOT get MDO3000 series for this reason though, since the spectrum analyzer and oscilloscope are not time-correlated there’s no material innovation out there. MDO4000 series and up are time-correlated with the spectrum analyzer.

Again, I’m not saying Tek is bad. Tek is just mean towards their customers from a product design’s point of view, when you contrast them with how considerate (nicely thought-out) HP/Agilent/Keysight products are designed. Tek is still much better than the RCCC (Random Cheap Chinese Crap) in every way.


EDIT (2017-07-02): I just got a call this morning from somebody who bought a TDS 220 from me years ago. The BNC connectors broke off and he has found somebody selling a kit specifically to fix the problems in TDS 200 series. That’s pathetic. I knew the design was obviously flimsy back in the days, but I trusted the Tek engineers knew what they are doing given their brand reputation. Turns out common sense is right. A bad design cannot last even if they had solid parts/manufacturing.

From my experience opening up many Tek and  HP/Agilent/Keysight units so I can compare their mindfulness, I can see that Tek is one of those high pressure companies that cut corners to get stuff out fast with low manufacturing costs. It’s not necessarily a bad thing from a business standpoint, it’s just Tek and HP/Agilent/Keysight operate with very different set trade-offs (or say, philosophy). Apparently Tek’s kind of trade-offs makes their used equipment a terrible choice unless it’s covered by their extra warranty.

Since I deal with old gears, I’m not impressed with the outcomes of used Tek products that I have/had. If I were to buy from Tek, I’d rather lease it since I don’t expect their products to last beyond their warranty period without multiple breakdowns that are costly to fix. My experience with used HP/Agilent/Keysight gears is that the problems are more predictable, limited to a small area and easy to reach and fix. For example, the caps in power section and CRT driver of TDS 500~700 series starts to fail, and the flyback transformer dies year after recapping the SMDs, and the units were just sitting there, not actively used. On the other hand, early 54600 series are almost always problem free other than an occasional cheap capacitor in the CRT driver drying up. This gave me a very bad impression about how Tek’s made their stuff.

Even if I could lease Tek products on other people’s budget, I still won’t consider until they radically changed their clumsy user interface and dumb autoscale mechanism that doesn’t even detect all channels and show you all relevant signals.

So far I haven’t see the kind of extra attention to detail in Tek products when I put it side by side with HP/Agilent/Keysight. This is how corporate culture reflects in their products: if you treat people well and trust them, they’ll get to all the nooks that managers and processes can’t reach and do it right. Tek just did enough that it will work as marketed, but whatever that’s cannot be objectively claimed in the advertisements, you are on your own.


I have spare parts to repair MDO4104C, MDO4054C, MDO4034C, MDO4024C

If you have an oscilloscope that you’d like to send it to me for repair evaluation (no fix, no fee), please call me at 949-682-8415 or email owner@humgar.com.

Loading

Keysight Calibration (Performance Validation) for Probes Specifically 1152A

I recently sent a 1152A probe for calibration and was surprised to find out the data on the calibration report tells little about how the tests are done and under what settings. I searched the throughly and called tech support and they confirmed my observation the performance validation procedures are not mentioned anywhere in the published documents.

I called Keysight cal department and was able to reach a super-helpful tech, Markis, who did the calibration for my 1152A probe and he explained to me how the calibration process is done when I called.

HP/Agilent/Keysight probes using AutoProbe interfaces are powered by 1143A (that was intended for 54701A probes) through a N1022A adapter (the one used in 81600 Infiniium DCA) for Keysight’s calibration process, which measures uncompensated probe-only performance. I saw the calibration reports from 3rd party-labs, and probes are are calibrated inside the oscilloscope they are used in, and therefore it’s measuring a compensated system (scope+probe) performance.

There is a 30 minute warm up period.

The procedures resembles to what’s detailed in the old 1144A probe user/service manual, (page 10-14) with the exception that the ‘Gain Accuracy’ done there is ‘AC gain accuracy’ (at 1kHz, 1Vrms) instead of ‘DC Gain Accuracy’ claimed on the report. In fact, given that it’s simply measuring relative error (multimeter reading of the probe BNC output divided by the 5V Fluke Calibrator reference) at one voltage setting, I believe it should be called ‘DC measurement accuracy’. The number on the calibration report was divided by 10 times since 1152A is a 10:1 probe.

The bandwidth test for 1152A is simply looking at attenuation at the advertised bandwidth (2.5Ghz for 1152A) relative to 50Mhz (low frequency reference set at 0dBm).

 

 

Loading

MX Linux 18 setup notes

I tried Ubuntu on my old laptop, but it was unbearably much slower than that Windows 7 so I was looking for lightweight options. After some shopping, I settled on MX Linux as the drivers worked right of out the box for the hardware and it gave me the best user experience so far.

Other than responsiveness, the deciding factor that moves me away from Ubuntu is the amount work required to get the basic things working out of the box. Internationalization is almost fully configured in MX Linux, while I had to jump a few hoops to get the VL Gothic (Japanese) font in and struggled to get the IME to switch using Ctrl+Space / Ctrl+Shift (or any default shortcut keys) like in Windows. In MX Linux, they are the defaults right away.

I was really turned off by the fact that Ubuntu’s (minimal install) default Archive Manager is half-working out of the box: I get weird errors and partial success extracting RAR files because unrar was not installed by default! It just showed the lack of consideration about user experience.


MX Linux defaults to ibus, which works right out of the box with mozc (Japanese) language support. But I’d like to have a Cantonese IME that allows me to swear (the ibus-table-cantonese package was censored), so I opted for Andrew Choi’s CAP, which runs on fcitx. He used to have an iBus version, but it was a decade ago and I couldn’t get it to install.

Turns out it’s not that MX Linux is not that prepared when you want to use Fctix. None of the languages shows up when I tried to add an IME! After a lot of googling, I realized it requires im-config, and you need to install zenity before installing im-config!

After that fcitx works like a charm: mozc, CAP works in harmony, and I can turn the IME on/off by Ctrl+Space and switch between IMEs using Ctrl+Shift (just like in the old days)


EDIT: After all the praise I have on MX Linux. I noticed it overlooked something very basic! It does not make you configure timezone during setup and it’s not easy to change it! To do it the GUI way, first you have to go to “MX Time Settings”, and you have to type in the EXACT timezone string (TZ database name)! Geeze! It’s so caveman that we still have to do this in 2019!!

How did I noticed that I forgot to change the timezone? I realized the time in my Windows keeps getting changed (suspiciously a time-zone offset like difference) after I booted into MX Linux and boot back to Windows. That’s insidious!

Loading

Getting MX Linux Samba to work naturally with Windows Network

I normally disable “Computer Browser” service in Windows by default because multiple computers having it on causes errors showing up in event log complaining there are multiple masters, and it’s not necessary for my simple home network because I’m just using a workgroup (no domain controller).

However, today I found out that even after setting up MX Linux’s Samba correctly (see below), if none of the computers on my windows network runs “Computer Browser”, my Windows computer name will not show up in “Thunar File Manager” although I can access it with smb://, and linux computers running Samba server shows up fine.


There’s also another twist to get the SMB client to work in Thunar File Manager. Despite smbtree works right out of the box (it detects the Windows shares), I’ll have to add this line in /etc/samba/smb.conf for the file manager to even probe the list of computers (not timeout):

name resolve order = bcast host

The point is to use broadcast lookup BEFORE dns lookup. DNS lookups for my local resources are often temperamental (could it be my router?), and I saw Linux Mint working with Windows briefly without these settings (editing smb.conf and also enabling “Computer Browser” service in Windows), but it failed today even after I re-installed MX Linux from scratch.

The other lines mentioned like client max protocol = NT1 and netbios name mentioned on the forums are not needed.

After configuring it. Restart smbd:

sudo /etc/init.d/smbd restart

 

Loading

Spyder on MX Linux

This is another example that non-commercial (open-source) Linux/Python does not have a feel of a finished product: things break out of the box when installed fresh, in the most simple, expected ways, without any tweaks.

Again, don’t get me wrong, open-source free software are good stuff (more modern concepts and people working on it for free), but it’s never going to beat professional companies (like Microsoft/MATLAB) in how well-funded they are so they can maintain their software and the user experience using their profits. So far, users are still expected to put up with a bunch of unjustifiably unnecessary work to get to where they want to go with community-maintained software like Linux/Python.

This time I’m installing Spyder on MX Linux. Look at how many damn hoops I have to jump to get Spyder 3 to function properly there:

  1. I installed python3-spyder from MX Package Installer
  2. Spyder complained about missing rope on start
  3. Installed python-rope on MX Package Installer. The complaint still won’t go away
  4. I tried follow the instruction sudo pip3 install rope_py3k  and realized pip3 was not installed already with the Python that came with Spyder! (Didn’t have the problem with the Windows counterpart).
  5. Installed python3-pip from MX Package Installer.
  6. Came back and run pip3 install rope_py3k. It choked at "Command 'python  setup.oy egg_info' failed with error code 1 in /tmp/pip-build-0nnknjhi/rope-py3k". Again, known problem.
  7. Followed the solution in the comments pip3 install --upgrade setuptools
  8. Then come back and run pip3 install rope_py3k again. It says "Failed building wheel for rope-py3k" in between, but nonetheless I’ll try to move on since it says "Successfully installed rope-py3k-0.9.4.post1"

Then Spyder launch uneventfully.

These are not design decisions (sacrificing one quality for another), but inter-operability wrinkles that nobody are paid enough to do the grunt-work babysitting it. So if your business profits heavily from it, consider sponsoring the developers!


It’s also slightly annoying that the version of Spyder maitained in MX Linux’s most recent repository is a little older than what’s actually available (3.1.3+dfsg1-3 instead of 3.3.4).

At first I followed instructions to have PIP to update it: pip3 install -U spyder, but it doesn’t work. I got a lot of “failed building wheel for (package)” error.

I also realized the Python that came with it is 3.5, not the 3.7(.3) I had in Windows. I checked the MX package manager and indeed it stopped at 3.5. After some searching, I learned the base system package was frozen in 2016! MX Test Repo (at your own risk) has Python 3.7 though.

Loading