# What is wrong with my optical unit?

## philip

When I play a CD on my optical unit, dmesg gets filled with the I/O error messages, see below.

What can be wrong?  Or is this normal output when playing music? 

```
end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 256

end_request: I/O error, dev sr0, sector 256

end_request: I/O error, dev sr0, sector 264

end_request: I/O error, dev sr0, sector 264

end_request: I/O error, dev sr0, sector 272

end_request: I/O error, dev sr0, sector 272

end_request: I/O error, dev sr0, sector 768

end_request: I/O error, dev sr0, sector 768

end_request: I/O error, dev sr0, sector 776

end_request: I/O error, dev sr0, sector 776

end_request: I/O error, dev sr0, sector 784

end_request: I/O error, dev sr0, sector 784

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 4096

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 256

end_request: I/O error, dev sr0, sector 256

end_request: I/O error, dev sr0, sector 264

end_request: I/O error, dev sr0, sector 264

end_request: I/O error, dev sr0, sector 272

end_request: I/O error, dev sr0, sector 272

end_request: I/O error, dev sr0, sector 768

end_request: I/O error, dev sr0, sector 768

end_request: I/O error, dev sr0, sector 776

end_request: I/O error, dev sr0, sector 776

end_request: I/O error, dev sr0, sector 784

end_request: I/O error, dev sr0, sector 784

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 4096

end_request: I/O error, dev sr0, sector 0

__ratelimit: 600 callbacks suppressed

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 56

Buffer I/O error on device sr0, logical block 7

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 24

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 56

end_request: I/O error, dev sr0, sector 120

end_request: I/O error, dev sr0, sector 120

__ratelimit: 41 callbacks suppressed

Buffer I/O error on device sr0, logical block 15

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 0

Buffer I/O error on device sr0, logical block 0

end_request: I/O error, dev sr0, sector 16

Buffer I/O error on device sr0, logical block 2

end_request: I/O error, dev sr0, sector 128

Buffer I/O error on device sr0, logical block 16

end_request: I/O error, dev sr0, sector 128

Buffer I/O error on device sr0, logical block 16

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 64

end_request: I/O error, dev sr0, sector 256

end_request: I/O error, dev sr0, sector 256

end_request: I/O error, dev sr0, sector 264

end_request: I/O error, dev sr0, sector 264

end_request: I/O error, dev sr0, sector 272

end_request: I/O error, dev sr0, sector 272

end_request: I/O error, dev sr0, sector 768

end_request: I/O error, dev sr0, sector 768

end_request: I/O error, dev sr0, sector 776

end_request: I/O error, dev sr0, sector 776

end_request: I/O error, dev sr0, sector 784

end_request: I/O error, dev sr0, sector 784

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 16

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 8

end_request: I/O error, dev sr0, sector 128

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 0

end_request: I/O error, dev sr0, sector 4096
```

I can add that I just exchanged my old optical unit (Samsung) for a new one (Sony). The old Samsung also gave the same type of messages.

I also have problems with Amarok, that does no always show a newly inserted CD (but this is a separate problem).

----------

## bobspencer123

I sometimes get these problems when I'm trying to play an encrypted dvd that mplayer or some other program is having a hard time with. Also, you can have this problem when the disc is scratched. Or, it 'could' be a sign of a failing drive. But, since you get the message with 2 different drives I would think the scratched disc might be your best bet. 

Other thing to check for is that you have correct kernel modules in place for your drive ... i.e. you are not using the old pata drivers.

----------

## philip

Thanks bobspencer123 for the tip on kernel driver. 

It seems there is nothing related to PATA that is set:

