Monday, May 20, 2019

Upgrading Macbook to High Sierra

Trying to upgrade a Macbook Pro 7.1 (mid-2010) from Sierra to High Sierra failed with several cryptic error messages. This laptop had been upgraded with a Crucial SSD and non-Apple RAM modules, and is configured to dual-boot Linux with rEFInd boot loader.

TLDR: The EFI system boot partition (ESP) should be of type EF (aka 0xEF, EF00), not 07 (Fat).

We recieved the following errors:

macOS could not be installed on your computer
The installer resources were not found
...
You may not install this volume because the computer is missing a firmware partition
...

Somewhere along the line after Bootcamp was initiated, maybe when the Hybrid MBR was altered with gdisk, or partitions adjusted using Gparted, the partition type for the EFI boot partition was changed from type EFI system (EF) to Fat (07).  The format for EF and 07 types is the same, EF is used to identify it specifically as the EFI partition.  Note: this partition is not required to be of type HFS+ as claimed on some sites.

If you have an old High Sierra Upgrade installer from an old previous attempt it may also help to Trash that installer and re-download from the App Store so that you get the updated messages.

The final partition tables on this Macbook are something like:
Hybrid MBR:
 EE: 1 -> 2148 (Protective MBR indicator)
  (128MB space)
 EF: 2149 -> ... (EFI partition, 200MB)
  (128MB space)
 AF: ... -> ... (macOS, 120GB)
  (128MB space)
 83: ... -> ... (Linux, 80GB)

GPT:
 EE
  (128MB space)
 EF (EFI Boot)
  (128MB space)
 AF (macOS)
  (128MB space)
 AF (Recovery 10.11)
 AF (Recovery 10.12)
 83 (Ubuntu)
 83 (Debian)
 82 (Linux swap)
 07 (Fat32 Shared Data)

(*128MB spaces between partitions is an Apple recommendation)

Friday, May 17, 2019

Macbook Pro No Entry symbol

Getting a No Entry symbol when starting macOS on a Macbook Pro (7.1; mid 2010). The Macbook was initially configured to dual boot using OS X Boot Camp Assistant, but later used Refind boot manager to load multiple Linux installations.

Somewhere along the line, the Hybrid MBR had lost the Apple HFS+ file system (AF). Since an MBR can only have 4 primary partitions there is not enough locations to store more than the essential:
1 x Protective Partition (type EE)
1 x EFI System Partition (EF)
1 x Apple Partition (AF)
1 x Linux Partition (83)

Re-creating the hybrid MBR, using Linux utility gdisk (recovery menu), to include the Apple (AF) partition allowed macOS Sierra to boot again. Once corrected, the Recovery partition is bootable also but does not need to be included in the MBR.

A Hybrid MBR is required in order to get the BIOS Compatibility Module (CMS) to initialise hardware (video & wifi) so they work with Linux/Windows.

GRUB can be installed to the Linux partition to enable booting the other distros, although ongoing maintenance of Kernels may be an issue.

Monday, July 30, 2018

PUBG Crashing

Recently I resolved 2 types of crashes occurring in PUBG:

1. Crashing display driver caused by PSU

No Signal message appears on the black screen of the monitor when the NVIDIA display driver crashes and the system reverts/recovers to the Microsoft Basic Display driver. This would happen within a few minutes of starting the game, sometimes while still in the lobby, sometimes a few minutes into a game. It would not occur if connecting to the onboard DVI connector (accelerated graphics are still available as long as a monitor is detected on the GPU card). System Event Log reported the following warning from source Display:
"Display driver nvlddmkm stopped responding and has successfully recovered"
The cause was because the power supply only provided 11A on the 12v yellow power rail, which is insufficient to properly power the 6-pin connector on the GTX 1060 from Asus. Upgrading to a power supply with 18A available on the 12v connector fixed the problem. The 6-pin connector is expected to deliver up to 75W, see here for details: https://graphicscardhub.com/graphics-card-pcie-power-connectors/

This problem was only affecting me in PUBG - it must push the graphics card harder than most titles. After upgrading the power supply I have got through many games without a single crash.

2. Corrupted Data - OK

The second problem was getting disconnected with a "Corrupted Data" message in the middle of games. This occurred after having some bad sectors on my disk, even after verifying files in Steam. Backed up the game within Steam, then deleted the game. I didn't want to download another 17GB so I restored from the backup. Problem solved!

Wednesday, October 12, 2016

Thursday, April 21, 2016

Macbook Pro with Nvidia 320M black screen after sleeping

After a recent update some time around March 2016, a Macbook Pro with Nvidia 320M GPU running Ubuntu 15.10 would stop waking from sleep - the keyboard would light up but the screen remained off.

