Ubuntu HowTo: ubuntu calculate wong total ram size

Original Source Link

I’m using raspberry pi 3B+,ubuntu 20.04 pre-installed server,download from here:

https://ubuntu.com/download/raspberry-pi

I’ve found that if I use free command (whatever -k -h option),it show me I only have 852MB Ram

[email protected]:/home/ubuntu# free -h
              total        used        free      shared  buff/cache   available
Mem:          852Mi       198Mi       372Mi        12Mi       281Mi       638Mi
Swap:         4.9Gi          0B       4.9Gi

however, if I use raspbian, also use free command, it show my correct ram size:

[email protected]:/home/pi# free -h
              total        used        free      shared  buff/cache   available
Mem:          926Mi        46Mi       807Mi       6.0Mi        71Mi       823Mi
Swap:          99Mi          0B        99Mi

why ubuntu calculate my total ram size is wrong?how can I free up my “disappeared” ram size?

I love ubuntu ,I don’t want to use Raspbian, please help.

Say thank you first.

Thanks.

Tagged : / / / /

Server Bug Fix: How to determine the lowest safe ESC current rating for a drone build?

Original Source Link

I was planning to build a quadcopter and was wondering how I should decide what ESC to get. I’m asking about ESC current ratings. I am building a 7 inch drone using 4s with 2306 1900Kv motors. I have seen ESCs ranging anywhere from 25 amp to 50 amp frequently used on 4s quadcopters. I am looking to get the lowest amp ESC that will work for my drone because of cost. Are there ways to figure out the minimum ESC amp-rating that will work safely for my drone?

I think most people just copy other builds, and step up a size if they burn out any ESCs.

If you want to be more scientific you could test one motor with a watt-meter to measure the current draw. Throttle up slowly so you can watch the current build, to protect the ESC you’re using for the test. Also check the motor temperature after 30 seconds or so.

This will give you the maximum current that each ESC needs to handle.

There are lots of different designs of watt-meters available for hobby use. They typically measure up to 100amps so should all be adequate for this test, and cost less than a set of ESCs.

A typical multi-meter will only measure up to 10amps and would not be adequate. Clamp meters typically only measure AC current, and we need to measure the DC current from the battery to the ESC.

Fix the motor to something solid, like a plank of wood that is clamped to a bench. Be careful that the wires and other loose material will not be sucked into the prop, and don’t stand in-line with the prop, just in case breaks and throws the blades out at high speed. Even a couple of hundred watts is quite intimidating in a bench test.

Alternately, you could search the forums to see if anyone else has tested a similar motor with a similar voltage battery and prop.

You can calculate the rating using one or both of the following equations; just rearrange and/or substitute values as needed:

  1. P = I x V
    Power (Watts) = Current (Amps) x Voltage (Volts)

  2. V = I x R
    Voltage (Volts) = Current (Amps) x Resistance (Ohms)

What you want to solve for is current. You can get some or all of the above numbers from the manufacturer’s datasheet or specifications, depending on what that specific manufacturer lists. Voltage will depend on the battery you want to use. Some iteration might be necessary (e.g. run the numbers for a 3S and 4S setup.)

When you have your motors current consumption it is a good idea to add a 20% safety margin, to account for inefficiencies in the motor and ESC cooling. Then use at least the next value up (e.g. if you calculate 26A, use a 30A ESC – not 25A, even though 25A is ‘closer’.)

You can prove the setup before flight by bench-testing; measure the current consumption and ESC temperature to ensure they are within specification. (You want to test at full load, but slowly ramp-up so you can stop if the values are going out of range.)

