Tesla 3 Solar Roof

Not much detail yet, but my guess is it’s something like this:
http://onlinelibrary.wiley.com/doi/10.1002/adom.201400103/abstract

Imagine this:

  • Center layer contains IR fluorescing organic salts
  • Refractors bend the new IR out to the edges
  • Edges are high efficiency NIR photovoltaic cells.
  • Inside layer would be reflective coated on the outer face.

This would reduce IR ingress during sunny days, and convert IR and UV to electricity.
The black edges could also be monocrystalline PV cells in the visible spectrum.

I think you could expect a few hundred watts during a sunny TX day, which would be enough to keep things topped off between short commutes.


Bad Subnet Kills DHCPD

One, single bad IP in DHCPD config will kill the entire config file. :(

On an EdgeRouter, and probably anything with Ubiquiti, and maybe anything using the same config style (Brocade and others have the same command set)….

If you add a static reservation outside of the DHCP server’s subnet,
as in, if you typo one octet, or decide to do another subnet just because,
your DHCP server will be offline after reboot. No errors, just silently not serving.

It can be outside of the start/stop range, and that’s fine.

Really, this should give you a warning from the webUI, or it should just say “OKAY, We’ll let you hand out stupid IP addresses.” I mean, what if I wanted this to be my DHCP server, but I had a different router and subnet on the same segment?

From command line, you’ll see the error though:

admin@gw1# commit
[ service dhcp-server ]
Static DHCP lease IP '192.169.1.79' under mapping 'CustomerLaptop'
under shared network name 'LAN' is outside of the DHCP lease network '192.168.1.0/24'.
DHCP server configuration commit aborted due to error(s).
[edit]

HTPC

Ooof. Our little media computer in the living room was 10 years old. I swapped it out with a NUC5. Technically, the CPU is the same performance, but it’s 6 watts instead of 75, and it’s spread over 4 cores instead of 2.

In reality, the integrated graphics is double the perf, plus there’s 12x hardware acceleration for video and encryption. It should be WAY faster. Also, it’s tiny, the size of a box of 250 business cards. It’ll pay for itself in 2 years, just on electricity alone, though the decreased frustration from LAG will help too.

There’s no DVD/CD/BD drive on it, though I have a USB DVD drive I rarely use. If I really needed to, I could swap the guts for my BD drive I never use.

Our HTPC has been moved from a 225W small PC to a 25W mini-PC. This is equal CPU, slower single thread, double graphics, and 10x video/encryption processing power, for about the cost of a mid-level video card.

Our HTPC was a 2006 Thinkcenter M55, and has been chuggy for some video for years. The real reason for swap out is because it finally lost the CMOS battery. This is annoying, because Windows 10 updates ALL THE TIME, and reboots ALL THE TIME. So, it would always hang at full CPU, full fan, waiting for a keypress.

When I replaced the battery, I found 2 FETs have been cooking a little bit of the motherboard. Searched around, and 3 K-stamp capacitors (they look Panasonicky) are bulged.

I thought I’d inventory it and see if it’s worth fixing, or whether it is worth even parting out. Radeon 6570, Core 2 Extreme X6800, 2x 2GB DDR2 DIMMs, LG Blu-Ray Rewriter, and a 128GB M.2 SSD in an adapter. PSU is 255 Watts, and the CPU is rated at 75 Watts. CPU passmark is just over 1800, and video passmark is around 768.

The cheapest quad-core mini-PC i could find was a battle between Gigabyte GB-BXBT-1900 (J1900), and an Intel NUC5PPYH. The N3700 Braswell supports AES acceleration, and overall is just a better tech. Not new and shiny, but really at the sweet spot. The unit has built in IR, USB3, and SD slot vs the BRIX. There’s actually a wifi card in there too, but I don’t need that. I could pull it and put the SSD there I suppose, but whatever. The Gigabyte was 25% less, but the J1900 BayTrail CPU still has power-state issues in some versions of Linux, and I like USB3.

So, the NUC Gen5 won out. The CPU passmark is just under 1900, and the integrated video passmark is around 1430. Half the perf for a single thread, but equal overall, plus hardware decoding for video is a huge help.

Instead of being an SFF desktop (4″ x 12″ x 14″) with a 75 watt CPU, and a 225W power supply, the NUC is a 3″x5″x5″ block with a 6-watt CPU and a 25W power supply.

Amazing what 10 years will do for technology. Also, I just moved the boot drive over, and Windows spent 20 mins applying drivers. All’s well I think.


Dream of Pixels

In a lab, there’s a gold mine. But, it’s not a mine exactly. It’s a cylinder with rounded edges, about 18″ in diameter, and in length, flat faces up/down, floating about waist height in a room. There’s a pedestal under it. If you approach, you see down into the pedestal into an apparently infinite space. There is a lensing effect around the object, and there are suspended chunks of gold around it of varying sizes. They can be pushed and moved, but they bounce back to their original location. Sometimes they shift and change size on their own.

It’s all fairly industrial: concrete floors, computer stations around the edges, subdued lighting. I notice some primary color pixellation and difraction around the interface edges of the object as we head to a non-containment room, but just figure that’s normal. Through various brainstorms, the object comes to be thought of as aware. It responds to us, but not in a way we understand. Hands near it, and it changes. Time to head out, because we don’t know if it’s safe to stay around it for very long.

The lab manager is my ex girlfriend, or something like that. It’s complicated. She looks just like Gwyneth Paltrow, only a little taller, or maybe I’m a little shorter. I’m not me, but I feel like me. I was removed from the project lead for no real reason, or maybe every reason. But, she’s letting me in because it’s too amazing to keep to herself, and they need help. No one else is making any progress on these. Yes, there’s a second one in another room.

I’m really excited, but GP stops to remind me that everything has to go through her. This is a trial involvement, and I cannot just do things with it, nor make decisions on it. I’m excited, but the limitations are tough. I apologize, say I understand, and blurt out that my thoughts were that a machine could be used to just reach in and scrape out the gold. She completes the sentence with me, and kisses me.

I like it, but something is wrong. I see bits of colored static, smaller pixels than in the containment room, here now too.

I realize the device is a computer of sorts. It’s simulating the universe immediately around us, and so long as we are near it, we are affected by any errors in the simulation.

She sees it, and I ask about “shutting it down”, but no one knows how to. In fact, there’s no one around us. The elevator is open, lit, but does not do anything. There’s a window with curtains, looking out into… a warehouse? What? No, now it’s sunlight, but there are pixels around the borders.

I’ve been thinking about the device, and realize it can read my mind. I name it “Pixels” in my mind, and call out to it in fear and exasperation. Continued realizations, not sudden, gradual, as if I’ve thought of all of the possibilities, and realize it is alive, and our entire universe is a simulation. The simulator is crashing, and the device is trying really hard to preserve us.

Stray specks are showing up in the room. I imagine that they would hurt going through me, but I don’t seem to ever make contact with one. We try to open the windows, but they’re not real. We’re stuck. Only this one last room exists. We cannot even reach the simulation interface anymore. Yes, that’s what the objects are: an interface for controlling the simulation from inside.

We’re frantic, but there does not seem to be anything we can do. As I wake up, I realize we had all moved into the simulation when the universe was winding down for us. Not us, per se, but our many-great grandparents. The universe had finally wound down enough, and there’s no repairing. This was the end of the end.


Disable Strava Live Segments on Garmin

Garmin support says to disable individual segments on your device. Well, new segments show up still, and things get re-enabled. When Segments are enabled, it chews up more battery, just like following a course. Also, Garmin support takes DAYS to respond, and seems to send you to a level zero support queue first.

Strava support was awesome. I got a simple, exact response in three hours. To disable live segments, go to garmin connect. From the hamburger menu in the top left, click the arrow next to segments (way down in the list). Click the button to add it to your dashboard. Now, you’ll see the widget on your dashboard. From there, click the gear on the widget. Choose “Use Garmin Segments”. BLAM! You’re back to not using Strava Live Segments. You can toggle it on and off there, even though the initial enablement is on Strava’s webpage.

I wanted this disabled, because every time I would go near a segment, it would beep at me a few times. If I crossed over the start of a segment, it would beep no less than 15 times before it gave up. This is from an Edge 520 on version 7 code. Maybe it’ll be better in the future, but it’s just a distraction to me. YMMV


Posted in cycling, xaminmo | Comments Off on Disable Strava Live Segments on Garmin

Kids, Family, Life rambles

The question I ask myself pretty often, obviously not as much in the heat of the moment, but in post-reflection, is “What is best for my kids.” This does not mean “What is best for my wishes for my kids.”

There are all sorts of things I want for my kids, and things I want them to do, or want them to want to do. But that does not really matter.

What do my kids want? How will this affect them in 20 years? Does this have any effect on their future ability to be self sufficient and happy? Did I do anything like this as a kid that I can compare? If they are making a mistake, will it harm them? If I make a mistake in judgement, will it hinder them?

Sometimes, I have to be a little more on alert. Maybe some activity seems risky, yet I cannot properly justify preventing that action. Sometimes, the prevention is unenforceable, or enforcement would take huge resources. In those situations, there are frequent discussions of my concerns, their decision factors, and how they’re doing.

Sometimes, it’s just nothing. They were curious, but after discussion, they realize it’s not worth the effort or risk. Other times, they have to continue forward until they tire of the experience. As long as it’s not something that is unrecoverable (risk of death or incarceration), I feel it still needs to be their decision.

How can they learn to make good decisions if they are not allowed to make them? Seeing decisions taken apart and discussed, and making decisions, are how people learn. If I decide for them, and tell them how it will be, they learn no thinking skills – only memorization.

This ramble came about because I have several sets of friends with kids who have divorced. Some of them have maintained a child-focused mentality. They have been polite, and respectful, even to the point of being friendly. Maybe they don’t hang out all the time like when they were together, but they discuss life beyond “here is the school schedule”, and are willing to help each-other be happy because that helps their kids see happiness as an example.

However, some of the couples are constantly at odds. There is distrust, lack of communication (I plan to do this because I am concerned about this), and lack of coordination and agreement in what needs to happen. Maybe kids are excluded from activity with one parent. Maybe discussions occur with the kids that push their judgement of the other parent onto the kids. Some parents have rights with their kids curtailed because of health or income disparity when it really does not matter. These too teach the kids how to behave. They learn to be manipulative, exclusive, and not how to have a partner in life.

It’s not sad to me the sheer number of divorced parents I know, but it is disappointing in how many are so self-important that they do not even see how their actions are affecting their kids.

It takes a village to rear a child, and that village, when at all possible, should include both biological parents as long as they both love the kid. All parts of the family should be on speaking terms, and step-parents or equivalents have to understand that while they have input, and duties, the bio-parents get to set the rules. Persuade them with logic, but not force/guilt/manipulation.

Everyone must be prepared to compromise their own goals as much as possible. If the gap is still just too great, then someone is not putting their child first, most likely all of the parents.

This is especially important as kids get into their mid-teens, because they will be smarter, more driven, and more manipulative to get what they want. It is very easy for a parent to fall into this trap, or even to use the child’s mindset to self-reinforce. “I want this, and the kid wants it, so it must be right.” is not a valid statement.

Anyway, super rambly. This is about an amalgamation of a whole bunch of people who are having both good and bad times with this whole family thing.

I have no solution. Emotions, both surface and deep-seated ones, are what control us. We rationalize, and explain it all, but our animal brains are what control us most of the time. Sometimes, fixing issues means having a discussion with the part of our minds which feels. Maybe we strike up an agreement. Maybe we don’t.

It’s really difficult, as evidenced by people who stay overweight for decades (MEEEE!), or people who struggle with substance abuse for years, or people who struggle with depression for years. Emotions, affect, feelings, etc rule. You cannot command them in words and rational thought. You can only speak to them in feelings. You can re-train them in what you want to feel.

Maybe if we lived for 200 years, we could sort out all of our internal demons. Until then, whether you are having a good time, or a bad time, I hope all things improve. Keep trying to be better. Review what seems important, and whether you’re on the right track. Be compassionate. When you mess up, and it will happen a whole bunch, do not punish yourself or others. Just try to be better. What can you do to trick yourself into being better. How can you set yourself up so that when you fail, you still succeed?

ramble ramble ramble.

If you got to this part, and read everything in the middle, I’m impressed. This was just stream of thought. Actually, I might be worried for your sanity. Take a break. You’ve earned it.


FIXED – NotePad++ not saving

I FINALLY found out why NP++ as not saving my files properly. There’s a newish “Session snapshot & periodic backup” feature that saves a backup copy of all of your open but unchanged files, and any file changes. It also saves the current state when you exit NPP so if you close without saving, all of that is back.

However, it does not work properly. Once the backup interval passes, no further snapshots are saved, so whatever you had when you first created the file is all that will be saved. But, since the dirty flag is cleared, you cannot save the file normally either. Ctrl-S does nothing, silently. Closing a file does not warn you of unsaved changes. Closing NP++ does not warn you of unsaved files. You re-open, and it is back to what it was.

The way around this was to copy the contents, close the file, re-open the file then paste the contents, THEN save. OR, you could save as a new file.

But now that I know it’s this newish feature, I turned it off, and everything works properly.

Thanks to AdiranHHH from here:
http://stackoverflow.com/questions/24447786/notepad-doesnt-save-document-on-exit
And this open bug:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/337


PPC64 Linux on Intel

QEMU on Windows will run ppc64 and ppc64le emulation.
It emulates the same as what PowerKVM on an S812L would provide.
It’s kind of slow because there is no KVM module, AND Intel vs PPC,
AND emulator mode is single-core/proc/thread.

You can get Windows installer here:
https://qemu.weilnetz.de/

You really want ANSI/VT100 escape codes on you “cmd.exe” also:
https://github.com/adoxa/ansicon

To build a blank disk:
qemu-img create -f qcow2 qemu-disk-ppc64.img 32G

You can boot with this:
set SDL_STDIO_REDIRECT=NO
qemu-system-ppc64 -M type=pseries -m 1G,slots=4,maxmem=8G

  -cpu POWER8E -smp 1 -vga none -nographic 
  -netdev user,id=net0 -device spapr-vlan,netdev=net0 
  -device spapr-vscsi -device scsi-hd,drive=drive0 
  -drive id=drive0,if=none,file=qemu-disk-ppc64.img
  -cdrom D:\Downloads\debian-testing-ppc64el-DVD-1.iso

The QEMU part is all one line. The cdrom image is up to you. I like Debian.

Other Notes:
Any issues with cursor keys, use ctrl-i for TAB, ctrl-n and ctrl-p for next/previous.

Emulation mode is flaky with more than one core.

There is a QEMU AIX build on PERZL.ORG which would be faster, especially for ppc64 BigEndian.

PowerKVM is just PPC Linux, QEMU, KVM, and LIBVIRT. KVM is just a kernel module for spee-dup. LIMVIRT is just a GUI and CLI tool to build VM definitions. QEMU is the emulator. Works best on POWER8, with hypervisor disabled (OPAL mode).

QEMU still does not have enough RTAS and NVRAM to boot AIX. AIX hangs during “Starting AIX”, and Diags just says it’s an unsupported machine type. There is a little bit of dev for this, but not much.​


Situational Awareness

In aviation, we have a term: Sterile Cockpit.

This means, during critical phases of flight, all attention is on the flight. There is no banter, paperwork, ipad/phone use, no programming the GPS, etc. Communication is only as necessary, which includes checklist and ATC calls.

Critical phases are Taxi, Take-off, and Landing. If you need to program the radios or GPS, you do it parked, or during cruise. Logbook info for the flight is after the engine is stopped. etc.

While it may be inconvenient, and consume extra time, it’s done this way for safety. When workload is higher, or when distraction is more likely to be hazardous, you reduce distraction.

An important point of this is that it applies to the Pilot In Command especially, and all crew generally. If you have a copilot, the SIC may be able to program the GPS / flight director, and handle ATC calls, while the PIC has eyes out of the plane.

At no time should the PIC be head’s down. If the PIC needs to go head’s down, then really, controls are transferred to the other pilot. That pilot, even if they are SIC, becomes PIC. This is why single-pilot operations have higher accident rates than dual pilot, even student+instructor.

When it’s a student and a Certified Flight Instructor (CFI), the instructor is the Pilot In Command. The only time a student can be PIC is when they are solo, or when granted PIC by an examiner.

The instructor is always responsible for the behavior of a pre-certificated student. Because of that, it is up to the instructor to never grant more authority to the student than they are capable of handling.

Most importantly, a CFI must never be heads-down. Being heads down is the same as letting them fly solo. Head-down, there is no way to see whether they are being safe. Heads-down is not instructing.

This all came about because a very experienced instructor was heads down, filling out a logbook, during post-flight taxi with a 23-hour student. The aircraft collided with a hangar that was fairly close to the taxiway. The instructor claimed it was the student’s fault; asked that the FSDO not be notified; claimed the student did not follow diretions; etc. This instructor has previously worked for the NTSB, and knows that damage to a wing spar from collision during taxi constitutes “substantial damage” and requires immediate notification as per CFR 830.

CFR 830: http://www.ecfr.gov/cgi-bin/text-idx?tpl=/ecfrbrowse/Title49/49cfr830_main_02.tpl
Safety Reporting: http://asrs.arc.nasa.gov/report/electronic.html


iPhone, Garmin, Live Tracking

This is a write-up I made for a friend having problems with Garmin Live Tracking on an iPhone. It would get interrupted all the time, and show negative, or tiny percentages, of the real stats, though the map and track would look correct.

iPhone viruses / bugs:
iPhones don’t get generally malware unless they have been jailbroken / hacked.
This can only happen hands-on, and is not currently possible at the current OS version.

Any concerns can be fixed with a reinstall/restore of the phone.
I do this for any major upgrade (iOS 8 to iOS 9), but no more often.

This brings you to latest level, and replaces anything that got messed up.
Takes a couple of hours to finish the restore.

iPhone Restore / Reinstall:

  • Back up to iTunes, plugged in is best.
  • Disable your pin-code lock from Settings on the phone..
  • Do a restore from iTunes.
  • Wait for the OS install to finish (15-20 mins)
  • Answer the 5 “new phone” questions to get back to the home screen.
  • Re-Enable your pin-code lock
  • Re-Enroll your fingerprints if you use that
  • Wait for iTunes to finish restoring your apps and photos.
    Here is info about the LiveTracking problem specifically:

The stats error:
This is a design issue with the garmin app. They really need to fix it.
Reference: https://forums.garmin.com/archive/index.php/t-329984.html

The stats fix:
Replace the livetrack exercise with an upload of the activity.

  • Finish the activity on the device.
  • Delete the bad one from the Connect app calendar.
  • Sync/Upload from your device.

Stability improvement:
The stability during tracking can be helped with:

  • Disable WiFi while livetracking.
  • Make sure all other apps are closed while livetracking
  • Make sure the phone has been hard rebooted in the last week or two.

General Garmin stuff that *may* help:

  • Update the Garmin Connect app from the App Store. Again.
  • Update Garmin Express. Mine doesn’t auto-update anymore.
  • Update Garmin device firmware. Maybe there is an unreleased version from support?
  • Clear off activities every week. You can save the files to dropbox, or upload to Garmin Connect, or both.
  • Maybe to a master reset as a last resort.

Master Reset of the Garmin Device
Plug in the USB cable
Copy all of the files off of your device.
Delete activities from the device
Unplug the USB cable
Power off the device of not already off
Hold Lap/Reset and Start/Stop buttons
Press power button
Wait for spash screen showing Garmin brand
Release Lap/Reset and Start/Stop buttons
Wait for power-up
Take outside for a 5-20 minutes so it can get the initial satellite fix.
Power off the device
Plug in USB cable
Copy the settings.fit, totals.fit, and records.fit back to “NewFiles”
Unplug USB
Power on and make sure all of your settings are there.

    Here are the things I have done that have helped my phone be less crashy in general:

#1 Limit what can use GPS in the background.

  • Settings -> Privacy -> Location Services -> Purple are running now or in the last few minutes. Grey are in the last day. Disable anything that should not be allowed. Keep garmin, strava, etc.

#2 Limit what can run in the background

  • Settings -> General -> Background App Refresh -> Disable anything that should never stay running when not up on the screen. Keep music, maps, chat/messenger, and similar enabled.

#3 Close apps when you’re not using them.
iOS 8 and later seems to have memory control issues. Lots of apps just get killed when they ask for memory, rather than being denied. If you close out everything first, then start the one GPS app, that often helps.

#4 is hard reboot your phone once every week or two.
I find sometimes my phone gets crashy, and only a hard reboot helps:

  • close all of the apps running – double-click home, then swipe or close from there
  • hold power button and swipe off when prompted
  • Power on with both power and home button held down at the same time.
  • Keep both buttons held down until the apple logo appears, then disappears again.
  • Normal power on with 1 second on power button.

Spinal Health

My critical stretches are:

  • Calf stretch just because it reduces referred pain on hamstring stretches, and because I tore a gastroc once.
  • Hammies get a hurdler stretch or similar. Tight hammies are big, bad back things, and a major problem for me.
  • IT bands get a figure-four, or a leg over stretch to help reduce piriformis syndrome.

Others I enjoy when remembered:

  • Pidgeon pose gets adductors AND IT bands a little, because I cannot really do the splits. This is mostly for 2 days after a long bike ride.
  • Quad stretch, usually just grab my foot behind me and get as much stretch as I can. This is more for my knees than anything.

Core strength I need more of:

  • Planks in all 4 directions also help core. Front plank can be replaced with pushups if form is good. Modified planks/pushups as necessary to prevent strain.
  • Rows, whether off a doorframe, or a table, or with proper equipment, are important. However, a year post-op, and I’m still not really comfortable with twisting under load. I do one arm at a time, and keep my shoulders square. YMMV.
  • Walking / hiking are great for core if it’s more than a few minutes, and more than just on a track or treadmill.

Aerobic/Calorie Burn

  • Road bikes are low impact, but the bending is not always best.
  • Spin bikes are easy to sit upright and get comfy, while burning calories, but the class matters a bunch.
  • Some people run, but if your heel hits the ground, it just hammers your spine.
  • Swimming, if that’s your thing. More of an upper-body thing.
  • NOTE: Stretching after a good warm-up will be much more effective. Also, a good warm-up will break down some of the tight strands the same as stretching, just smaller amounts per step/stroke/whatever. Also, if I don’t stretch after a long bike ride, everything goes bad faster.

Other Stuff

  • There are other body stretches I should do, but I don’t suffer when I don’t do them. The /r/bodyweightfiness has good enough reference that I mostly ditched all of the other lists, charts, and PT printouts for it. http://www.reddit.com/r/bodyweightfitness/wiki/kb/recommended_routine.compact
  • Aspirin for NSAID since my family has a history of clots, and Ibuprofen/Naproxen increase clot risks when used long-term.
  • Hot Tubs/showers are awesome for relaxing muscles, preventing cramps, etc.
  • Extra salt when I exercise, because I’m a salty guy. Seriously. I cramp up if I don’t get enough, and this could be 1-2 grams of salt per liter of water consumed, depending on the temperature outside.

unpacking .deb

Reminder to self:
Debian packages are stored in library archive format.
http://www.tldp.org/HOWTO/Debian-Binary-Package-Building-HOWTO/x60.html
https://www.debian.org/doc/debian-policy/ap-pkg-binarypkg.html

ar -xv file.deb
This returns three files, in this specific order:
debian-binary # A small text file. Always “2.0\n” for now.
data.tar.gz # All of the filesystem bits that get deployed
control.tar.gz # control, md5sums, and pre/post scripts

Note also that data.tar can be .xz format as well.

There are dpkg-build tools for this, but all of this can be done manually for more control if desired.


Owncloud filled /var/lib/mysql!

I installed owncloud, and set it to indexing a pile of files I wanted easier access to.

Well, /var filled, and the DB stopped. :o

I was on Debian Jessie (stable), and needed some updates to continue.

### Expand /var since I'm not ready to move /var/lib/mysql to its on filesystem
lvextend -L 16G /dev/rootvg/hd9
resize2fs /var


### Stop services using mysql
/etc/init.d/apache2 stop


### Dump all databases
mysqldump --all-databases --opt --routines --complete-insert -uroot -p | gzip -9 > /storage/test/mysqldump.2016-03-03.gz
-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.


### Drop all databases except mysql and information_schema
tar -czvf /storage/test/mysql_var_minus_innodb.tgz [dm-z]*
mysql -u root -p
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| owncloud           |
| performance_schema |
| phpmyadmin         |
| roundcube          |
| test               |
+--------------------+
7 rows in set (0.00 sec)

mysql> drop database owncloud;
mysql> drop database performance_schema;
mysql> drop database phpmyadmin;
mysql> drop database roundcube;
mysql> drop database test;
mysql> SET GLOBAL innodb_fast_shutdown = 0;
mysql> exit

### Or for the brave
mysql -e "SELECT DISTINCT CONCAT ('DROP DATABASE ',TABLE_SCHEMA,' ;') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA <> 'mysql' AND TABLE_SCHEMA <> 'information_schema';" | tail -n+2 | mysql -u root -p
mysql -e "SELECT table_name, table_schema, engine FROM information_schema.tables WHERE engine = 'InnoDB';"


### Stop mysql
/etc/init.d/mysql stop

### Remove the InnoDB files
rm /var/lib/mysql/ib*


### changed from jessie to stretch to get MySQL 5.6
### Not quite ready for MariaDB 1x
vi /etc/apt/sources.list
# Standard repo
deb http://ftp.us.debian.org/debian stretch main contrib non-free
deb-src http://ftp.us.debian.org/debian stretch main contrib non-free

### Volatile
deb http://ftp.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ stretch-updates main contrib non-free

### Debian Backports
deb http://http.debian.net/debian stretch-backports main

### security updates
deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free


####################################
apt-get update
apt-get install mysql-server-5.6
apt-get install mysql-server-5.6  ## going from jessie to stretch, so it was a little tweaky


### Increased log and memory size for mysql from defaults (log 25% of buffer pool)
### Changed to barracuda (supports compressed tables)
### Changed to one file per table for various reasons.
vi /etc/mysql/my.conf
[mysqld]
# * InnoDB
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
innodb_file_per_table = ON
innodb_file_format = barracuda
innodb_flush_method=O_DIRECT
innodb_log_file_size=256M
innodb_buffer_pool_size=1G


#####################################
### it recreates the IB files on start
/etc/init.d/mysql start


### Make sure barracuda is set for real
mysql -u root -p
mysql> set global innodb_file_format = 'Barracuda';
mysql> exit


### Import the dump
gunzip < /storage/test/mysqldump.2016-03-03.gz | mysql -u root -p


###########################################################################
###########################################################################
### Repair a problem with MySQL installer / conversion / upgrade
### See http://bugs.mysql.com/bug.php?id=67179
/* 
  temporary fix for problem with windows installer for MySQL 5.6.10 on Windows 7 machines.
  I did the procedure on a clean installed MySql, and it worked for me, at least it stopped
  lines of innodb errors in the log and the use of transient innodb tables. So, do it at
  your own risk..
  
  1. drop these tables from "use mysql":
     innodb_index_stats
     innodb_table_stats
	 slave_master_info
     slave_relay_log_info
     slave_worker_info
	 
  2. delete all .frm & .ibd of the tables above.
  
  3. run this file to recreate the tables above (source five-tables.sql).
  
  4. restart mysqld.
  
  Cheers, 
  CNL
*/

CREATE TABLE `innodb_index_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `stat_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `stat_value` bigint(20) unsigned NOT NULL,
  `sample_size` bigint(20) unsigned DEFAULT NULL,
  `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

CREATE TABLE `innodb_table_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `n_rows` bigint(20) unsigned NOT NULL,
  `clustered_index_size` bigint(20) unsigned NOT NULL,
  `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

CREATE TABLE `slave_master_info` (
  `Number_of_lines` int(10) unsigned NOT NULL COMMENT 'Number of lines in the file.',
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log currently being read from the master.',
  `Master_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last read event.',
  `Host` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'The host name of the master.',
  `User_name` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The user name used to connect to the master.',
  `User_password` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The password used to connect to the master.',
  `Port` int(10) unsigned NOT NULL COMMENT 'The network port used to connect to the master.',
  `Connect_retry` int(10) unsigned NOT NULL COMMENT 'The period (in seconds) that the slave will wait before trying to reconnect to the master.',
  `Enabled_ssl` tinyint(1) NOT NULL COMMENT 'Indicates whether the server supports SSL connections.',
  `Ssl_ca` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Authority (CA) certificate.',
  `Ssl_capath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path to the Certificate Authority (CA) certificates.',
  `Ssl_cert` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL certificate file.',
  `Ssl_cipher` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the cipher in use for the SSL connection.',
  `Ssl_key` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL key file.',
  `Ssl_verify_server_cert` tinyint(1) NOT NULL COMMENT 'Whether to verify the server certificate.',
  `Heartbeat` float NOT NULL,
  `Bind` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Displays which interface is employed when connecting to the MySQL server',
  `Ignored_server_ids` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The number of server IDs to be ignored, followed by the actual server IDs',
  `Uuid` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The master server uuid.',
  `Retry_count` bigint(20) unsigned NOT NULL COMMENT 'Number of reconnect attempts, to the master, before giving up.',
  `Ssl_crl` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Revocation List (CRL)',
  `Ssl_crlpath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path used for Certificate Revocation List (CRL) files',
  `Enabled_auto_position` tinyint(1) NOT NULL COMMENT 'Indicates whether GTIDs will be used to retrieve events from the master.',
  PRIMARY KEY (`Host`,`Port`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Master Information';

CREATE TABLE `slave_relay_log_info` (
  `Number_of_lines` int(10) unsigned NOT NULL COMMENT 'Number of lines in the file or rows in the table. Used to version table definitions.',
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the current relay log file.',
  `Relay_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The relay log position of the last executed event.',
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log file from which the events in the relay log file were read.',
  `Master_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last executed event.',
  `Sql_delay` int(11) NOT NULL COMMENT 'The number of seconds that the slave must lag behind the master.',
  `Number_of_workers` int(10) unsigned NOT NULL,
  `Id` int(10) unsigned NOT NULL COMMENT 'Internal Id that uniquely identifies this record.',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Relay Log Information';

CREATE TABLE `slave_worker_info` (
  `Id` int(10) unsigned NOT NULL,
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Relay_log_pos` bigint(20) unsigned NOT NULL,
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_relay_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_seqno` int(10) unsigned NOT NULL,
  `Checkpoint_group_size` int(10) unsigned NOT NULL,
  `Checkpoint_group_bitmap` blob NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Worker Information';
###########################################################################
###########################################################################
###########################################################################


### Regenerate performance_schema
mysql_upgrade --force -u root -p


### Make sure tables are okay
mysqlcheck -p


### Grow mysql temporary space to prevent:
#### ERROR 1034 (HY000): Incorrect key file for table 'oc_filecache'; try to repair it
lvextend -L 16G /dev/rootvg/hd1
resize2fs /dev/rootvg/hd1


### Set to compressed tables
# gzipped, the dump is 319MB, and deployed, the one table is 6GB, for read mostly data.
mysql -u root -p
mysql> alter table owncloud.oc_filecache ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
mysql> exit


### Clean up free space
mysql -u root -p
mysql> OPTIMIZE TABLE owncloud.oc_filecache;
mysql> exit


#####################################
### fix roundcube since it was unhappy with some of the updates
apt-get install roundcube;


### Cleanup some old stuff amplified by partial updates
apt-get autoremove


### Reboot since we had a new dbus installed, and apache2 is still down
shutdown -fr now

How to show respect when bestowing honors…

It’s great to announce milestones when employees achieve certain number of years. However, if you’re going to do this verbally, it’s important to find out from the person, or their manager, how to pronounce their name.

It’s not acceptable for a CEO or other executive to claim they are honoring someone, but to say “I’m sorry I don’t know how to pronounce these.” If some of the names are really too tough, it’s fine to send out a list via email, and maybe a temporary blurb on the company page. Even having someone else read the list who can pronounce names is acceptable.

Also, if your company is a conglomerate, it’s not okay for the executive to announce only people in the business unit that promoted them, when it’s a call for the entire company. The list really needs to be complete for the audience selected. It is entirely acceptable to thank only a specific unit when only addressing that unit. It’s entirely acceptable to put a list up somewhere and ask people to review it, as long as they are given access and time.

Further, communication really needs to be targeted. If you have several business units, do not spam XYZ with things only related to PDQ, and vice versa. Technical people for one product do not need, and do not want, sales information for other, mostly unrelated products. On the same token, Sales people do not want, nor do they need, in-depth details about technical matters.

Lastly, when concerns about respect are brought up, it’s important to directly address them. Do not put them off to a later date, or assume they are okay. Put the issue on a list, and put follow up dates on your calendar. Make sure you understand the issue, and that it’s been resolved. Usually, it’s simply a communication error, or sometimes it’s a cultural difference.

Remember, honor and respect are key components. These little things are the pillars of any company. If their expression is hollow or incomplete, then what does that say about the foundation of your business?


Lorry Dream

Looking out the window. The house was my mon’s house, but the garage was Mr. Bridgeforth’s house.

I see a big, blue truck driving up, sideways.  The front two wherls are turned sideways, and the back two are off the ground.  This way, they pull right up into the driveway.

I get to the inside garage door in time to see the loading ramp fully extended.  It bumps into a rectangular folding table, the particle board kind, and then pushes back another inch, compressing/denting.

They deliver whatever it is (cannot see for some reason.)  Then, they backbup at an angle and mash into my Flex’s bumper.

“HEY!  WATCH OUT!”, I say.

The fork lift guy just says, “No Problem.”  It’s heavily accented in local Spanish, and with a big smile.

“Fuck you!  It is a problem!  Este auto es me babe! Me amo lo!”

“Ehhh.  Get a Suburban S.”

Then I woke up.

There was more Spanish but I am not as fluent as my dream self.


Dream

Failed a class because I could not get my lines for an Ozeri production of Romeo and Juliette.

I was scrambling to find a hardcopy, or PDF. Instructor was not helping. Others in the production said I did not need the lines. I angrily said I knew NO lines and only had a hour left to study them.

I was finishing looking through a pile of books on a cart when the production was over. Everyone was disapponted because I my part was skipped. Josh E. was there, helping clean up.

Somehow, I transitioned to cleaning a messy commercialspace with incomplete floors, piles of supplies. I really needed to just hire someone to do the flooring. This was my home.

I had to warn the kids and a couple of their friends to stay back. I had spilled dilute sulfuric acid. Somehow, I was naked and had to keep rinsing everytime I spilled.

I found a bag of bicarb to sprinkle around, but as I was almost done, I realized it was ground coffee instead. Too late to worry about staining the carpet.


Lightning

I have never been so close to lightning that I could hear the little pops, like grease hitting a hot skillet, or like a tig welder starting its arc.

That part was bright and I though I was about to get struck in my driveway.Then the crack and pop, and everything was bright, and the echo. And me sounding like larry, curly and moe, running for the garage, even though it was over by the time I started to move.

Did not mess myself, and was not so close that I felt prickles or anything. House did not have any surges or UPS beeps.

Still, so much adrenaline.


Posted in xaminmo | Comments Off on Lightning

VIO server hangs

To be updated with resolution at some point.
This is the second time a secondary VIO server has hung with a UIO_WRITE in the kernel log
The VIO servers have only been up 55 days.
Number R12 hung about a week and a half ago, but no dump was collected.
Number R22 hung this morning, and a dump was collected.
I couldn’t find anything juicy (see below), but I did find that E11 had lost its second internal boot disk.
I was able to reset that with chpv, but I’m wondering if there’s something going on with the SAS controllers.

Also, these have network hangs intermittenly, and sometimes vtmenu times out.
I’m wondering if there’s some sort of power issue with the site.

---------------------------------------------------------------------------
LABEL:          DUMP_STATS
IDENTIFIER:     67145A39

Date/Time:       Mon Oct 19 09:19:49 EDT 2015
Sequence Number: 367
Class:           S
Type:            UNKN
WPAR:            Global
Resource Name:   SYSDUMP

Description
SYSTEM DUMP

Probable Causes
UNEXPECTED SYSTEM HALT

User Causes
SYSTEM DUMP REQUESTED BY USER

        Recommended Actions
        PERFORM PROBLEM DETERMINATION PROCEDURES

Failure Causes
UNEXPECTED SYSTEM HALT

        Recommended Actions
        PERFORM PROBLEM DETERMINATION PROCEDURES

Detail Data
DUMP DEVICE
/dev/lg_dumplv1
DUMP SIZE
            1108637696
TIME
Mon Oct 19 08:54:43 2015
DUMP TYPE (1 = PRIMARY, 2 = SECONDARY)
           1
DUMP STATUS
           0
ERROR CODE
0000 0000 0000 0000
DUMP INTEGRITY
after uncompressing
FILE NAME

PROCESSOR ID
           0
---------------------------------------------------------------------------
LABEL:          MINIDUMP_LOG
IDENTIFIER:     F48137AC

Date/Time:       Mon Oct 19 09:19:15 EDT 2015
Sequence Number: 366
Class:           O
Type:            UNKN
WPAR:            Global
Resource Name:   minidump

Description
COMPRESSED MINIMAL DUMP

Probable Causes
System dumped. Minimal Dump collected in Non-Volatile Memory.

        Recommended Actions
        PERFORM PROBLEM DETERMINATION PROCEDURES

Detail Data
Minidump Data:
4D33 0D4B 2D17 0060 0027 0027 0032 0048 0000 0000 4214 7800 0000 0000 DF18 67B6
0000 0003 0001 5624 ED78 05E5 36A8 6575 DDDD 0002 0004 0000 000A 000D 5624 E813
0000 0000 000F 0000 2F64 6576 2F6C 675F 6475 6D70 6C76 3165 6345 A4C0 9001 2000
0024 5648 A09B 00A0 2189 8610 234A 9C18 8180 2A14 53B2 4C81 22E5 C990 8910 DDBC
91D3 260C 9B86 2249 9A6C 0865 6300 2408 0040 9060 825F A802 2C18 F2A4 0914 0001
4614 2848 11C0 837F 18E7 FDEB 078A A280 5F62 1055 1C49 7224 BC82 080A 0202 F0E3
573E 0030 1894 5CD9 F225 8C92 382B 76A8 B120 1E00 0500 C02D 4053 3200 49A3 0565
C459 6584 E20E 4DCA 7062 C448 AC8C 8DA2 3909 0A30 C682 4449 9F0F 1440 0090 018F
4725 B52A 0A50 42CB 9F47 AEB0 BEFE 2C00 8401 08B5 C6EE CEA4 8800 920C 9229 0B7A
1544 0427 8601 70E4 BC19 53C6 0D1D 3979 56C4 B859 1104 2958 010A 1800 7032 2B59
0033 7E1A 9177 0857 891F 2B01 8018 0B00 884F 82C0 00E9 8053 3103 68D1 A44D 9B25
8800 825E 8A0B 80A2 F04C 9CA2 EDD0 0A46 977E 112A F56A 8264 881F C75D 1AC6 9FD4
BD29 573C 882A 7541 BF23 178C 3CE0 8B9E CFCD 800E 5401 52FB 76F2 DC3C 72A4 46F1
BB3D F2D1 8C92 0D7B 43B1 0388 0404 5007 4C0D 1560 D701 0407 1034 4480 0579 D38A
2FEF 50E4 2084 123E 1861 8316 5648 2186 1B12 34E1 851E 66B8 6071 2496 6862 4102
2010 D144 245D 94D1 461D A108 9248 2712 D481 389C A194 D307 7B8D 7540 5A25 F148
D24A 633D 00C8 0E81 F804 9450 6C94 34D0 4848 11E4 C216 6E60 E014 5452 4D55 D555
4779 B615 135E 9104 9658 0068 B09B 564A E4A2 9612 B8B8 85A2 314C C405 A592 7431
A09D 56C6 B0B7 174A E08D 1418 415E 1152 5841 F581 30C0 7608 25B6 5863 8F45 36D9
4896 61A6 598E 15B1 165E 8D04 6900 400D D4E5 0208 09CE B1A6 2741 04C8 D08E A599
6EDA 2920 7BA0 E4DB A5DA 3C89 2949 9A72 FADE 21B9 0CF2 49A8 D011 576B A7A3 4C81
1D04 7716 C49D 7704 F509 DC78 E59D 67D4 001B 9C99 AAAD CAE5 42CA 00F3 D597 5C3C
D480 4102 22D8 4540 9B82 0C86 D821 001F 6A08 22BA 1972 B86E BAEE AA0B C088 B3D6
3BEB 002A 4A54 928B FF68 C491 4733 1637 4008 2575 06C0 9F34 B914 0038 320D C992
C2E0 D4BB 534F 3F05 B5C0 B823 1D9A D50B F1C0 40CD 9551 9534 D53F 5B62 95D5 566C
8439 D298 6345 7B56 2F6B F2E2 269E 6CC8 B9F2 5C75 8D8A 2718 3821 DBD7 5F7E 5214
A8CA 906A 6C6C A28A 31E6 1864 9215 ABDA 6599 6D66 7041 A82E 8BE9 0600 DCD0 6929
4FF0 DA1A 45A5 9E5A 11D6 5ADF 9A4B 2992 B85A 1F41 E269 632F 4964 779A 8A06 5E47
E759 DC66 17F3 CEB0 4E03 706C 45CA 1624 5E45 E499 0780 0101 0022 401B 3613 8477
B5C6 E091 2D45 DB76 CBC4 2BE1 624C AFB9 EFB6 CBB9 BCF1 86FE 79BC 9BBF 6D3A 7104
E4CB E248 FCFA 1BA3 5601 1717 2544 0519 8CF0 C336 353C 52C2 3649 CC93 9216 D351
52B9 38CD 90C2 09F6 809C 2555 5699 9CD3 568C 104D 11CB 0070 20ED 5AC1 AC09 CCCC
0040 DFF8 F438 33F0 D05B C856 E473 E03A 0A06 8020 D253 6428 A2A8 28AA 74A3 4D43
0AF5 A453 1354 B5E0 B372 0040 0ED4 B985 15FE E135 D714 2436 B3A9 88FF 0078 AB5B
5CE1 0F6A 0B8F 704E 5790 0506 100D 1FA8 1B71 2CD8 C034 608E 37C4 22C9 DF28 823E
000C 8E22 853B CF40 1270 0FA2 5084 83CA B9C5 1F4E 31B9 8254 0E0C AA08 44E6 0A52
3A78 8DEE 87EC 3A97 0F83 D839 218A 8878 144C E248 0AA0 BA7D 4DC5 7500 0B09 8966
1725 DBA9 0477 9CD1 9DF9 B098 3F13 4D0C 7842 9116 4556 4791 D925 2008 B4B0 84F2
44A6 A5E6 75E9 64C6 6045 FB08 42BD 0E5C 4F09 C558 1331 B8B7 1556 7CAF 2074 AA0B
CFDE F2BA DDF1 A584 0713 DAFA 0645 92F7 5184 3BF2 6314 D31E 5599 FB49 ED2C C450
CB0F EC80 09E2 7400 003B C0CD 10CA A18B 69CC 8735 3118 0912 F987 A94F 86F2 3DA3
DC05 6A08 F29C AF51 A407 71E0 46F9 4A78 C282 E092 132A 0484 029E A133 00B8 5294
E5F0 45D7 0842 9F92 1C13 96E5 18C6 39BC 9384 BBB8 B022 6444 D11B 0BF2 CCD1 8C92
1804 2408 06C6 000C BF89 865B 6158 01A8 7823 2E1E 126F 88F0 F41C 1141 07C4 7852
A874 4ACC 2741 0CD0 C416 3D11 4651 A411 71A8 58BB F499 6864 231B 4931 0B32 3B63
FEAE 6242 E143 4936 03A5 47DE 8016 1803 2596 D8C8 3C2E 5514 8ECC 9823 00A8 E781
3B26 634D C8E0 A331 98F1 4788 0492 0119 ED9E 31CA B927 DE20 F24F 0008 1423 8B06
BF48 2ECD 514E 8B54 D428 8526 6468 D20E 34CD 8A07 00D0 0351 9AE3 0346 6226 2A55
5992 5E9A 68A9 4D85 E553 BF50 C08A E052 9780 039A D56E 1907 601E EE50 1310 47B1
B0EA D410 C8A1 8623 61AB 564D 5009 6A5A 9324 1455 CB36 0922 576F 9AE3 0449 48CD
38CB 9980 7352 230C 6A20 C20E C945 CF79 8ACE B1F5 94A7 3D23 844F 7D2A F100 FD64
DD3F FF25 2329 1267 6065 2C28 6FAE 5893 A068 9122 BC0B 8AEF 28B6 A405 94AF 2009
FAA8 416A F00C 43AC 9124 232B D95E 9D64 0C76 8894 7A1F B863 33D6 C40C 95B2 A3A5
0178 69F9 B612 B19A 1EEC A68A 1414 4E1C 79B4 F825 4D92 40B5 9FA4 2E89 2225 30E3
A8E8 200E 8F7E E054 4264 50AA 0449 6545 56C9 B659 8DB7 BC5C A5A5 A8BC 9ACB 5D8A
9595 6435 AB01 B035 811A ACED BD5A 3544 17E0 5A11 00FB 7511 2FB0 2B00 AE89 4292
C82A B414 31B0 3C86 608E 4584 1300 8335 67E5 C290 8A59 1EAC 9D8C 7DEC 641B 3B62
111F D1B2 2846 4066 2BD2 3A80 7656 A09E 2128 41AC 4810 DE05 000E A725 ADC2 62EA
C587 B616 C67C D96B 0248 4005 4EDC 7624 B975 A36C 7122 8063 30E0 B716 2153 08EE
188D 3541 838F 4E6E E948 C307 09B5 1C23 27E7 BBAF 4173 BAC8 E91A CD20 485B D44F
EB57 C9ED 12B5 7B4A 8086 26EF B03F 9210 6C08 4ED5 C707 0180 82A9 AEB7 AAB3 BAB3
53F7 E180 AE92 15AC 2414 B309 47F2 CBF3 04A8 025A E824 4504 ADD5 7EEC 8A99 6B2B
08A5 BD79 0EC4 2898 C163 D6E6 9201 B0E9 099F 8300 D711 2739 356C 046E 8921 0517
4600 88E7 F54E C9DA DA88 B82E A2AE E555 5914 9F2E 012B A648 8B39 0B3B CF0E 14C2
---------------------------------------------------------------------------
LABEL:          SYS_RESET
IDENTIFIER:     1104AA28

Date/Time:       Mon Oct 19 09:19:15 EDT 2015
Sequence Number: 365
Class:           S
Type:            TEMP
WPAR:            Global
Resource Name:   SYSPROC

Description
SYSTEM RESET INTERRUPT RECEIVED

Probable Causes
SYSTEM RESET INTERRUPT

Detail Data
KEY MODE SWITCH POSITION AT BOOT TIME
normal
KEY MODE SWITCH POSITION CURRENTLY
normal
---------------------------------------------------------------------------
LABEL:          ERRLOG_ON
IDENTIFIER:     9DBCFDEE

Date/Time:       Mon Oct 19 09:20:41 EDT 2015
Sequence Number: 364
Class:           O
Type:            TEMP
WPAR:            Global
Resource Name:   errdemon

Description
ERROR LOGGING TURNED ON

Probable Causes
ERRDEMON STARTED AUTOMATICALLY

User Causes
/USR/LIB/ERRDEMON COMMAND

        Recommended Actions
        NONE

---------------------------------------------------------------------------
LABEL:          CONSOLE
IDENTIFIER:     7F88E76D

Date/Time:       Mon Oct 19 08:54:09 EDT 2015
Sequence Number: 363
Class:           S
Type:            PERM
WPAR:            Global
Resource Name:   console

Description
SOFTWARE PROGRAM ERROR

Probable Causes
SOFTWARE PROGRAM

Failure Causes
SOFTWARE PROGRAM

        Recommended Actions
        REVIEW DETAILED DATA

Detail Data
USER'S PROCESS ID:
               7536648
DETECTING MODULE
conwrite
FAILING MODULE
UIO_WRITE
RETURN CODE
           6
ERROR CODE
           0

We gathered a snap -ac for IBM, and while waiting, I did a quick look in the dump.

cd /tmp/ibmsupt/dump
chfs -a size=+4G /tmp
uncompress unix.Z
dmpuncompress dump.BZ
kdb dump unix
kdb dump unix
dump mapped from @ 700000000000000 to @ 7000000df1867b6
           START              END <name>
0000000000001000 0000000004150000 start+000FD8
F00000002FF47600 F00000002FFDF9C8 __ublock+000000
000000002FF22FF4 000000002FF22FF8 environ+000000
000000002FF22FF8 000000002FF22FFC errno+000000
F1000F0A00000000 F1000F0A10000000 pvproc+000000
F1000F0A10000000 F1000F0A18000000 pvthread+000000
Dump analysis on CHRP_SMP_PCI POWER_PC POWER_7 machine with 16 available CPU(s)  (64-bit registers)
Processing symbol table...
.......................done
read vscsi_scsi_ptrs OK, ptr = 0x0
vmcKdb_anchor_p=0x0000000000000000
vmc kdb command extension, 64 bit version, is loaded.  Commands are:
vmc - load extension and show help text
vmcu - unload extension
vmcd - VMC dump anchor, adapter, connections
vmcfa - VMC fetch anchor from symbol table
vmcsa address - VMC set anchor
vmcdb - VMC dump connection buffers
vmcdm - VMC dump connection messages
vmcdq - VMC dump queue
vmct directoryname - VMC Internal Adapter trace
vmctbm directoryname - VMC buffer and message trace
vmcKdb_anchor_p=0x0000000000000000

### The time the crash was forced
(0)> dw time
time+000000: 00000000 5624E813 F1000A00 20295000  ....V$...... )P.

### Basic stats on the system
(0)> stat
SYSTEM_CONFIGURATION:
CHRP_SMP_PCI POWER_PC POWER_7 machine with 16 available CPU(s)  (64-bit registers)

SYSTEM STATUS:
sysname... AIX
nodename.. viopr22
release... 1
version... 6
build date May  4 2015
build time 12:52:42
label..... 1516D_61d
machine... REDACTED
nid....... REDACTED
time of crash: Mon Oct 19 08:54:43 2015
age of system: 55 day, 6 hr., 19 min., 15 sec.
xmalloc debug: enabled
FRRs active... 0
FRRs started.. 0

### Process table
(0)> status
CPU INTR      TID  TSLOT     PID  PSLOT  PROC_NAME
  0          20005      2   20004      2  wait
  1         190033     25   F001E     15  wait
  2         1A0035     26  100020     16  wait
  3         1B0037     27  110022     17  wait
  4         1C0039     28  120024     18  wait
  5         1D003B     29  130026     19  wait
  6         1E003D     30  140028     20  wait
  7         1F003F     31  15002A     21  wait
  8         210043     33  16002C     22  wait
  9         220045     34  17002E     23  wait
 10         230047     35  180030     24  wait
 11         240049     36  190032     25  wait
 12         25004B     37  1A0034     26  wait
 13         26004D     38  1B0036     27  wait
 14         27004F     39  1C0038     28  wait
 15         280051     40  1D003A     29  wait
 16-31   Disabled

### Stack trace
(0)> set 18
 18 trace_back_lookup         true

(0)> where
pvthread+000200 STACK:
[0009BFA8].h_cede+000014 ()
[0007BEF0]waitproc+000510 ()
[0020A4B0]procentry+000010 (??, ??, ??, ??)
[kdb_read_mem] no real storage @ FFFFFFFFFFF8C90

### Error Report entries still in ram
(0)> errpt
ERRORS NOT READ BY ERRDEMON (ORDERED CHRONOLOGICALLY):

Error Record:
erec_flags ..............        1
erec_len ................       60
erec_timestamp .......... 5624E813
erec_rec_len ............       3C
erec_cid ................        0
erec_dupcount ...........        0
erec_duptime1 ........... 5624E811
erec_duptime2 ........... 5624E813
erec_rec.error_id ....... 7F88E76D
erec_rec.resource_name .. console
00000000 00730008 636F6E77 72697465  .....s..conwrite
00325549 4F5F5752 49544500 00000006  .2UIO_WRITE.....
00000000 00000000                     ........

Error Record:
erec_flags ..............        1
erec_len ................       48
erec_timestamp .......... 5624E813
erec_rec_len ............       24
erec_cid ................        0
erec_dupcount ...........        0
erec_duptime1 ...........        0
erec_duptime2 ...........        0
erec_rec.error_id ....... 1104AA28
erec_rec.resource_name .. SYSPROC
6E6F726D 616C0000 6E6F726D 616C0000  normal..normal..

### VMM Error entries still in ram
(0)> dw vmmerrlog 9
vmmerrlog+000000: 00000000 53595356 4D4D2000 00000000  ....SYSVMM .....
vmmerrlog+000010: 00000000 00000000 00000000 00000000  ................
vmmerrlog+000020: 00000000                                   ....

### Program errors in memeory
(0)> dw prog_log 8
expected symbol or address

### Memory status - notice bad pages is also 4GB.
### I think this is memory_max, because free pgsp blocks is high.
(0)> vmker

VMM Kernel Data:
        (use [-dr | -seg | -lrul | -psize | -pvl | -skey | -ras] for specific info)

eye catch         (eyec)       : 766D6B6572564D4D
total page frames (nrpages)    : 00200000
bad page frames   (badpages)   : 00100000
good page frames  (goodpages)  : 00100000
ipl page frames   (iplpages)   : 00180000
total pgsp blks   (numpsblks)  : 00100000
free pgsp blks    (psfreeblks) : 000E5C42
rsvd pgsp blks    (psrsvdblks) : 00001000
max file pageout  (maxpout)    : 00002001
min file pageout  (minpout)    : 00001000
repage table size (rptsize)    : 00010000
next free in rpt  (rptfree)    : 00000000
repage decay rate (rpdecay)    : 0000005A
global repage cnt (sysrepage)  : 00000000
swhashmask        (swhashmask) : 000FFFFF
cachealign        (cachealign) : 00001000
overflows         (overflows)  : 004627C2
reloads           (reloads)    : 0056DDCC
alias hash mask   (ahashmask)  : 00007FFF
max pgs to delete (pd_npages)  : 00001000
vrld xlate hits   (vrldhits)   : 00000001
vrld xlate misses (vrldmisses) : 0000079F
pgsp bufst waits (psbufwaitcnt): 0078C9C6
fsys bufst waits (fsbufwaitcnt): 000008B4
rsys bufst waits(rfsbufwaitcnt): 00000490
xpager bufst waits(xpagerbufwaitcnt): 00000636
phys_mem(s)      (phys_mem[0]) : 00280000
phys_mem(s)      (phys_mem[1]) : FFFFFFFF
phys_mem(s)      (phys_mem[2]) : 00000000
THRPGIO buf wait     (_waitcnt)  : 00000000
THRPGIO partial cnt (_partialcnt): 00000000
THRPGIO full cnt    (_fullcnt)   : 00000000
num lgpg\'s added    (nlgpgadded) : 00000000
num lgpg\'s free\'d   (nlgpgfreed) : 00000000
# frd lgp prepal (nlgpgfreedini) : 00000000
num cow mappings    (cow_pages)) : FFFFFFFFFFFF21E6
num cow page-ins    (cow_pgins)) : 066ADE1A
nosib pg-copies (npgcopies_nosib): 00025331
mmap alias reload (mmap_areload) : 00000000
mmap soft alias r (mmap_areload2): 00000000
AME exp. mem size (ame_mem_npgs) : 00000000
AME max  mem sz (ame_maxmem_npgs): 00000000
AME mem exp factor  (ame_factor) : 00000000
AME sys mem view(ame_sys_memview): 01
klock pf rsvdblks(klk_pfrb_pct): 000001F4
LSA ESID alloctor      (lsa_esid_alloc): 0000
LSA 1tb sh thresh     (lsa_sh_alias_th): 000C
LSA 1tb unsh thresh (lsa_unsh_alias_th): 0100
INVALID_HANDLE        (inval_vmh): FFFFF080

### Dynamic reconfig says we've had memory removed.
(0)> vmker -dr

VMM DR Related Data:

max page frames.......... 000000200000  frames on ipl............ 000000180000
current frames........... 000000100000  # bad frames............. 000000100000
DR mem adds.................. 00000001  DR mem removes............... 00000017
DR rsvd mem adds............. 00000000  DR rsvd mem remove........... 00000000
DR lmb reaff ................ 00000000  DR lmb reaff failed.......... 00000000
DR miss reloads ena.......... 00000002  DR miss reloads dis.......... 00000006
DR mig refcntmiss............ 00000000  DR migrate trans............. 00000000
DR mark    trans............. 00000000  DR v_look migr miss.......... 00000000
DR total migrates............ 000F1F30
DR fixlmb migrates........... 00000010  DR serv migrates............. 0000173E
DR lwmig DMA mapper.......... 00000000
MPSS broken migs............. 000006F8  MPSS brk mig errs............ 00000000
MPSS chunk migs.............. 000007CC  MPSS chunk migerrs........... 00000000
DR vmpool adds............... 00000000  DR vmpool removes............ 00000000
current maxvmpool............ 00000001
DR lpgvmp adds............... 00000000  DR lpgvmp remsoves........... 00000000
DR mempool adds.............. 00000000  DR mempool removes........... 00000000
DR memory moves.............. 00000000  DR memp rebal calls.......... 00000011
DR memp transients........... 00000000
Calls to alloclmb............ 00000000  Calls to freelmb............. 00000000
num lgpg\'s added............. 00000000  num lgpg\'s free\'d............ 00000000

### We've had 6 failed page creates.  Is this important?
(0)> vmker -pvl
pvlist overflows             (pvl_ovflows)  : 00002CC5 (00000005 per group)
failed page create           (pvl_grow_fail): 00000006
successful page create       (pvl_grow_succ): 00000007
failed page create (hard)    (pvl_hard_fail): 00000000
successful page create (hard)(pvl_hard_succ): 00000000
successful page free         (pvl_shrink)   : 00000000
skipped grows because no PAL (pvl_nopal)    : 00000025
# entries per group on boot  (pvl_bootavgpg): 00000008
PVLIST kproc thread id       (pvl_tid)      : 00080011
Start of PVLIST array        (pvl_first)    : F200800020000000
Current end of PVLIST array  (pvl_last)     : F200800020200000
Maximum PVLIST eaddr + 1                    : F200800024000000
Current number of PVLIST entries            : 00020000
Max number of PVLIST entries (pvl_maxels)   : 00400000
Average length of free list  (pvl_avgfree)  : 00000000
eaddr to use for RMLMB fail  (pvl_pinaddr)  : F10013A650000000
PVLIST lock                  (pvl_lock)     : 00000000

### Memory shows we have low free, high pinned.
(0)> memstat

Pageable Memory Status

Total pageable frames:    00000F74B0    3.9GB   -----
   4K pageable frames:    0000013DB0  317.7MB     8.0% total pageable
  64K pageable frames:    000000E370    3.6GB    91.9% total pageable

Total free frames:        0000001636   22.2MB     0.5% total pageable
   4K free frames:        0000000746    7.3MB     2.2% 4K pageable
  64K free frames:        00000000EF   14.9MB     0.4% 64K pageable

Total nrsvd frames:       0000000000    0.0MB     0.0% total pageable
   4K nrsvd frames:       0000000000    0.0MB     0.0% 4K pageable

Total comp frames:        00000F51DA    3.8GB    99.1% total pageable

Total perm frames:        0000000B40   11.3MB     0.2% total lruable
   4K perm frames:        0000000B40   11.3MB     3.6% 4K lruable

Total lruable frames:     00000F5880    3.8GB   -----
   4K lruable frames:     0000013810  312.1MB     7.9% total lruable
  64K lruable frames:     000000E207    3.5GB    92.0% total lruable

Total pinned frames:      00000C47FF    3.1GB    79.4% total pageable
   4K pinned frames:      000000FE4F  254.3MB    80.0% 4K pageable
  64K pinned frames:      000000B49B    2.8GB    79.4% 64K pageable

Total pinnable remaining: 0000001568   21.4MB     0.5% total pageable
   4K pinnable remaining: FFFFFFFFFFFFFFD8    0.0TB     0.0% 4K pageable
  64K pinnable remaining: 0000000159   21.6MB     0.5% 64K pageable

!!! 4K free frames less than minfree.
!!! Total perm frames below minperm.
*** 4K perm frames within 5% of minperm.
!!! 4K pinned frames within 5% of maxpin.
!!! 64K pinned frames within 5% of maxpin.
!!! 4K free frames less than psm_minfree_thresh.
*** 64K free frames between psm_maxfree_thresh and psm_minfree thresh.
!!! 4K page size above psm_maxpin limit.
!!! 64K page size above psm_maxpin limit.

### There's nothing waiting on paging.
(0)> th -w WMEM

(0)> th -w WPGIN

(0)> th -w WPGOUT

(0)> th -w WFREEF

### No pending I/Os
(0)> pdt *
               SLOT   NEXTIO           DEVICE  DMSRVAL    IOCNT    OLDIO </name><name>

vmmary_pdt+000000 0000 FFFFFFFF 8000000A00000002 00000000 00000000 00000000 paging
vmmary_pdt+007400 0080 FFFFFFFF 02BE5D40 00000000 00000000 00000000 remote
vmmary_pdt+0074E8 0081 FFFFFFFF 8000000A00000009 00000000 00000000 00000000 local client
vmmary_pdt+0075D0 0082 FFFFFFFF 8000000A00000008 83802E080 00000000 00000000 local client
vmmary_pdt+0076B8 0083 FFFFFFFF 8000000A00000005 00000000 00000000 00000000 local client
vmmary_pdt+0077A0 0084 FFFFFFFF 8000000A00000006 00000000 00000000 00000000 local client
vmmary_pdt+007888 0085 FFFFFFFF 8000000A00000007 00000000 00000000 00000000 local client
vmmary_pdt+007970 0086 FFFFFFFF 8000000A0000000B 00000000 00000000 00000000 local client
vmmary_pdt+007A58 0087 FFFFFFFF 8000000A0000000A 00000000 00000000 00000000 local client
vmmary_pdt+007B40 0088 FFFFFFFF 8000000A0000000C 00000000 00000000 00000000 local client
vmmary_pdt+007C28 0089 FFFFFFFF 8000000A00000003 00000000 00000000 00000000 local client
vmmary_pdt+007D10 008A FFFFFFFF 8000002D00000002 00000000 00000000 00000000 local client

### No locks
(0)> lq
                    BUCKET HEAD            COUNT

(0)> dla
 No deadlock found
</name>

Wmarow’s IOPS Calculator

Marek Wołynko has discontinued the wmarow iops calculator, and pulled down the page.

I use this all the time, though I normally search on “wmarrow iops”, but whatever.

Anyway, archive.org still has this, and just to be safe, I downloaded that and saved it for my own use.

I probably won’t update it, but I did clean it up just a tiny bit (so much social media and ad tracking removed!).

http://omnitech.net/iops/

If my htaccess is ever broken, I also run it at home on the same path, but none of YOU need to know that.
Either you know the server, or you don’t.


Nerve Inflammation

For those with nerve pain from foods, these gave Erica the worst reaction she’s had this year for her C-spine lesion, “it feels like a thousand papercuts”. It’s the only thing she’s had today, which is only suspect, but not proof.
However, my L-Spine injury also flared up before she mentioned it to me. My left leg, on the front, feels raw and puffy (it is not).
Not 100%, because I did ride trails on Wednesday, and we both have a bit of upper respiratory congestion going on.

So this is just a warning to be cautious and mindful if you have these sorts of nerve inflammation issues. 
If you have no such issues, these are very tasty when baked in the oven.

  


Posted in xaminmo | Comments Off on Nerve Inflammation

Waking up dream

So lame.  Detailed..  Wasting time making some art pieces with a friend, and got paid half of $1500 in food stamps and gift certs. Was behind a bar for a shady group.  Talking to a friend after while waiting for my wife and kids to pick me up on our way out of town.  My friend had a million dollars hidden in a black bear hidden in a tree.  She could not invest it, because the  she would need a white bear.   Other stuff too, but it’s faded.


Sprinkler fuses keep blowing…

Lazy reference for sprinkler troubleshooting after my fuses kept blowing.

If your sprinkler system keeps blowing a fuse, look for the zone that gets no water. That’s where the short is. This document explains how to repair it.


If it’s not dead-grass yet, then make sure you are stocked up on fuses, and manually cycle through the zones. When you find the one that blows the fuse, replace the fuse, and set that zone to zero minutes. Test the rest of your zones.


Once you know which zone(s) are bad, you can run the system with the faulty zone disabled until you’re ready to replace the valve. At this point, you can call for help, or try to fix it yourself.


If it’s “all zones after zone X”, then you may have a cut in the control wire. You may need a metal detector to follow/find the wire unless you know where digging happened.


To locate your zones, you’ll need to know which color wire is for the failing zone. Look where the wires connect in your unit, and you’ll see numbers next to the wires. Black is common to all zones, and the colors are specific to the zones. The slot or screw for the zone should be numbered. In this example, we’ll say “Zone 3” and it’s the Yellow wire here. Yours may be different.

If it’s just one sprinkler, find your failing sprinkler can in the yard. It should be a green lid, or maybe a whole cluster of valves in a box, or just next to the house or in a flower bed. The valve is green or black, maybe faded, with a hexagon sticking out of the top (solenoid). There will be waterproof wire-nuts or splices in there. These may be wrapped in tape, but inside, it should be grease-filled clips or wire nuts. If it’s not grease filled, that may be your whole issue, with corroded wires, etc. All of the valves will splice the black wire, but only one will splice the wire you identified before (Yellow for me).


Once found, look for any damage, but likely, it will just look normal, or maybe leaking water. Make note of the type of valve. Either it has 6 screws around the top (normal), or it looks like the whole cap screws off (jar top). If it’s anything else, you may need help from a professional to replace the entire valve body, splice pipe, etc.


When you go to replace the solenoid, it’s better to just replace the entire top part. Likely, the valve gasket has aged, etc. It’s often lower cost than buying the valve kit plus the solenoid. Just buy a whole, new 3/4″ or 1″ valve. It does not matter which of the 2 sizes you get, since the top half is the same for both. The only thing that matters is if you use jar-top or normal top.


Also, buy waterproof splices or wire nuts, and more fuses. They are usually 1A fast blow, glass tube (GMA1), though some are 0.5A and some are 1.5A. Check your book to make sure you get the right ones, but Rainbird ESP is 1A.

 

When you’re ready to replace the valve, turn off the system so there is no chance of it turning on while you’re working. There should just be an “off” position, but you can unplug the power brick too if you want. It’s only 24 volts, but it’s AC, and the box will have water in it. This makes it a little bit of a hazard, at least from a comfort issue, if it were to turn on.

Next, turn off the water. The sprinkler system is under constant pressure, and the valve just lets the water into that loop or leg. It’s really tough to replace while it’s flowing. If you don’t know where the shutoff is for your sprinklers, just turn it off for your whole house at the street. This usually takes a wide-slot t-bar tool, but you can hammer a 1.5″ steel pipe partially flat on one end and use a pipe-wrench if you really need to, and have that handy.

If there is no shut-off for your sprinklers, then now might be a good time to install one. You’ll need pipe cutters, a shovel, a lawn box for it to go into, pipe cement, and a valve (ball valve is best). Go with something that has a hefty handle so it won’t need replacing later.


If you wanted to drain the pipe, you can open a valve by twisting the solenoid counterclockwise 1/8th of a turn. That will let the pressure out of the pipe and it will drizzle into whatever sprinklers are there. If the valve is at the low spot, you’ll still have water come out when you pull the valve. That’s fine, because it will help flush some of the debris out of the valve (if any).


Remove the clips/wire nuts, and push the wires aside. You don’t need to pay attention to polarity. It’s 26 volts AC, so it’ll work no matter which way it’s wired. If you’re geeky, you can check resistance, and it should be in the 25 Ohm range. Too low is a short, and too high is corrosion inside. Jus tmake sure that you don’t lose any of the black wires if there are several clipped in.


Next, remove the 6 screws from the top of the valve, or unscrew the cap if it’s a jar-top. If it’s too stuck, an oil filter wrench, or robo-grip, or channel locks can help. There is a spring that may want to leap out, so be careful removing the very top. Collect all of your parts. You should be left with just a plastic housing mounted in the pipe that has some concentric rings inside, but no loose parts.

If any dirt clods or crud has fallen in there, pull it out, rinse it out, or turn on the water part way to flush it out. it does not have to be spotless, but it should not be muddy.


Pull the top off of your new valve, and swap it in place of the old one. If you’re doing multiples, or decided to replace them all (they have a life-span of about 15 years, so it’s just a matter of time…), then do them.


Once it’s assembled water-tight, turn on the water supply and look for leaks. Solenoid should be snug clockwise, any bleed screw on the top should be snug, and etc. The sprinklers should not be leaking. You should not hear water flowing.

Next, test that it turns on manually by twisting the solenoid counter-cockwise about 1/8th turn. The sprinklers should come on. Twist it back to shut them off.


Once you are sure it’s water-tight and works properly, then connect up your wires with grease caps. It does not matter which solenoid wire goes to which control wire, but any common/black splices in the main cable need to be preserved. If your grease caps are the small, screw on kind, then you’ll want to wrap them in hurricane tape or gaffer’s tape to keep them clean. The snap-shut caps are ok to be left loose in the can.

If you need to replace the can, then now is a good time. You may have to cut out the bottom of the pipe-hole to fit it over. It’s a pain to dig out, but if it’s messed up, it will protect your new valve better to have the can replaced. Just don’t shovel into your control wire. The 7″ round cans are good for one valve, but if you have all of the valves together, a bigger, square/rectangle box may be needed. Even if it’s all above ground, keeping them boxed will keep animals from nibbling on wires.


Now, the moment of truth, test from the controller. Make sure you can manually enable the repaired zone(s). If not, check your wires, since you should have already verified the valve manually works. If anything fails, go back and re-do the steps. Maybe you dropped the spring, or forgot to put the valve gasket in?

If you’re stuck, and it’s bad, then this might have been a project to call a professional about. Maybe you can get someone quickly. Turn off the water if needed.