Tuesday, September 7, 2021

Working on the chassis of the x235 server that houses the P390, plus extender cards are nearby

 USPS RAISES PERISCOPE, EXITS STEALTH MODE WITH EXTENDER BOARD PACKAGE

Out of the blue, I received an email this morning that the extender boards were out for delivery today. It had been a week since they were briefly spotted in Chicago and then activated the postal cloaking device. I expect to visit the workshop Thursday, as I have an old childhood friend visiting tomorrow, but on that day I can solder on the connector and extend a working board! 

As an update, USPS didn't leave the extender boards because I wasn't home to sign for it. I scheduled it for pickup tomorrow at the local post office. 

ORDERED AN ALUMINUM BOX FOR THE CARD READER INTERFACE EXTERNAL UNIT

In case the board is picking up noise from motors and solenoids of the card reader, I plan to rebuild it inside an aluminum project box that I ordered for delivery tomorrow. That should eliminate this possible cause of the flaky synchronization issues I am having. 

STRAIGHTENING ALUMINUM CHASSIS OF P390 SERVER

I had to disassemble the chassis, removing the back section with the PCI card support slots since it was so twisted up. This allowed me to bend the remainder of the chassis into good shape. I further have to remove the pop rivets to take the card support section off the rail so that I can get to all sides to attempt to bend it into suitable shape. 

Rest of chassis now in decent shape

Problem section on right
Needs major reshaping

XXXXXXXXXXXXXXXXXXXXXXX

xxxx

Monday, September 6, 2021

Began work on bent up P390 server chassis

 CABLE ON ORDER TO REPAIR M1000 CARD READER MAGNETIC PICKUP

I won't have the cable to splice onto the pickup until tomorrow, which blocked me from working on the Model 1000 card reader. Further, I have to noodle a bit about the best way to proceed on the interface issues that appear to be induced noise or other challenges from operating close to the server. 

DISASSEMBLED IBM x235 SERVER FROM MY P390 SYSTEM TO STRAIGHTEN CHASSIS

The chassis of the xServer 235 which is the base for my P390 became seriously twisted after it fell over while fully populated, back in California as I was attempting to securely package it for transit. I did fire up the server itself to confirm that the motherboard (planar in IBM-speak) or other components weren't cracked. 

I didn't have the P390 card or other PCI based cards installed because frankly the chassis is so bent that they sit at an uncomfortable angle away from vertical putting stress on the PCI sockets and motherboard (and the cards themselves). I decided to attempt to straighten the chassis at least well enough that the PCI cards can sit safely upright and be supported. 

I believe the reason that the motherboard survived is IBM's design for the server. They mounted the planar on a metal base which is in turn mounted into the chassis. The metal base is so sturdy that it didn't receive any twisting force while the chassis deformed around it. The remaining area of concern on the planar are the PCI sockets and connectivity to the motherboard, but I do see motherboards available on eBay if this one is damaged. 

I did some initial straightening but still have quite a twist in the PCI card area. I will either need to bend this all better, which is difficult because of its interlocking construction, or find a replacement chassis somewhere. 

Planar on its metal base

Bent chassis at top

Badly deformed area for PCI cards


Sunday, September 5, 2021

Wire close to pickup has connectivity, just need to splice new cable I hope; erratic behavior of card reader interface

 ATTEMPTING TO RESCUE THE MAGNETIC PICKUP

I figured out how to release the three pins from the PCB connector, releasing the cable from the magnetic pickup. It has two wires plus an outer shield. As before the ends of the wires measured as an open circuit.

The pickup is mounted in a holder with an allen head setscrew to lock it in position. It has to be adjusted to sit .007" from the ends of the teeth on the timing wheel. I released the setscrew and withdrew the pickup from the holder.

No amount of wiggling of the wires restored connectivity. At this point, I would either have a break somewhere down the several inches of cable or inside the pickup itself. I decided to remove the majority of the cable and get access to the wires just as they left the molded plastic of the pickup.

I was very pleased to find that after stripping insulation off of the 1/4" of wire remaining, there was a resistance of approximately 635 ohms across the two wires and it seemed solid as I moved the wires around. 

I am hopeful that if I splice on some replacement cable, I will have a functional pickup again. Time to look for a cable with suitable impedance characteristics. 

TESTING THE CARD READER INTERFACE WITH THE WORKING M600 READER

Since my Model 600 reader was working perfectly the last time I used it, but the very ad hoc interface was giving me issues, I decided to create a new version of the external box. The board I had soldered up for that was not communicating properly with the laptop, garbling characters. I thought that I had a board that communicated well already inside the M1000. It was simple to unplug that from the new reader and stick it into the external box I had recently built.