There’s a couple of things to consider when choosing the right ESC rating for your build in addition to the other answers here. The primary thing is that it is not in-air current draw that typically kills the ESCs in multi-rotors. Static load measurements gained through testing at full throttle on the bench are only reflective of worst-case (or almost) scenarios in flight. When a multi-rotor is flying forward the current draw dissipates very quickly thanks the to lower angle of attack, which dramatically reduces current draw. The only time you will see close to or greater than static load is for very short times when the motors are at high throttle but the movement is either zero or negative to the direction of thrust, those situations don’t typically last very long, and your battery can’t sustain that level of current delivery for long before sagging out reducing the current output. Essentially, as soon as the movement begins to follow the direction of thrust the, the effective angle of attack decreases and the current draw starts dropping immediately. Due to this static thrust numbers can be considered as 2-3 seconds of burst at the maximum. Combine that with the fact that most batteries we use in mini-quads won’t be able to deliver over about 80A for more than 10 seconds or so, and you realize quickly that sustained draw is not an issue, and even a 20A ESC would be sufficient if we were only looking at in-flight sustained current requirements.

The real killer of ESCs comes in two varieties. The first is damage from repetitive large spikes that happen when the ESC rapidly changes the throttle output to the motor. On significant and rapid throttle changes, the moment when the duty cycle of the FETs has changed but physical acceleration in the motor has yet to begin massive amounts of current are dumped into the coils. This dissipates very quickly as soon as the motor begins accelerating, but spikes close to 180A for upwards of 2-3 ms are typical in most mini-quad motors. Spikes will be even larger with physically larger motors and higher torque load. Some of this depends on the Kv and resulting Kt of the motor and how much if a torque load the given prop mass and pitch creates, but the spikes are huge compared to what we see in sustained draw. While these spikes don’t necessarily fry a motor instantly in the air, they do cause wear on the FETs, and if an ESC is pushed like this over long periods of time, this can end up leading to catastrophic failure in the FETs. If pushed hard enough, it can blow a FET on rapid throttle changes outright, but you would have to have a pretty under-specced ESC or dramatically overloaded motor for it to happen instantly.

The second issue has to do with the stall torque of the motor. When a motor is blocked while trying to spin it will pretty much instantly hit the stall torque current which can be huge. It is typically high enough that it will blow an ESC or burn the resin costing off the windings in a matter of seconds, sometimes less. This is probably one of the primary causes for failure in mini-quad and racing drones, right after physical damage to the components. (We crash a lot at very high speeds 😂)

There’s a bit more detail in a similar answer here ( Effect of motor load on ESC? ) along with some charts from data I’ve collected.

So what’s the takeaway here?

Basically, the higher rates ESC also happen to have FETs and supporting circuitry that can handle higher pulsed current (those millisecond peaks) and higher short bursts ratings that make it more likely they will survive abuse over time. You need to look at your required use case for the ESC. If it is being used for an application where accleration will be minimal and there is not much risk of crashing or blocked props, then you can probably get away with very minimally rated ESCs. If you plan on crashing or otherwise abusing your motors, the higher the rating the more likely they will be to survive situations that would blow lower rated ESCs. This is the real reason you see folks pushing 55A and 60A rates ESCs (though to be honest those ratings are probably dramatically inflated). If you have real questions about the specific application, you can always find the datasheet for the FETs being used in the ESCs in question and look at the pulsed current rating, thermal dissipation limits, and suggested maximum sustained current draw and make a decision from that, but generally speaking the states rating is sufficient in most cases, assuming sufficient quality control on the product.

Tagged : / / / /

Server Bug Fix: What should I check/replace first in response to mcelog “Memory address parity error” / MEMORY CONTROLLER AC_CHANNEL0_ERR messages

Original Source Link

I have a server that kernel panics every few days.

mcelog tells me:

Hardware event. This is not a software error.
MCE 0
CPU 6 BANK 8 
MISC 0 
TIME 1317928482 Thu Oct  6 15:14:42 2011
MCG status:
MCi status:
Error overflow
Uncorrected error
MCi_MISC register valid
Processor context corrupt
MCA: MEMORY CONTROLLER AC_CHANNEL0_ERR
Transaction: Address/Command error
Memory address parity error
Memory corrected error count (CORE_ERR_CNT): 21763
Memory transaction Tracker ID (RTId): 0
Memory DIMM ID of error: 0
Memory channel ID of error: 0
Memory ECC syndrome: 0
STATUS ea1540c0008000b0 MCGSTATUS 0
MCGCAP 1c09 APICID 20 SOCKETID 1 
CPUID Vendor Intel Family 6 Model 44