```
# cat .config | grep PATA

# CONFIG_PATA_ACPI is not set

# CONFIG_PATA_ALI is not set

# CONFIG_PATA_AMD is not set

# CONFIG_PATA_ARTOP is not set

# CONFIG_PATA_ATIIXP is not set

# CONFIG_PATA_CMD640_PCI is not set

# CONFIG_PATA_CMD64X is not set

# CONFIG_PATA_CS5520 is not set

# CONFIG_PATA_CS5530 is not set

# CONFIG_PATA_CS5535 is not set

# CONFIG_PATA_CS5536 is not set

# CONFIG_PATA_CYPRESS is not set

# CONFIG_PATA_EFAR is not set

# CONFIG_PATA_HPT366 is not set

# CONFIG_PATA_HPT37X is not set

# CONFIG_PATA_HPT3X2N is not set

# CONFIG_PATA_HPT3X3 is not set

# CONFIG_PATA_ISAPNP is not set

# CONFIG_PATA_IT821X is not set

# CONFIG_PATA_IT8213 is not set

# CONFIG_PATA_JMICRON is not set

# CONFIG_PATA_LEGACY is not set

# CONFIG_PATA_TRIFLEX is not set

# CONFIG_PATA_MARVELL is not set

# CONFIG_PATA_MPIIX is not set

# CONFIG_PATA_OLDPIIX is not set

# CONFIG_PATA_NETCELL is not set

# CONFIG_PATA_NINJA32 is not set

# CONFIG_PATA_NS87410 is not set

# CONFIG_PATA_NS87415 is not set

# CONFIG_PATA_OPTI is not set

# CONFIG_PATA_OPTIDMA is not set

# CONFIG_PATA_PDC_OLD is not set

# CONFIG_PATA_QDI is not set

# CONFIG_PATA_RADISYS is not set

# CONFIG_PATA_RZ1000 is not set

# CONFIG_PATA_SC1200 is not set

# CONFIG_PATA_SERVERWORKS is not set

# CONFIG_PATA_PDC2027X is not set

# CONFIG_PATA_SIL680 is not set

# CONFIG_PATA_SIS is not set

# CONFIG_PATA_VIA is not set

# CONFIG_PATA_WINBOND is not set

# CONFIG_PATA_WINBOND_VLB is not set

# CONFIG_PATA_SCH is not set
```

SATA PMP, -AHCI and -MV is set.

```
# cat .config | grep SATA

# CONFIG_BLK_DEV_IDE_SATA is not set

CONFIG_SATA_PMP=y

CONFIG_SATA_AHCI=y

# CONFIG_SATA_SIL24 is not set

# CONFIG_SATA_SVW is not set

CONFIG_SATA_MV=y

# CONFIG_SATA_NV is not set

# CONFIG_SATA_QSTOR is not set

# CONFIG_SATA_PROMISE is not set

# CONFIG_SATA_SX4 is not set

# CONFIG_SATA_SIL is not set

# CONFIG_SATA_SIS is not set

# CONFIG_SATA_ULI is not set

# CONFIG_SATA_VIA is not set

# CONFIG_SATA_VITESSE is not set

# CONFIG_SATA_INIC162X is not set
```

----------

## pappy_mcfae

It's either a dirty disk or an optical drive on its way out.

Cheers,

Pappy

----------

## philip

Well, the optical unit is brand new. So dirty disk it has to be then.

----------

## pappy_mcfae

Not necessarily. New doesn't mean good. It took three mobo's before I got a good one for core-too. If you can boot from the optical drive, then it should work otherwise. if not, then it is bad. That is my usual test.

Cheers,

Pappy

----------

## NeddySeagoon

philip,

Audio CDs do not have the same level of data checking recovery that data DVDs do.

In fact, audio CD players are supposed to make up missing data, so you don't notice.

I don't think computer CDROMS do that, so you get read retries. I presume the CD player software does the filling in, when it can't wait any loger for the real data.

Rip your CDs to disk and compress them as FLAC files. It saves scratching your CDs.

You only need to get them to read correctly once.

----------

## bobspencer123

 *NeddySeagoon wrote:*   

> philip,
> 
> Audio CDs do not have the same level of data checking recovery that data DVDs do.
> 
> In fact, audio CD players are supposed to make up missing data, so you don't notice.
> ...

 

just to add onto this ... in linux you can rubyripper for secure ripping or you can use wine and eac without too much difficulty to preserve your audio cd collection.

----------

## NeddySeagoon

bobspencer123,

There are lots of audio ripping programs - some use cdparanoia to work really hard at recovering the data correctly in the face of dirt and scratches.

No need to resort to WINE

----------

## bobspencer123

 *NeddySeagoon wrote:*   

> bobspencer123,
> 
> There are lots of audio ripping programs - some use cdparanoia to work really hard at recovering the data correctly in the face of dirt and scratches.
> 
> No need to resort to WINE

 

which is why I first suggested RubyRipper ... but eac is still the "standard" by which accurate ripping is based and some folks may want to use that too.  

Btw rubyripper uses cdparanoi as its backend.

----------

## philip

Can you rip CD's with Amarok?

----------

