Posts tagged ‘Windows’

Optical drive firmware updating in Linux

I recently needed to burn a copy of Windows 7 Pro but realisd that I’d unfortunately run out of blank DVD-Rs long ago. Fear not, for I live near an Aldi supermarket, whom sell everything dirt cheap. DVD-R’s a DVD-R, right?

Wrong. I tried at least three of the twenty I purchased (for a few quid) and none of them would even begin writing. Brasero/K3B both complained about incompatible media types.

Remembering that my DVD drive, a trusty NEC 3500A, was designed, built and purchased somewhere between 2004 and 2005 (4-5 years ago at this point) and that I hadn’t ever updated the firmware, I set about researching ways and means into doing this.

I came across this website, run by a pair of firmware hackers named Liggy and Dee whom have (between them) released, and continue to host, many firmware releases (both official and unofficial) for a wide variety of NEC optical drives.

What’s more, their binflash (or ‘necflash’) utility was even released as a Linux binary and it even provides compatibility for reading the official NEC .exe firmware releases! I was sceptical that it would work under Ubuntu 9.10 at first, but much to my delight it worked perfectly. With a little reading, I was able to dump my current firmware (2.16) to file and subsequently flash two different firmware releases: 2.58 (an OEM firmware release) and the latest, official NEC firmware 2.1A release.

The full output of my escapades for anyone curious:


~$ sudo ./necflash -flash -v -s Desktop/NECND350_v21A.exe /dev/sg2
Binflash - NEC version - (C) by Liggy and Herrie
Visit http://binflash.cdfreaks.com

Identified drive: 4 - 3031
Detected drive from Firmware: 4

You are about to flash your drive with the following firmware:

Vendor: _NEC
Identification: DVD_RW ND-3500AG
Version: 2.1A

Remember no one can be held responsible for any kind of failure!
Are you sure you want to proceed? (y/n) y

Entering safe mode
Sending firmware to drive at 0x006000
Sending firmware to drive at 0x00e000
Sending firmware to drive at 0x016000
Sending firmware to drive at 0x01e000
Sending firmware to drive at 0x026000
Sending firmware to drive at 0x02e000
Sending firmware to drive at 0x036000
Sending firmware to drive at 0x03e000
Sending firmware to drive at 0x046000
Sending firmware to drive at 0x04e000
Sending firmware to drive at 0x056000
Sending firmware to drive at 0x05e000
Sending firmware to drive at 0x066000
Sending firmware to drive at 0x06e000
Sending firmware to drive at 0x076000
Sending firmware to drive at 0x07e000
Sending firmware to drive at 0x086000
Sending firmware to drive at 0x08e000
Sending firmware to drive at 0x096000
Sending firmware to drive at 0x09e000
Sending firmware to drive at 0x0a6000
Sending firmware to drive at 0x0ae000
Sending firmware to drive at 0x0b6000
Sending firmware to drive at 0x0be000
Sending firmware to drive at 0x0c6000
Sending firmware to drive at 0x0ce000
Sending firmware to drive at 0x0d6000
Sending firmware to drive at 0x0de000
Sending firmware to drive at 0x0e6000
Sending firmware to drive at 0x0ee000
Sending firmware to drive at 0x0f6000
Sending firmware to drive at 0x0fe000
Sending checksum to drive
Erasing flash block 2
Erasing flash block 3
Erasing flash block 4
Erasing flash block 5
Erasing flash block 6
Erasing flash block 7
Erasing flash block 8
Erasing flash block 9
Erasing flash block 10
Erasing flash block 11
Erasing flash block 12
Erasing flash block 13
Erasing flash block 14
Erasing flash block 15
Erasing flash block 16
Erasing flash block 17
Erasing flash block 18
Writing flash block 2
Writing flash block 3
Writing flash block 4
Writing flash block 5
Writing flash block 6
Writing flash block 7
Writing flash block 8
Writing flash block 9
Writing flash block 10
Writing flash block 11
Writing flash block 12
Writing flash block 13
Writing flash block 14
Writing flash block 15
Writing flash block 16
Writing flash block 17
Writing flash block 18
Leaving safe mode

Whilst the 2.58 OEM release didn’t fix my problems, 2.1A did and I now have a freshly-burnt copy of Windows 7 Pro to go and play games with. Nice one, Liggy & Dee. :)

Exchange 2010 to support Firefox and Safari

I’m actually unbelievably shocked. Uncontrollable, crazy laughter gripped the inner space of my mind when I was faced with the news that Microsoft are planning to support Firefox 3.x and Safari 3 from the Exchange 2010 ‘Outlook Web Access’ web page.