I’m going to try a BIOS update. After that, I’m not sure what to try next. Disabling the 2nd CPU will probably keep me up and running for now.

If this is really a CPU error it is propably broken somehow.

You could try an Intel-microcode-update first.

This looks like a motherboard memory controller error so I’d be looking to change the motherboard. Searching for MEMORY CONTROLLER AC_CHANNEL0_ERR gets you this and various other similar references.

Tagged : /

Server Bug Fix: Linux MD RAID with btrfs stuck and consume 100 % CPU

Original Source Link

The issue

During last several weeks, I am experiencing annoying issue on my physical server with Linux software RAID 6 (md, mdadm) with btrfs file system on it.

Once in several days (irregularly, as I noticed), the md1_raid6 process starts to consume 100 % of one CPU core and during that time, all file system access on btrfs on top of this raid device get stucked (user space processes hangs in disk sleep state).

In most cases, after several “IO” actions like listing files (ls), accessing btrfs information (btrfs filesystem, btrfs subvolume), or accessing the device (dd and so), the file system gets magically unstucked and md1_raid6 process released from its “live lock” (or whatever it is cycled in).

The worse case happens sometimes, when I am not successful with this “magic unstucking”. Then I am not able to even kill the processes stucked in disk sleep state and I am forced to reset the system.

When my issue happens, I found very often similar messages in kernel dmesg log:

INFO: task md1_reclaim:910 blocked for more than 120 seconds.

with included call trace.

However, there are some more “blocked” tasks, like btrfs and btrfs-transaction with call trace also included.

Questions

  1. What should be the cause of this problem?
  2. What should I do to mitigate this issue?
  3. Could it be a hardware problem? How can I track this?

What I have done so far

  • I keep the system up-to-date, with latest stable kernel provided by Debian packages

  • I run both btrfs scrub and fsck.btrfs to exclude btrfs file system issue.

  • I have read all the physical disks (with dd command) and perform SMART self tests to exclude disks issue (though read/write badblocks were not checked yet).

  • I have also moved all the files out of affected file system, create a new btrfs file system (with recent btrfs-progs) and moved files back. This issue yet appeared again.

  • I have tried to attach strace to cycled md1 process, but unsuccessfully (is it even possible to strace running kernel thread?)

  • Of course, I have tried to find similar issues around the web, but I was not successful.

Some detailed facts

OS information

  • Debian 10 buster (stable release)
  • Linux kernel 5.5 (from Debian backports)

Hardware information

  • 8 core/16 threads amd64 processor (AMD EPYC 7251)
  • 6 SATA HDD disks (Seagate Enterprise Capacity)
  • 2 SSD disks (Intel D3-S4610)

RAID information

  • All Linux MD RAID (no HW RAID used)
  • RAID1 over 2 SSD (md0)
    • On top of this RAID1 is a LVM with logical volumes for:
      • root file system
      • swap
      • RAID6 write journal
  • RAID6 over 6 HDD and 1 LV as write journal (md1)
    • This is the affected device

Usage information

  • Affected RAID6 block device is directly formatted to btrfs
  • This file system is used to store backups
  • Backups are performed via rsnapshot
  • rsnapshot is configured to use btrfs snapshots for hourly and daily backups and rsync to copy new backups

Other IO operations

  • There is ongoing monitoring through Icinga which uses iostat internally to monitor I/O
  • SMART selftests run periodically (on weekly and monthly basis)
Tagged : / / /

Ubuntu HowTo: Ubuntu 20.04 Lenovo Ideapad Microphone not working

Original Source Link

Internal Microphone is only recording static noise on Lenovo Ideapad and Ubuntu 20.04.
I’ve tried deleting PulseAudio config, restarting PulseAudio, and reinstalling Alsa. sudo pavucontrol was no help either.
I know the mic is fine since it works on another OS.

This is the Alsa config:

[email protected]:~$ sudo cat /etc/modprobe.d/alsa-base.conf 
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7

# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }

# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-caiaq index=-2
options snd-usb-ua101 index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2

This is my hardware:

