Saturday 22 September 2012

Superdrive jammed up empty, not accepting discs - solution

I just experienced an weird lockup of the MacMini SuperDrive: It was empty, but would not accept a disc in more than half way in i.e. it had ejected the previous DVD successfully, but the eject mechanism had not returned back to its 'accept new disc' position.

After trying all possible tricks to eject a jammed disc i.e. boot with the mouse button depressed, use iTunes to eject disc, try resetting the PRAM and SMC, etc. I stumbled on this bit of advice worth its weight in gold:

Just gently force a DVD into the drive by tapping it gently strengthening the tapping force until it cycles the eject mechanism mechanically.

It took a dozen taps with increasing strength but eventually my drive found itself and cycled the mechanism and accepted the new disc. It spit it out 2 sec later, but after a second normal insertion the drive has worked flawlessly. 

Thursday 23 August 2012

Is it safe to move spanned drives between SATA ports?

With Windows 7 Home 64-bit this worked flawlessly and entirely automatically for me.

I tried this with a spanned volume of 9TB (3x2TB + 1x3TB) where by mistake I had connected the 3TB drive to a JMicron 363 SATA-port and the rest were connected to the integrated nVidia nvraid ports. The use of the JMicron port worked reasonably fine in IDE-mode, but when I tried to configure it in AHCI-mode it acted randomly giving varying write speeds between 18MB/s to 67MB/s whereas the same drive now connected to the nForce SATA-port clocks in a steady 80MB/s both read and write. (SATA-300).

Procedure:
1. Update all SATA controller drivers to the newest version just in case. My Computer -> Manage -> Device Manager -> Storage Devices -> <controller> -> Update Driver -> Update Automatically
2. Reboot computer to verify that the drivers work properly.
3. Shutdown computer, switch power supply off or unplug from wall before detaching the SATA cables
4. Move SATA cable to desired new SATA-port on the motherboard/SATA-controller card.
5. Replug the power supply. Start computer.
6. Login to Windows normally, wait for automatic device driver installation to finish and when prompted, reboot. (Device driver association is per port, but clearly volume information is writen on each disk in the spanning group and is not dependent on SATA-port numbers)
7. After reboot your are done. Have Fun!

Thursday 1 March 2012

Fixing Windows 7 Print Spooler crashing constantly (Event ID: 7031)

I got bitten by an irritating bug Microsoft introduced in some update during 2011 which causes the print spooler of Windows 7 64-bit (Home Premium and Xerox Phaser 6140DN network printer in my case, reported to do so on other flavours of Windows 7 and other printer manufacturers especially HP and Epson as well.)

Symptoms observed are: 
  • Printer stops responding
  • Network printers vanish from the Start -> Devices and Printers dialogue
  • Event viewer will report in System evenlog continuous crashes (ID 7031) whenever the print spooler restarts (ID 7036)
  • At least Xerox drivers cannot be reinstalled because the print spool service is down
  • The print spooler service can be started and will promptly crash within seconds of restart
Mostly you get direction to run the Microsoft Printer Fix-it utility, which does absolutely nothing to this problem. Other suggested remedies are tweaking the registry which is printer manufacturer specific and might work for you or not. 

What works for me, though does not remove the problem permanently (it has reoccurred once for me and being fixed with the instructions below both times) is presented below:

Clear Printer Spooler files and enable the spooler service

1. Click the Start Button, type "Services" (without the quotation marks) in the open box and click OK.
2. Double-click "Printer Spooler" in the Services list.
3. Click Stop and click OK.
4. Click the Start Button, type "%WINDIR%\system32\spool\printers" in the open window, and delete all files in this folder. 

If you're not running with Administrator privileges you will be prompted to take control of the directory before you are shown the contents of it. 

Or if you can make a new shortcut on your desktop to CMD.EXE and right click the icon and select 'Run as Administrator...' since you need admin privileged to delete the spooler files. Then 