Indeed, the board talked well with my laptop, tested first with a terminal emulator program (PUTTY) and then with the cardread.exe program that Brian Knittel wrote. I connected the cable and did some testing with the M600 card reader. Alas, the interface would get hung up after reading a card. In fact, the data it stored had the actual holes on the card but many spurious holes as well. 

It would then hang with what the microcontroller thought was an active pick command but the card reader itself disagreed. If I reset the reader or power cycled it, the microcontroller would report an unexpected pick response. 

I also did a pick using PUTTY, which gave me the 160 bytes of data and a final status character. Something is not right here and I am suspecting, since the pick error character is similar to how the M1000 presented back when I tried to drive it with the controller, that the interface is being corrupted by spikes or induced voltages as the card reader operates. This would explain why it starts out working perfectly with the reader until we fire up the motor and read a card. 

Saturday, September 4, 2021

More furniture purchases but did find sources for magnetic pickup if necessary

 DAY SPENT VISITING STORES AND MAKING PURCHASES

Today we took care of the balcony furniture groupings and did some preliminary shopping for the one remaining bedroom dresser we will need. All this after I tested the two large televisions bought for the guest bedrooms since they had a 15 day return policy but our closing is more than three weeks away. In the middle of the day we met friends for a nice lunch.

EXTENDER BOARD REMAINS IN USPS VERSION OF BERMUDA TRIANGLE

My extender boards made it from Denmark to the US but have vanished from existence on August 30th. No idea where they are or when I will receive them.

FOUND SOURCES FOR MAGNETIC PICKUP

With an open circuit across the two wires to my magnetic pickup in the M1000 Card Reader, a solution depends on exactly where the fault is. If the inside of the pickup is broken and not accessible for a repair, I would have to replace it with a compatible part or a reengineered alternative solution. 

I was worried that such a part was specialized to Documation and no longer available. Doing some research, however, I found that companies are building new pickups of very similar design and specs. The prices I found ranged from a low of $50 to hundreds of dollars;  the actual cost would depend on which pickups have a small enough pole piece to reliably detect the fine pitched teeth on the timing wheel. Still, I can take the worst case scenario off the table - I will not have to scrap the machine as unrepairable. 

Friday, September 3, 2021

Tracked down issue with stalled M1000 card reader - no connectivity to magnetic pickup for toothed wheel

 ABNORMAL TRACE RESULTS SUGGESTED ISSUE IN SYNC CONTROL LOGIC

The expected sequence of events is that when the card first moves into the photocell region, triggering OneDark, a set of timing happens to sync the remainder of the card with the positions in the middle of each of the eighty data columns. The pick is declared successful with Good Pick Reset then a counter is loaded with a preset count of the time it should take for the card edge to move past the cells and have them over the middle of column 0. The clock counts down until it reaches zero, turning on signal ZERO.

In the interim from when the OneDark first occurs until ZERO is turned on, the timing wheel will be passing its teeth in front of a magnetic pickup. The first such pulse from a tooth passage will start a counter OSCLK that runs until the ZERO activates. This is a calculated offset from a tooth.

Every other tooth passing afterwards causes OSUCLK to count up until its value matches the offset. This will tell the machine that we are directly over the middle of a column, activating CSDS signal. 

In the machine currently, we see the present counter counting down and reaching zero, but OSCLK never counts nor do we get OSUCLK or any CSDS signals to tell us we are at column middles. Thus, the sync control logic is not working properly.

ITERATING THROUGH THE FLIPFLOPS AND LOGIC GATES

Sync control makes use of twelve flipflops to sequence through the states from the initial OneDark until we generate each CSDS signal for column positions 0 through 84. There are combinatorial gates to control when these flipflops are set, cleared or switched. All of these are sitting on the Clock card, inside the card cage and thus very hard to access.

I tacked wires onto three or four pins at a time, looking to see whether the gates are behaving as expected or not. For example, the gate that emits the OSCLK counting clock has three inputs, one being the 120KHz clock C1 and the other two gating its passage to the output to become OSCLK. One of the other inputs is the same signal that successfully gated the 120KHz clock to count down the preset amount, but was verified. The final input is from the logic that senses occurences of the teeth passing the magnetic pickup. That one was never activated.

I began to back up through the flipflops looking for which was blocking the deliver of the tooth signal (called TST2 at this point). It took some time to sample 3-4 pins and move along the chain. Eventually I decided to check the output of the op amp that produces the pulses from the magnetic pickup connections. 

