I burned identical raw encrypted data to three cds using my new external Toshiba drive. My internal IBM read only drive does not get an I/O Error when reading in Circumstance #1, but does get an I/O Error in Circumstance #2. But, the Toshiba drive can do both circumstances without an error.
(python scripting used in example)
Circumstance #1 (No I/O Error)
f = open("/dev/cdrom", "r")
data = f.read(100)
f.close()
Circumstance #2 (Gets I/O Error)
f = open("/dev/cdrom", "r")
# I have over simplified the seeking here. The real program is a decryption program and seeks all over the drive.
f.seek(50)
data = f.read(50)
f.seek(0)
data += f.read(50)
f.close()
Why can my IBM read-only-drive read the data if I ask for it all at once, but if I skip around and read random ranges of that data, it gives me an error always at the same range of data I try to read on all three identical burned cd's? FYI: The Toshiba decrypts the data perfectly, so it's not bad seek in my programming.
In case you are wondering why I am doing this it is custom encrypted data that I burned to a cd. This is a link to the python script. https://docs.google.com/leaf?id=0B3CivKF_RjaINzcyZWQ1NzgtMmEyZS00YWEyLTgzYWItYjdlNzJmMzFkODYw&hl=en Launch it with: sudo python app.py But do not do it unless you are on a live distro and you have first removed all drives, unless you know what you are doing. (It's as dangerous as partitioning!)