CD %WINDIR%\system32\spool\
DEL printers\*.*

Answer Y when prompted

5. Click the Start Button, click Run, type "Services" (without the quotation marks) in the open box and click OK.
6. Double-click "Printer Spooler" in the Services list to restart it

Friday 17 February 2012

Fixing The Biggest Fault in Sun Sniper Pro Camera Strap

I bought a Sun Sniper Pro (SSP) camera strap a while back and since found that even though it is comfortable to use and many times over better than conventional camera straps it has one main fault - the shoulder pad slides on to your back after a while of repeated usage.

I solved this problem by acquiring a Blackrapid BRAD-strap which is an additional under your armpit extra strap for the Blackrapid camera straps, but happens to also fit the Sun Sniper Pro camera strap. It is a snug fit and when inserting on to the SSP-strap the integral steel wire is a bit in the way, but once you get the strap into the slots it works & fits perfectly. No more sliding!

So you can get the best of both worlds:
- the less clunky ball-bearing SSP camera connector and
- the Blackrapid BRAD-strapped shoulder pad.

Saturday 11 February 2012

HOWTO: Using Larger Than 2TB Drives on Areca ARC-1220 Raid Controller

I got my hands on a Western Digital 3TB Caviar Green drive (WD30EZRS) and promptly put it through some tests on my home server.

The Areca ARC-1220 raid controller detects the drive fine as a 3TB drive with the newest firmware (Firmware v1.49, Boot ROM v1.49).

After booting up my Ubuntu 11.10 Server 64-bit (oneiric) I tried to format & mount the drive in my usual fashion with fdisk /dev/mapper/areca-lv1 and mke2fs /dev/mapper/areca-lv1 and ended up with a 2TB partition. Fail.

So I Googled a bit and found this excellent article on making GPT partition tables for >2TB drives. I will reproduce the steps required to get the partition up and running here for convenience. Substitute /dev/sdb with your raid controller device node like /dev/mapper/areca-lv1 in my case:


To create a partition start GNU parted as follows:

# parted /dev/sdb

Output:

GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)


Creates a new GPT disklabel i.e. partition table:

(parted) mklabel gpt

Sample outputs:

Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted)


Next, set the default unit to TB, enter:

(parted) unit TB

To create a 3TB partition size, enter:

(parted) mkpart primary 0 0

OR

(parted) mkpart primary 0.00TB 3.00TB

To print the current partitions, enter:

(parted) print

Sample outputs:

Model: ATA ST33000651AS (scsi)
Disk /dev/sdb: 3.00TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
 1 0.00TB 3.00TB 3.00TB ext4 primary


Quit and save the changes, enter:

(parted) quit

Sample outputs:

Information: You may need to update /etc/fstab.
Use the mkfs.ext3 or mkfs.ext4 command to format the file system, enter:

# mkfs.ext3 /dev/sdb1


OR

# mkfs.ext4 /dev/sdb1

Sample outputs:

mkfs.ext4 /dev/sdb1

mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
183148544 inodes, 732566272 blocks
36628313 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
22357 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Type the following commands to mount /dev/sdb1, enter:

# mkdir /data
# mount /dev/sdb1 /data
# df -H


Sample outputs:

Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 16G 819M 14G 6% /
tmpfs 1.6G 0 1.6G 0% /lib/init/rw
udev 1.6G 123k 1.6G 1% /dev
tmpfs 1.6G 0 1.6G 0% /dev/shm
/dev/sdb1 3.0T 211M 2.9T 1% /data


Make sure you replace /dev/sdb1 with actual RAID or Disk name or Block Ethernet device such as /dev/etherd/e0.0. Do not forget to update /etc/fstab, if necessary. Also note that booting from a GPT volume requires support in your BIOS / firmware. This is not supported on non-EFI platforms. I suggest you boot server from another disk such as IDE / SATA / SSD disk and store data on /data.