Further still, they’re touting the fact that the OWA now has all of the features the regular Outlook desktop does!

Does this not strike anyone else as a move that would make Windows (and Office, particularly since itself and OpenOffice will by then both have full ODF compatibility) completely obsolete? Why would you pay for a Windows 7 site license, when you can upgrade your Exchange server to 2010, replace all of the Windows machines with Ubuntu 10.04 LTS, Firefox 3.1 and OpenOffice, and save your company thousands of pounds?

On top of this, they’ve supposedly tuned 2010 to be ‘less bursty’ in the way that it accesses the disk, as well as adding JBOD concatenation support. Does anyone else see that as ‘Please virtualise your Exchange servers’? Yep, so did I.

I suppose you could be running HyperV, but with Microsoft supporting iterations of Windows Server under RedHat Xen virtulisation, I really don’t see how they’re going to convince people to pay for their the majority of their bread-and-butter products, once Exchange 2010 débuts.

What’s next? Windows 7 released under the Microsoft Public License? Perhaps they’ll just call it ‘Windows Azure Client’ when they give it away for free…

I’m spoilt these days…

I’ve just had to setup Windows on a physical machine (shudder) to control and monitor the IOMeter disk benchmarks that are needed for my final year project. I didn’t try to run it in Wine, but I suppose I should’ve. Needless to say, I do require it to be perfect in order to maintain the fairness of my testing, so Windows was unfortunately my first choice.

Due to the age of the hardware I had lying around; an old Athlon XP-M system with an Abit NF7-S 2.0 and 512MB of ‘borrowed’ memory (thanks Ian), it was safe to say that it wouldn’t be any good installing Vista on it. Therefore I downloaded and burnt an XP ISO from my MSDN account and set about installing XP to the 200GB SATA drive I had (thanks Neillans, actually!)

The Abit NF7-S range of boards (particularly the V2.0) were highly-regarded during their hay-day: a testament to Abit’s awesome legacy. Not least for their inclusion of SATA ports way back in 2002, when Serial ATA was a relatively new feature on desktop boards. It even included basic RAID functions across the twin ports, courtesy of the Sil3112r chipset, which is still sold today if you look hard enough. When this was my main motherboard I actually ran a pair of 36GB WD Raptors in RAID-0 (scarily the same pair I use as my root drive now! I’m poor, OK?) and everything worked extremely well.. I never had a single problem with it.

But fast-forward to installing XP onto a SATA single disk, and I was stumped for a little while. Aside from the faff in convincing my floppy drive to work with the board (I’d previously disabled it via three, separate options in the BIOS — nightmare) I then had XP’s installation looping continuously, instead of booting from the HDD to continue with the second phase of the installation. It was almost as if XP was failing to write NTLDR into the MBR, somehow.

Now by convention on modern motherboards, SATA ports can typically be set to three modes: RAID, AHCI, and IDE. The latter of which is used purely for compatibility with older operating systems. However, the ‘RAID’ mode typically prevents that particular disk from being presented as a possible boot disk by marking it for use within RAID arrays only. It’s all fairly self-explanatory, however.

However, within the NF7-S’s BIOS, there are no such options. You can either enable/disable the SATA chipset, and optionally enable/disable the ‘SATA RAID ROM’, which you would believe would be only required if creating RAID arrays. I didn’t wish to use the RAID features and therefore I didn’t intend on ear-marking the disk as a RAID disk, as I wanted to boot from it. Sounds sensible, right?

Sadly, unless this ROM option is actually enabled, regardless of whether or not I wished to use any of the RAID features; the disks will not be presented as boot disks. Quite why there is even an option in the first place is beyond me! Because of this, the XP installation CD was failing to find a suitable boot disk and was therefore intent on looping endlessly through the first phase of the installation process. Fun times…

It has since occurred to me just how far SATA adoption and usability has actually come in the last 5-6 years. With most chipsets now natively including anything from two to eight AHCI SATA ports, as well as incorporating much better integration into the BIOS menus. Similarly, with natively AHCI-aware operating systems such as Linux, Solaris (and friends), many BSDs, Vista (and Windows 7!) now becoming largely common-place, there are few reasons for any of the IDE-compatibility options any longer.

That is, unless you’ve only got a single-core processor, 512MB of memory and an old, awkward (but great) motherboard. I just wish the IOMeter devs would consider creating a GTK+/QT4 front-end for dynamo! :)