[email protected]:~$ sudo lspci -knn | grep Audio -A3
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] (rev 21)
    Subsystem: Lenovo Sunrise Point-LP HD Audio [17aa:380d]
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] (rev 21)

I just upgraded my kernel but didn’t have any effect

[email protected]:~$ uname -r
5.7.0-050700-generic

UPDATE:

I asked the question here with no details (nor bounties), surprisingly some guy answered that gave me a clue.
vokoscreen Alsa records fine
In vokoscreen if I set the recording option to Pulse it doesn’t record anything but when the recording option is set to Alsa it recrods.

So now I know Alsa is fine but PulseAudio is messing it up.
Now please help me with PulseAudio.

Finally Solved: after I knew the problem was due to PulseAudio not Alsa I went to the PulseAudio Troubleshooting page and I was amazed, they had a section on static noise, even mentioning my laptop name and model, also a section on microphone distortion. So I followed the instructions and it’s now fixed.

Steps:

  • in pavucontrol for my laptop model set left mic channel to zero.
  • edit /usr/share/pulseaudio/alsa-mixer/paths/analog-input*.conf and set mic boost volume to zero.
  • I also added some noise reduction arguments from the same page.

In addition to the accepted answer, check out:

edit the following files as root:

sudo emacs -nw /usr/share/pulseaudio/alsa-mixer/paths/analog-input-dock-mic.conf
sudo emacs -nw /usr/share/pulseaudio/alsa-mixer/paths/analog-input-front-mic.conf
sudo emacs -nw /usr/share/pulseaudio/alsa-mixer/paths/analog-input-headphone-mic.conf
sudo emacs -nw /usr/share/pulseaudio/alsa-mixer/paths/analog-input-headset-mic.conf
sudo emacs -nw /usr/share/pulseaudio/alsa-mixer/paths/analog-input-internal-mic-always.conf
sudo emacs -nw /usr/share/pulseaudio/alsa-mixer/paths/analog-input-internal-mic.conf
sudo emacs -nw /usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf
sudo emacs -nw /usr/share/pulseaudio/alsa-mixer/paths/analog-input-rear-mic.conf

And update the following fields wherever you see them in these files. You don’t need to update volume if it’s set to off. Only devices that are awake need to be adjusted.

  • Under [Element Internal Mic Boost] set volume to zero. This includes any variations like [Element Dock Mic Boost].

  • Under [Element Int Mic Boost] set volume to zero.

  • Under [Element Mic Boost] set volume to zero.

Restart the computer for the changes to take effect.

Tagged : / / / /

Server Bug Fix: Server corrosion, air conditioning and climate control

Original Source Link

We made the unfortunate discovery that our servers in our in-office server room are rusting away. This came to light after the first one had failed.

One obvious candidate is the AC unit, that something is wrong with its humidity regulation. So, I plotted the temperature and humidity. Lots to say, but this illustrates my question nicely:

enter image description here

In relatively sealed room (1.5 by 2.5 meters or so), the fact that humidity stays so high after each thermostat cycle is suspect to me. Also the fact that turning the AC off gave such an obvious suppression of the humidity peaks.

Is this normal AC behavior? I would not have expected the humidity to always return to such a high level. Even at the right side of the graph, it doesn’t just stay low, it ‘wants’ to stabilize pretty high.

I also looked into other issues, such as sulfur containing fine particulate matter causing corrosion, but as it is, that’s more of an abstract thought. I have no idea how to gauge and/or test that.

I also had an AC maintenance / air quality company look at it, but they seemed to think in terms of office air quality, and couldn’t quite follow me on that servers have different requirements than people. For one, their suggestion was to pump fresh air into the room continuously. Seems illogical to me.

Edit: a higher zoom level, too see the correlation between rise/drop in temperature and rise/drop in humidity:

enter image description here

The way an air conditioner dehumidifies is (in brief) the high-pressure refrigerant is forced through a small opening, leading to lower pressure on the other side of the opening. That decompression lowers its temperature; that low-pressure side starts near your evaporator (indoor) coils. Air is blown through the evaporator coils, cooling it. Moisture from the air condenses on the evaporator coils, just like it does the side of a cold drink. That water then drips off the coils, to a tray under them, and then out of the unit’s drain (or on some units, into a reservoir which is then pumped out when its full enough).