It is running Linux 4.2.0-35-generic with Nvidia 340.96 binary driver installed.  Trying to modprobe the nvidia module produces the error:

modprobe: ERROR: ../libkmod/libkmod-module.c:816 kmod_module_insert_module() could not find module by name='nvidia_340'
modprobe: ERROR: could not insert 'nvidia_340': Function not implemented
Trying earlier recent kernel & nvidia versions did not yield any success.

The Workaround

Install gcc-4.9 and adjust links to use 4.9 versions for:
/usr/bin/gcc
/usr/bin/gpp 
Ref:
https://devtalk.nvidia.com/default/topic/902950/linux/-solved-faulty-340-9x-drivers-with-kernels-4-2-x-and-4-3-x/



Thursday, March 17, 2016

EF Falcon specifications

Engine oil: ESE M2C 153E API CLASS SG/CD,SG/CE Grade: 15W/40 (preferred),  15W/50, 20W/40, 20W/50, 25W/50 (Motorcraft R1 300-5L)
 6cyl: 5.5L
 8cyl: 5L

Manual transmission: 1.9L
 ESR M2C 163A (Dexron II) - ATF (Motorcraft R1-36)

Auto trans fluid: 4.0L
 Castrol TQ-95 (recommended)
  (TQ 95 is also suitable for power steering systems where General Motors or Ford type fluids are recommended)
 Shell ATF XTR
 Valvoline ATF Type 95LE
 Mobil ATF 95LE

Power steering fluid: 0.95L
 ESR M2C 163A (Dexron II) (Motorcraft R1-36)
 or  DEX III or Type F or TQ-95




Friday, November 20, 2015

Sintron 3D Printer Kossel Mini Reprap review

**DO NOT BUY this printer **



  • No assembly instructions are provided with the components
  • The instructions are only provided when you email the seller
  • The instructions provided are for a different kit that has many different components
  • The instructions provided are incomplete
    • Does not show how to mount the printing bed
    • Does not detail the connections correctly
    • Does not detail the process of setting up the firmware
  • The photo shown on the Ebay listing is not a working printer - the top platform is not mounted with the tensioning screws and there are a lot more wires!
  • The design of the "auto-levelling probe" is unworkable - again configuration is not detailed in the instructions, but the main problem is that is simply too flimsy and grabs in the slot provided.
  • Some of the nuts on the extruder holder cannot fit due to misshaped parts.
  • The tie-rod ends bind and cause the extruder to jump.
  • The aluminium arms do not tighten firmly against the plastic unless some of the plastic is filed off.
  • Several of the nuts & bolts bind and are defective. The screws are obviously cheap and don't fit common drivers well.  Not enough washers were supplied.
  • My unit was supplied with a faulty PTC fuse for the heat bed.
I am very dissatisfied with this printer.  Getting to the point of testing the printer has taken weeks, far longer than it should have.  The screws holding the tie-rod ends are not a neat fit and the binding on the tie-rods at the outer reaches of the printer causes the print head to jump and jerk the whole machine. The heating of the heat-bed has caused the stepper motors to get very hot and distort the corner pieces - now the stepper motors are angled which is distorting the drive belt.

The printer parts seem to be assembled in China and the design is of poor quality.
What a piece of crap!

If you have bought this printer....:

Here is how I mounted the top corners so that you can tension the belts - take care to install the corner pieces the right way up (nut hole towards the bottom):
You will need to cut the belts (this isn't explained in the instructions).  I think this uses washers that were supposed to be used for mounting the heat bed... need to find some more for there.  

Try to mount the heat bed away from the stepper motors (i.e. somehow lift it ~10mm).

Measure the heights from the bottom corners to the tops - these should all be the same to indicate the aluminium poles are inserted all the way in the bottom pieces. This is required to ensure a flat base platform which is essential to get the printing started.

Download the latest (1.6) Arduino software from www.arduino.cc - the 1.0.5 version gave me unresolvable G++ errors on my Linux system.  Use the Arduino software to compile & upload the Marlin firmware over USB - you will need to correct a few code errors - adding spaces or commenting out some lines.

Install Printrun, which provides Pronterface which can be used to send G-codes to control the printer. When you have Printrun working execute some commands to put the head near the plate like:
G28 ; find the home position (top)
G1 X0 Y0 Z50 ; go to 50mm above the bed
 - then step down towards zero - you will need to modify MANUAL_Z_HOME_POS in Configuration.h firmware file to calibrate the correct height of your printer.  Carefully send the printer to various positions to check your platform is level.

Install Slic3r which can be used to "slice" a STL file into G-code.