Switching oscilloscope attenuator relays with H-bridge driver IC

One day I was working on an old first generation Agilent Infiniium oscilloscope (namely 54810A) while I was too tired and rushed, I accidentally short-circuited the main acquisition board because I forgot to reconnect the probe-compensation port pin back to the acquisition board after taking out the front-panel and putting it back: the jumper with exposed metal (the heat-shrink over it was a little short the way Agilent manufactured them) swiped over something and I heard a loud bang, the scope shuts off, and I smelled the magic smoke.

My heart sank. Just saving a few extra minutes being careful checking everything (despite I opened and closed those front panel ten dozen times) I thought I lost an expensive PCB that’s almost the cost of the whole oscilloscope, and even if I can fix it, it might drain me at least a week.

Given that I know a short fried something (there’s a bad smell). I didn’t even bother to turn the unit on again until I’ve located what has fried. Turning something that you know it’s fried on again just risks further damage as it can load other parts of circuits.

Following the smell, I found a burnt IC on the other side of the board (needs to be painfully disassembled as the front panel /w BNC nuts needs to be taken out all over again), and I looked up the part number: ST L6201. It’s sitting on Channel 1’s front end section between the attenuator relay block and the ADC hybrid and there are 2 of them per channel.

Given the location of the component, it’s clearly the L6201 populated at Ch3’s slot is not used since it’s a 2 channel oscilloscope. So I transferred the chips to replace the broken ones at Ch1:

What is an H-bridge driver (L6201), that’s supposed to control motors, doing in an oscilloscope, especially the front-end section? I googled “H-bridge driver in oscilloscope” and nothing relevant turned up. Then I went back and read a little more on how an H-bridge driver is really used. L6201 is a DMOS Full Bridge Driver with four power MOSFETs (switches) that basically sends current through an inductive load (typically motor) that might have stored energy (momentum) that might need to be drained (brake) to stop faster.

Turns out it’s a slick way to drive mechanical relays in the input attenuator given the amount of due care needed to accurately manage the current demand and switch transitions. There are 3 relays in the attenuator module. I suspect up to two relays can be switched with each L6201 by placing a diode in serial with with a relay coil, and repeat it (in parallel) with the diode reversed in the other branch. Is it an overkill? Let me know in the comments section. Please see the comments section

I also noticed, while dealing with the main acquisition board for 54615B/54616B, there is a L293D chip under the attenuator block shield for each channel. It’s a 4 channel driver with half-bridge, also intended to drive inductive loads. This one is more explicit about being used to drive relay solenoids as well as motors. So this is nothing new; It’s just not too many people talked about using it on oscilloscope architectures.

 

Loading

MSI-based installer silent install summary

Recently I need to reorder the pre-req installation for a InstallShield installer package that has pre-reqs and MSI inside it. That means I’ll have to extract all the pre-req EXE and MSI files and write batch files to call them, then the installer again for the core software, all done silently.

I learned:

  • Administrative install (/a switch) only extracts the core firmware, not the pre-req files
  • /b”<target-folder>” extracts the pre-reqs as .prq files
  • Need to steal the extracted .exe files by monitoring temporary folder as they go
  • /s doesn’t always silent installs. Some with MSI packed inside the .exe files requires the ‘silent’ request passed to the MSI by adding /v/qn (/v passes the switch to the MSI, which is /qn, which means silent in this case)
  • .NET before v2.0 requires different switches to install without prompting for license agreement, namely
    /q:a /c:"install /q"

     

 

Loading

Remove McAfee Enterprise Antivirus from Windows

I was asked to install McAfee Enterprise Antivirus v8.8 as a favor to somebody else’s client, turns out this piece of 5h1t is a nightmare.

After I installed the agent, the main software won’t proceed to install. I looked up error code 1603 in the MSI log and upgraded a fresh Windows XP to SP3 and updated Windows Installer to 4.5, set the time back (somebody suggested potential certificate problem) and it still fails.

Without being compensated for my time, I gave up and tried to uninstall it through Add/Remove programs. Now the uninstaller complained that the program cannot be uninstalled in managed mode. Normally, I’m quite understanding towards programmers since their job is wrestling complexities, but this time there is no excuse: if you add an item in Add/Remove programs, people are expected to be able to uninstall it directly from there by definition!

After some digging, being unable to uninstall McAfee is a known common problem. The IT-crowd at University of Oregon has written an article with the solution. It boils down to running:

C:\Program Files (x86)\McAfee\Common Framework\frminst.exe /remove=agent

I bet even stoners are more competent packaging the software for release! How much productivity across the world they have drained by shipping out an incompetent software bad as malware!

Stay away from McAfee. Won’t install it even if they pay me $8k. Refuse to service anything McAfee without charging an exorbitant sum, or you won’t make your lost time back.

 

Loading