The moisture has to come from somewhere. Even if somehow the AC evaporated all the condensate, you’d get the same absolute humidity (dew point) you started with.

So there are a couple of likely places it can come from:

  1. Outside air is infiltrating. Looking at the current conditions in Groningen, it appears the outside dew point is 16°C. That is awfully close to the dew point you measured with the A/C off.

  2. How good is the air mixing in the room? Is it possible you’re cooling just a corner, and the rapid humidity increase after the AC turns off is just the air mixing? (E.g., is your AC intake next to the output?)

  3. Your drain line could be broken somewhere, and is dumping the water inside your server room, and it’s then evaporating back in to the air. Alternatively, the water could be staying in the AC unit (and somehow not building up enough to spill out on the floor) Verify the drain line by inspecting the entire path and confirming water is flowing out.

  4. If you have humidification, it’s possible it’s running out of control. E.g., it’s humidistat may be broken.

  5. You didn’t say what test equipment you used to produce that graph, but if it’s not accurate…

Also: Your AC appears to cool the room really quickly. This reduces its ability to dehumidify—it’s quite possible your AC is simply too big (powerful) for the room.

Your statistic don’t lie, get a new A/C.

In freezing mode the A/C kill the humidity, its just not freezing. Your stat show the inverse, its illogical, please change the unit, or buy a deshumidifer in the short term

There were some good answers, but the details deserve a separate answer, I think.

The comments about the AC unit being too large seemed to be closest: the condensated water never reached sufficient quantities to be drained out because the thermostat cycle was so short, so it got evaporated back. I was advised to turn the temperature up to 24 C, and set the fan to the lowest speed (it was set at highest, arbitrarily). It seems to have made a difference:

AC graph

Not only is the humidity lower, but the spike that normally coincided with rise in temperature (when the AC was in the off-state in the cycle) is gone; There is now a corresponding increase in temperature vs decrease in relative humidity, so probably the absolute humidity stays the same.

Also, the dew point graph is a lot flatter.

Your rel. humidity is quite huge, standart for datacenters is 50% +-15%, you’re reaching 80%. Check your AC settings if there are no option for increase humidity enabled, this just looks like not so healthy place for your servers.

Check if there are not any wet places on the walls, ceiling, floor (look under panels if you have floor with two layers). Are there any windows or holes in walls and ceiling (like for cables and pipes)?

This may sound crazy but… take a good look at your A/C controls and control wiring.

Is it possible that something is backwards so that when you think you are turning it up, you are really turning it down?

Another angle… It looks like the humidity RISES rapidly when the A/C is on. It should be falling. Is the A/C compressor greatly oversized for the room? The compressor must run a certain amount of time in order to dehumidify properly. An oversized unit doesn’t run the compressor enough to dehumidify.

The other answers all raise good points, but I want to add some more.

Is the server-room in the basement or ground-floor and is the local ground-water table high ? (That wouldn’t be strange in many parts of Groningen.)
Could very well be that the floor or walls don’t provide a good moisture-seal. With the cooling going on inside this may cause the server-room to continuously draw moisture from the walls/floors which get replenished by moisture migrating in from outside. (Damp surroundings make that even worse.)
If that is the case a coating the floors/walls with a moisture sealant would be a relatively easy fix.

Another point are the connection pipes between inside and outside unit. Some of these get REAL cold and can cause moisture condensation on the pipe. If that happens near the pass-through of the pipes through the wall, condensation buildup on the pipes can migrate alongside the pipe back into the server-room. (Directly on the pipe or through the insulation around the pipe. Rock-wool insulation is notorious for this.) Check the seals around that pass-through to see if you got a moisture leak there.

80% humidity is much too high. What kind of A/C is that?

A portable, one-piece A/C has a hot air exhaust, so it constantly sucks air out of the room that needs to be replaced from somewhere – usually from the corridor. Is this air is humid or too warm(!) it’s the source of your problem. You’d need cool/dry air to flow back.