I didn't see pulses coming from the op amp. I checked the inputs and didn't see any pulses arriving! That would explain the symptoms that have developed in the last couple of days. Prior to that, I was seeing the pulses and the OSCLK and OSUCLK clock signals. 

I pulled the card and measured the resistance of magnetic pickup across the two wires on the connector. Infinite ohms, an open circuit! By comparison, my good M600 reader measures a bit over 100 ohms at the same connector points. 

THREE SCENARIOS TO CONSIDER HERE

The first scenario is that the wire itself has broken inside the cable, much as the 5V power wire to the card cage broken off on its own. This would be resolvable by replacement of the cable with a compatible one. It consists of two conductors with a ground shield around them. 

The second scenario is that the magnetic pickup itself has suffered a broken wire inside the component but it can be accessed and repaired. This would require removal and reinstallation of the pickup, which forces some adjustments and tests before it can be assumed to work properly.

The third scenario is that the pickup is broken inside but can't be repaired. I would need to source a compatible replacement, but with no information about the part, its maker and its specs, that is very unlikely. A possible alternative is to install a new technology alternative to detect the position of the wheel and make that new circuitry produce the pulses in lieu of the old op amp and pickup. 

Thursday, September 2, 2021

Day spent buying furnishings and televisions for new home

 Various bits of furniture, a mattress, bedding, televisions for two bedrooms, two area rugs, and other smaller items were on the agenda for the day, which kept me out of the shop entirely. Hoping to have a productive day tomorrow (Friday September 3). 

Wednesday, September 1, 2021

Resolved OneDark signal issues, moving forward with diagnosis of M1000 card reader

 REPLACED INVERTER CHIP TO RESOLVE THE INVALID VOLTAGE LEVEL

I unsoldered some chips that are tied to the OneDark signal, which had been floating at an invalid 1.65V level erratically. With replacements installed, the signal is now behaving properly. That was a vexing issue as the problem would sometimes disappear only to show up randomly at a later point.

Desoldering chips with the Hakko

I set up two VOMs to monitor the input and output pin of the driving inverter and had really great voltage levels. Using a zip tie to obscure light in the photocell channel made the two signals reverse voltages, exactly as they should.

Left is the wired-OR, right is the OneDark output
Blocking some photocells to trigger OneDark signal

VERIFIED THAT ST0B SIGNAL ISSUE IS FIXED

Having replaced a NAND gate that was driving the wrong output signal based on its input signal values, I suspected that the ST0B signal would now sit properly at logic high when not active and pulse on when gated. I was able to verify this with the scope today.

ST0B signal produced

EXTENDER CARDS DISAPPEARED INTO THE USPS BLACK HOLE

I sure could use the extender cards coming from Datamuseum in Denmark, as there are so many issues that require probing of the components on PCBs while they are stacked in the card cage. I have had to tack on wires, reinsert, test the levels and repeat as I chase down faults. If the card were extended I could just touch probes or attach leads. 

Tacking wires to monitor signals on pins

The boards arrived into the USPS international shipping center in Chicago on the 30th, with no trace of them seen since. It is possible they are moving silently through the system and will show up at my doorstep, but more likely they are heaped in a pile in the center waiting for someone to direct them onward. 

CIRCLING AROUND IN THE SYNC CONTROL LOGIC TO FIND NEXT FAILED PART

Currently when I try to read a card, it reaches the point where it should start processing card column positions. It does this by counting down from a preset value that reflects the time the card will travel from first obscuring the photocells until it is centered in the holes that would be punched if there was a column 0. That is, the position that is one column width to the left of the first data column. This should be recognized by the signal 0CR and a check made that no light is detected on any of the twelve row photocells. 

The preset countdown clock is working well in the logic analyzer trace, the zero detector asserts the logic condition ZERO, and I see the first tooth of the wheel producing a pulse. However, it stalls at this point.

What should occur is that a new clock, OSCLK, should begin counting from the OneDark first turning on up until the ZERO occurs. This sets up the offset count. Then, the next time a tooth is detected a third clock, OSUCLK, will count up with a comparator triggering once the new count matches the saved offset count from OSCLK. None of that is happening.

Without the OSUCLK logic, it will never trigger the signal CSDS that says we are at a sampling point for a card column, thus never latch the photocell data, never emit an Index Marker pulse, and never increment the column count. The entire card cycle ends when the column count reaches 84 (signal 84CR is produced), but that doesn't happen so we are hung. 

Tomorrow I will move around tacking a small number of wires on likely gates until I find the one(s) that are malfunctioning. Could be a tedious time.