Welcome, Guest. Please login or register.

Author Topic: LG CD-ROM destroyed by Linux  (Read 3286 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Floid

  • Hero Member
  • *****
  • Join Date: Feb 2003
  • Posts: 918
    • Show all replies
Re: LG CD-ROM destroyed by Linux
« on: November 01, 2003, 10:07:51 AM »
As I understand it, the problem was somehow specific to their kernel branch, hence it being reported as Mandrake's problem, not Linux's in general.

But it *is* a standard ATA command (not x86-specific in any way) that isn't supposed to go destroying hardware, so avoiding the affected drives would be a good idea on principle.  

And hm, Mandrake does have a PPC build, don't they?  So yeah, if they used the same kernel tree there, it could possibly be a problem... Why not just ask them?

Mandrake Erratum Report

Edit: Aha, they don't list 9.2 for PowerPC yet, so that solves that.
 

Offline Floid

  • Hero Member
  • *****
  • Join Date: Feb 2003
  • Posts: 918
    • Show all replies
Re: LG CD-ROM destroyed by Linux
« Reply #1 on: November 01, 2003, 12:51:14 PM »
Quote

bhoggett wrote:
It does seem to be limited to Mandrake and a System Rescue CD at the moment (but that could also affect other distros - no reported incidents don't mean a clean bill of health). It does seem to be a problem with the LG drives, as a firmware upgrade is said to remove the threat. I gather the affected distros are also addressing their end of the problem.


No reported incidents, plus Mandrake's specification of the -mdk tree (they're taking the blame), does suggest this particular nugget didn't enter the mainline (Linus's or Marcelo's trees), and between that and the publicity, one can hope and assume it won't spread further.

Anyone else is free to make the same 'mistake,' of course.   It's an easy one to make; you just write perfectly valid code, following the same popular and generally-accepted  specifications as the rest of the world adheres to, then find out a million units in the field were designed to blow up when presented with it. ;)  Even MS could have the same problem, though their codependency with the hardware companies gives them better chances of catching  blatant issues before releasing.

(Even then, Windows 98 wouldn't install properly* on a rather large base of Via-chipset-based boards.  That was one of the issues that forced 98SE to market, though they used the opportunity to integrate the new Media Player and other monopoly features.)

Hammer said,
Quote
My LG DVD/CD-RW combo drive works with Red Hat Linux 9.0 setup…
The CD-Rs are always going to be unaffected, because they have to support the offending command just to function.

From the erratum, which could be worded better:
"The specification does not require an implementation of the FLUSH_CACHE command in the driver, and returning an error (or doing nothing) would have been the correct behaviour for the drive. Likewise, reusing a command is against the specification and LG has reused the FLUSH_CACHE command to modify the firmware of the drive, but they are unwilling to disclose exactly what the command does.  This FLUSH_CACHE command is supposed to be supported only by CD-RW or DVD-RW devices; the LG-based CD-ROM devices are understanding this command as the UPLOAD_FIRMWARE command."

So the code in the Mandrake kernel took what should be a safe shortcut - sends the FLUSH_CACHE command without checking the drive type, expects an ignore/rejection at worst, per the spec; LG designed their CD-ROM readers to go into self-destruct mode instead.  It's like someone sold you an Amiga where the 'dir' command formats the hard drive. ;)  Mandrake's changing their code to avoid any unnecessary destruction, while LG have probably been embarassed into compliance on new units/through fixes for the installed ones.

What makes it a mess is that you can't resuscitate a drive yourself *after* the firmware's been wiped.

*Since someone's going to call me on this; you could obviously get it installed with enough struggle, and OEMs didn't have so much problem, because they only had to create one working disk image to blow onto all affected machines.  Original '98 didn't support the Via chips completely/outright, and of course it wouldn't fall back to BIOS-grade access automatically, so you'd run the installer, boot, watch your system freeze - at least, if it was configured like mine - then have to kick it into Safe Mode yourself and install Via's drivers.  Not quite as destructive as this fiasco, but another example of 'unforseen hardware problems.'  In that case, MS made that assumption that no hardware would exist to supplant the current state of the market (a MS-grade assumption, if there ever was); they've since learned a thing or two, and XP takes a slightly more stable approach in those domains, while MS is extra-sure to twist the arms of manufacturers.
 

Offline Floid

  • Hero Member
  • *****
  • Join Date: Feb 2003
  • Posts: 918
    • Show all replies
Re: LG CD-ROM destroyed by Linux
« Reply #2 on: November 02, 2003, 06:06:25 AM »
Quote

Hammer wrote:
Quote
What makes it a mess is that you can't resuscitate a drive yourself *after* the firmware's been wiped.

Have you tried MTK Win Flash (V 1.5.3.6) or MTKflash (V162)(DOS) to do a forced (i.e. Direct IDE Port Mode) flash?

I was forced to re-flash my LG drive after Blindwrite vs LG flash upgrade conflicts.  The conflicts caused the drive to be unusable (i.e. ruined firmware due to untimely system reset).

Don't look at me, I run FreeBSD.  But maybe that'll prove some help to others.  (I knew I'd be called on that, too.  Maybe it's not impossible; obviously it's far less than straightforward for the average user.)

Testing is great, but like I said, they're Mandrake, not MS; companies aren't exactly throwing free evaluation hardware at them, and their coffers to purchase same are relatively small.  Maybe a better handling of betatesting/release candidates could've saved them; I don't know how their development model works now.  They tried to follow best-practices; LG (and Dell, by proxy) didn't.

...and the Via chipset I'm thinking of was the MVP3, while it probably didn't help that I had my drives on a SCSI card (which would further demand 'IRQ routing' to work properly).  Never put any Windows on my KT133A machine, let alone '98 original. ;)