A two-piece A/C is a much better solution – however, it needs to shed the water from the condenser somewhere; it needs draining. If it doesn’t there’s something wrong with it. You certainly don’t want a model that re-evaporates the condensed water back into the air.

Tagged : / / /

Server Bug Fix: What procedure should be followed post spilling fluids onto a MacBook keyboard?

Original Source Link

I know the first thing to do is dry with a towel the majority of the fluid. Next is to turn off the computer. Then flip over the laptop itself and whilst upside down cool dry the keyboard with a hairdryer for a few minutes. Also leave the computer upside down for a day or so. Is there anything I’m missing?

I’m writing this answer in the hopes to dispel the myths surrounding liquid damage repair. Putting the device in a bag of rice, in the oven, in the sunlight, next to a radiator, heater vent, use a blow dryer, etc. are all nonsense “fixes” that gives you a false sense of security. You can actually do more damage after drying things out and powering things on following these internet fixes.

No. Do NONE of this.

The only exception is to turn it off, immediately.

  • Do not use a towel to “wipe” it up as you’re going to spread and “push” liquid deeper into cracks and crevices. Put it on a towel and pat it dry with (preferably) paper towels.

  • Do not turn it upside down as gravity will pull that liquid across unaffected areas of the machine

  • Do not put it in rice or some other descant hoping that it will somehow fix the problem. Rice can’t fix anything but hunger pangs.

  • Do not put it next to a radiator, in the sunlight, or use a hair dryer. Once you evaporate the liquid, whether by heating or just though the natural evaporation process, contaminants are still left over.

Why?

It needs to be cleaned.

A simple water spill isn’t so simple. The impurities in water are what makes water electrically conductive. Pure (distilled) water cannot conduct electricity so it actually cannot harm your computer. The problem is water has salts and contaminants and it’s this that causes damage to your Mac.

Removing all power and getting it to a competent technician within hours of the spill – not days is the only sure fire way to protect and contain liquid damage. Any other action rolls the dice and can allow capillary action to let liquid seep to every crack, crevice and corner of the device and cause corrosion and short circuits since the battery is still powering parts of the machine when off.

This also is a safety issue if the water gets into the charged battery.

Beverages of different sorts can wreak havoc, salts (metals) are conductive so thing can short out. There can be acids (juice) or bases (milk) that can cause corrosion. Corroded circuits can actually destroy components and the traces embedded within the PCB. For a refresher, take a look at the Mythbusters episode “Salsa Escape” and see what running a small current through the acidic salsa mixture can do to steel. Now apply that to the tiny “width of a hair” copper traces on a PCB.

Corrosion on a PCB

How to clean a liquid damaged MacBook

If you don’t have the technical skills, don’t do this! Take it in for service.

This needs to be professionally cleaned with an ultrasonic cleaner and electrical solvent. This requires the logic board to removed, cleaned in the solvent and rinsed in 90% isopropyl alcohol (not the 70% stuff as there’s too much water content). Then it needs to be dried and subsequently tested.

Can you use cotton swabs and isopropyl alcohol? Possibly, but it’s not reliable. You’ll have better results cleaning the case with this method than you will the PCB or electronic components. Using alcohol or electrical solvent with a soft nylon bristle brush (toothbrush) will be much better. You still will want to wash it completely with alcohol and dry with compressed air.

Now, while this will help with the logic board, liquid that happened to get into and in between components (i.e. the glass panes in a track pad) and subsequently evaporated will leave behind whatever residue was in the liquid. This may cause the component to become inoperable. The part might need to be individually cleaned or replaced.

TL;DR

  1. Stay calm. I know you’ve just watched your $3,000 baby get a shower from a $6 Starbucks Frap-a-something-chino, but a clear head will help you by not making the problem worse.

  2. Turn off the machine. No power, nothing to short circuit.

  3. Using lots of paper towels, attempt to absorb as much as the liquid as you can. Don’t wipe; pat or blot; wiping can “push” the liquid making things worse.

  4. Take it for service right away – time is a factor here. Give the tech full details. He/she has seen it all and there’s no reason to be embarrassed – the more info they have, the better they can get right to the problem and rescue your Mac with a high degree of success.

