Comment 37 for bug 172937

Revision history for this message
devel (devel-talktalk) wrote :

Symptoms: DVD drive read errors when trying to load live distros, or play films under Linux.

For example:
  SQUASHFS error: sb_bread failed reading block ...
  SQUASHFS error: Unable to read page, block ..., size ...

  end_request: I/O error, dev sr0, sector ...
  Buffer I/O error on device sr0, logical block ...

Tests/Results: (I tried...)
(a) Ubuntu 7.04 'Fiesty Faun' (DVD) live boot
    OK (Note: treats DVD-Drive as device hdc.)

(b) Ubuntu 8.04 'Hardy Heron' (DVD) live boot
    BAD - errors like example above.

(c) Xubuntu 8.04 (CDR) live boot and media check
    BAD - errors like example above.

(d) Ubuntu 8.10 'Intrepid Ibex' (DVD) live boot
    BAD - but errored later, after failing to start X.

(e) Ubuntu 9.10 'Karmic Koala' (DVD) live boot
    BAD - errors like example above.

(f) OpenSuse 10.2 (DVD) live boot and media check
    OK

(g) OpenSuse 10.3 (DVD) live boot and media check
    BAD

(h) OpenSuse 11.0 (DVD) live boot and media check
    OK! A later version that works?!

(i) OpenSuse 11.1 (DVD) live boot
    BAD

(j) OpenSuse 11.2 (DVD) live boot
    BAD

(k) Knoppix 5.3.1
    OK (Note: although kernel is late-ish 2.6.24.2 it still treats CD as device hdc...)

NOTE: Disks that do not work in the Test System DO work in a more modern PC...

Test System:
  Advent 5480DVD
  [SiS Chipset]
  [Old circa 2000, PIII (Coppermine) 800MHz]
  BIOS circa 2001
  RAM upgraded to 512MB
  DVD upgraded to Pioneer DVR KD08 (this is only 8months old from manufacture)
  HDD upgraded to 40GB

Things tried that *DID* *NOT* solve problem:
- Used 'regionset' utility to set region on the new DVD drive.
- Apply kernel parameters mix'n'match of the following:
  generic.all_generic_ide=1
  irqpoll
  ide=nodma
  apic=off
- Memory test - shows my SDRAMs are good.

Media Check Experiment:
Aborting install of OpenSuse 10.2 we get a menu including the media check option.
If I swap DVD for e.g. 10.3 then select this option, it successfully verifies DVD, even though 10.3 will not verify *itself* successfully. That is, aborting 10.3 install and doing media check on itself fails!
i.e. the Linux SW version running the media dictates whether the DVD works, not a media problem.

Windows Experiment:
Replace HDD with old HDD with Windows ME (!) on.
This can successfully play DVD movies.
After this, which confirms the region setting, the Linux DVD behaviour is no different - same problems.
(So the dead Windows ME or *old* Linux are my best bet for playing DVDs on this HW?!?! Both are security risks so such a machine could NOT be connected to the net.)

Experimental Conclusions:
- There is nothing wrong with the media - it must be accepted that at least most of them are good - in fact I think they all are.
- There is nothing wrong with the DVD drive.
- There is nothing wrong with the computer HW in general.
- There *IS* something wrong with (newer) Linux DVD/CD driver SW on this HW...
- ... - it is emergent on more recent Linux SW versions, possibly when IDE got wrapped to make it look like SCSI.

+++ Workaround Solution +++ :
After all else failed I finally find the libata.dma kernel parameter works when excluding DMA on CD i.e. [in the following manner]
(***Works on Ubuntu 9.10 'Karmic'***)

   libata.dma=1

[or =5, the point here is to exclude 2=CD DMA from the bitmask]

Unfortunately OpenSuse 11.2 'Kiwi' bootloader does not understand this option....so still no way in.

Summary:
I have a work-around solution for this kind of HW.
But it will be suboptimal - no DMA on CD/DVD.
And (I believe the evidence points to) something that used to work got (has gotten) broke.
It is *NOT* broken HW (in the broad sense, the DVD works with older Linux and with Windows.)
My understanding is something like the old IDE modules got replaced by libata, sr_mod etc.(?)
So this would be suspect.

I would suggest this form of this error needs a fix - that either this bug is reopened or a one one opened.