microelectronics are very delicate and it is the duty of every owner to protected this delicate devices water is a very serious chock to every components because it electrocutes. the whole board instantly and the damage is not fixable…when owners of lap tops are careless they kill the motherboards instantly..the flow of signals is very acurate and when water touches this flow of signals it fries, the system,,forever death.. right away no magician can fix this delicates super boards..!! is like being hit with high voltage. of water..

Tagged : / / /

Server Bug Fix: What do the numbers mean on a brushless DC motor?

Original Source Link

Brushless DC (BLDC) motors can have a range of numbers on them:

What do they mean?

  • A four-digit number (e.g. 2212)

This number describes the dimensions of the stator inside the motor. The first two digits are the diameter (in mm) and the second two digits are the height (again, in mm.)

Kv – or Kv – has some really good answers at the provided link so I won’t go into detail here, but it is approximately the RPM per volt.

  • A number with N and P (e.g 12N14P)

This describes the magnets present. The number before N is the number of electromagnets and the number before P is the number of permanent magnets. More magnets means more torque, but also higher cost and size.

Tagged : /

Server Bug Fix: HP ProLiant DL160 G6 fan conversion

Original Source Link

I came across this forum a back while looking for an answer to this question and found some excellent advise that I would like some additional info for.

I have purchased the above server in a 1U case however it’s far to noisy for its location. I have moved the motherboard into a 4u case and hoping to use active cooling, using 2 pwm fans using an official HP splitter with a 4 pin adaptation.

Now this server needs all 6 fan headers connected to the board to boot and making those connectors is fine, however 12 fans in a pc that won’t really require them for airflow due to the new 4u case and the active cooling on the heatsinks.

My question is can I connect the wires together to make 1 single 4 pin pwm connector as 1 sensor wire is for input and the other is output as the fans from the server are back to back running 8k rpm each or will I have to have all 12 fans.

Happy to give more information if required I tried to add photos but I needed more rep to post.

An option, though definitely not exactly what you would call “proper” is to create a splitter with the yellow line split between multiple male connectors that then connect to the motherboard headers. A crude diagram is below:


|--- <yellow line only> -- <motherboard accessory fan header 0>
|
FAN ---|--- <passthrough red, black, yellow, and PWM> -- <motherboard CPU Fan header>
|
|--- <yellow line only> --<motherboard accessory fan header 1>

The yellow line is the sense wire and is used to detect the frequency of the fan rotation. By splitting this between the multiple headers, they will all detect the fan’s rotational velocity, and thus allow your server to boot.

Now the other question is, even though you can do this, should you? It may be better to just snag some very quiet fans instead – which would be much easier to find since the case is now 4U.

My solution to this was to get an ordinary 4 pin PWM case fan and connect the yellow tachometer pin to a breadboard. Each fan header on the DL160 G6 has 2 tachometer pins since there are two fans on one fan block. Since only 4 fan blocks are necessary for server to work without giving annoying POST messages, I took each of the two tachometer pins (pin 4 & 6) from each of the four fan headers (8 total pins) and plugged jumper in to them and connected them to breadboard. This allows the signal from one case fan to go into each fan header so the server booted just fine. This method is also good if one of the fans went bad and you need a quick solution. all of the other pins from the case fan such as power and PWM signal was plugged into one of the fan headers.

For reference:
Pin 1: 12V (optional), Pin 2: GND, Pin 3: 12V, Pin 4: Tachometer 1, Pin 5: PWM, Pin 6: Tachometer 2

Tagged :

Server Bug Fix: Is it worth reinstalling 64-bit Ubuntu instead of 32-bit on old hardware? [closed]

Original Source Link

I have an old machine with an Intel D2700DC motherboard. I use it as a home server for some side projects. I have Ubuntu 32-bit installed on it, but recently figured out that its embedded D2700DC CPU is actually a 64-bit processor.

My question is does it worth reinstalling Ubuntu 64-bit there instead of 32-bit? I have 3GB RAM and looks like there’s a limit of 4GB for this hardware.

Do you think it will be faster in some ways or what other benefits I can get from installing 64-bit? One reason I see is that Ubuntu stops supporting 32-bit in the last major releases and I still have Ubuntu 18.04 there.

It won’t be faster in any meaningful way, but the reality of 32 bit is that it’s increasingly legacy, which means, in the real world, bugs are not getting found and fixed.

I would install 64 bit if I were you primarily because it will be more reliable and have bugs fixed more often. It will also future-proof your machine, since you can then just update to the next OS version every now and then without having to worry about it.

All FOSS projects have finite developer eyes/hours available to them, and 32 bit just isn’t getting many of those eyes and hours anymore, and there are no magic coders that just fix stuff because it’s broken, sadly. It’s wisest to just accept this limitation as reality, since it won’t really change.

I know of at least one 3rd party Linux kernel builder who stopped supporting 32 bit relatively recently because of a series of 32 bit kernel bugs that were known but were not getting fixed, nor did they appear likely to ever get fixed in the future. And that’s the Linux kernel project, which has thousands of contributors. It just goes downhill from there with other projects with far fewer developers. This situation will happen to more and more core and not so core software and tools as 32 bit gets removed from more and more primary GNU/Linux distribution pools.

This becomes increasingly relevant as major projects like Google Chrome, Firefox, etc, start to drop, if they have not already dropped, 32 bit support, which means you’ll be using insecure non-updateable software to access the internet.

Note that you can in theory sort of cross grade 32 bit to 64 bit (at least on Debian, not sure about Ubuntu), I tested that on one machine to see, but it’s such a pain, and takes so long, and leaves so much cruft, and requires so many manual fixes, that in the end, I decided that was not worth it, and just switched the rest of my systems to 64 bit by reinstalling.

Keep in mind you can copy your main configs, and then get a package list, and reinstall the packages when you reinstall to 64 bit, it doesn’t take that long, and once it’s done, no more need to worry about it.

Your other option is to just never upgrade your box again, and just let it run until it dies. On systems that don’t interact with the internet that’s not a terrible way to deal with the stuff, but you may hit a snag one day when you need to match versions of something like samba or nfs and you can’t because your server box OS is too old.

It’s probably worth reinstalling to a 64-bit operating system. As Lizardx mentioned, there’s less focus on 32-bit x86 systems right now and people are fixing fewer bugs there.

Additionally, it is a real possibility that it will be slightly faster, since x86-64 has 16 general-purpose registers and x86-32 has only 8. Position-independent code, which is used for security reasons in most binaries these days, is free on x86-64 with RIP-relative addressing but needs an additional register on x86-32. Having additional registers means that programs can keep more data on the CPU instead of having to go to memory, improving performance.

However, there will probably be a slight increase in memory usage, since pointers will be 64 bits instead of 32 bits. If you’re really stressed for memory right now, that won’t make it any better, but otherwise, it’s probably fine.

In general, my recommendation is to do so. You’ll get a better supported, slightly more performant environment.

The gains to redeploying a 64 bit distro are going to be marginal at best. Sure you’ll get some more memory support, but unless the current box is under memory pressure that probably won’t be noticeable.

Given the age of the hardware, you might be better off building a new 64 bit install on more-recent hardware (not necessarily new), and migrate all functions off the old box over time. Eventually the old box will be doing nothing and you can turn it off and store it(or just its drives) for a while against the possibility something was missed.

Then you can either dispose or redeploy the box. If its 32 bit only, there’s not a lot of use for it. Same if its a power-hungry P4.


I’m in your position too – I have a debian host which was installed in 2001, and while every piece of hardware has been replaced over time, the distro has been upgraded, its still the original “install” and is 32 bit.

I’m doing exactly this, but the new boxes are three separate VMs under xcp-ng, so I’m splitting out email functions from webserving from “everything else” Doing it this way means you’re able to focus on one service/task at a time. I moved squid to the “everything” box last, and now that’s settled I’ll work on migrating Cacti to the webserver. Downside, without motivation this is a slow process.

Tagged : / / /