"Linux IDE Guy" Wants Option to Disable CPRM
January 2nd, 2001 by Don Marti in
Linux already disables the Processor Serial Number on Intel CPUs to prevent applications from reading it, and Hedrick's proposal would make a similar containment policy possible for CPRM.
In an interview with Linux Journal, Hedrick explained that CPRM, intended as a copy restriction feature, would create problems with important functionality such as making backups. And Alan Cox says CPRM will make it impossible to use disk defragmenting tools.
The following is Hedrick's mail to the T13 committee. Contact information for T13 committee officers and minutes of previous T13 meetings are available on the T13 home page.
Mr. Chairman,
I am request a Proposal Number to present the content below at the February meeting. Of course I am aware that I will need to get a 2/3 support in a roll-call vote of approval to allow adoption in to ATA-6; however, this is only necessary if "e00148rX" is adopted in the same fashion and rules during the February meeting.
Upon receiving the number I will submit the document to be reviewed by all.
The purpose of this offensive crossover feature set is to prevent a valid JAVA type CPRM tool from attempting to perfrom a CPRM action without the HOST first giving notice for enduser certification of the process.
Upon applying this method, T13 may prevent issues that may be deemed actionable by forcing the customer to choose to allow CPRM actions to be performed on their HOST. They must issue the passcode to unlock the feature block to allow CPRM HOST action to be performed.
Apply this constraint against the "e00148rX" and make it a feature that can be disabled and locked out if desired, then you will see better acceptance. This will provide the MPAA people with a method of stopping CPRM content from going to a device that does not allow CPRM features to be enabled. Everybody wins.
Finally, if CPRM proposal is removed from possible adoption, I will withdraw this proposal due to lack of symbiotic requirements. Additionally if this can be ammended to "e00148rX", then a new document will not be needed.
quoted material from another T13 member deleted - Ed.
I went full tilt to successfully stop/postpone this from being adopted at the last meeting in Irvine. If you look at the orginal unsanitized version of this proposal the e00148r0 (note totally rejected in October) verses the stripped down almost technical version of e00148r2, you get the real picture.
Now if you guys want to get me off the topic, you make e00148r3/4 for the meeting in February at Dell contain this addition.
New Command Pair:
Set Features CPRM Lock. 0x4C and 0xAC
(Yes I cleverly picked the pair to reflect their true nature)
----------------------------------------------------
These commands SHALL be included in all devices that support/enable the
CPRM "e00148rX", which is now defined as OPTIONAL. Regardless if the CPRM
key locks are supported, CPRM Enable:Disable SHALL be supported.
----------------------------------------------------
The Enable Feature command SHALL be set only by embedded HOST that do not
have an External HOST to overide the feature. The Enable Feature command
SHALL set a concatenated 32-bit passcode to hold the enable lock.
INPUTS: Enable CPRM Mode Lock
Feature 0x4C
Sector Count .c3
Sector Number .c2
Cylinder Low .c1
Cylinder High .c0
Device Head obs|na|obs|DEV|na|na|na|na
Command 0xEF
Sector Count -
Sector Number -
Cylinder Low -
Cylinder High -
The .c3 .c2 .c1 .c0 SHALL compose a valid lock which will
comprise and be limited to a 32-bit word size. The Enable
concatenated passcode SHALL have two RESERVED Values
0xFFFFFFFF and 0x00000000.
Device/Head -
DEV is to indicate device selection.
NORMAL OUTPUTS:
Error na
Sector Count .d3
Sector Number .d2
Cylinder Low .d1
Cylinder High .d0
Device Head obs|na|obs|DEV|na|na|na|na
Status BSY|DRDY|DF|na|DRQ|na|na|ERR
Sector Count -
Sector Number -
Cylinder Low -
Cylinder High -
The .d3 .d2 .d1 .d0 SHALL return the accepted passcode in the same
format that was issued.
Device/Head -
DEV is to indicate device selection.
Status register -
BSY: shall be clear to zero indicating command completion
DRDY: shall be clear to zero
DF: (Device Fault) shall be clear to zero
DRQ: shall be clear to zero
ERR: shall be clear to zero
ERROR OUTPUTS:
Error na|UNC|na|IDNF|na|na|ABRT|na
Sector Count reserved
Sector Number reserved
Cylinder Low reserved
Cylinder High reserved
Device Head obs|na|obs|DEV|na|na|na|na
Status BSY|DRDY|DF|na|DRQ|na|na|ERR
Error -
UNC: shall be set to one if the passcode is not accepted.
IDNF: shall be set to one if the passcode was never set.
ABRT: shall be set to one if this command is not supported, if
the passcode is not accepted, or if the passcode was never set.
Sector Count -
Sector Number -
Cylinder Low -
Cylinder High -
Reserved:
Device/Head -
DEV: is to indicate device selection.
Status register -
BSY: shall be clear to zero indicating command completion
DRDY: shall be clear to one.
ERR: shall be clear to one if an Error register bit is set to one.
----------------------------------------------------
The Disable Feature command MAY be set only by any HOST. The Disable
Feature command SHALL set a concatenated 32-bit passcode to hold the STATE
of the lock and SHALL NOT be cleared to enable except by the External HOST.
INPUTS: Disable CPRM Mode Lock
Feature 0xAC
Sector Count .c3
Sector Number .c2
Cylinder Low .c1
Cylinder High .c0
Device Head obs|na|obs|DEV|na|na|na|na
Command 0xEF
Sector Count -
Sector Number -
Cylinder Low -
Cylinder High -
The .c3 .c2 .c1 .c0 SHALL compose a valid lock which will
comprise and be limited to a 32-bit word size. The Disable
concatenated passcode SHALL have two RESERVED Values
0xFFFFFFFF and 0x00000000.
Device/Head -
DEV: is to indicate device selection
NORMAL OUTPUTS:
Error na
Sector Count .d3
Sector Number .d2
Cylinder Low .d1
Cylinder High .d0
Device Head obs|na|obs|DEV|na|na|na|na
Status BSY|DRDY|DF|na|DRQ|na|na|ERR
Sector Count -
Sector Number -
Cylinder Low -
Cylinder High -
The .d3 .d2 .d1 .d0 SHALL return the accepted passcode in the same
format that was issued.
Device/Head -
DEV: is to indicate device selection.
Status register -
BSY: shall be clear to zero indicating command completion
DRDY: shall be clear to zero
DF: (Device Fault) shall be clear to zero
DRQ: shall be clear to zero
ERR: shall be clear to zero
ERROR OUTPUTS:
Error na|UNC|na|IDNF|na|na|ABRT|na
Sector Count reserved
Sector Number reserved
Cylinder Low reserved
Cylinder High reserved
Device Head obs|na|obs|DEV|na|na|na|na
Status BSY|DRDY|DF|na|DRQ|na|na|ERR
Error -
UNC: shall be set to one if the passcode is not accepted.
IDNF: shall be set to one if the passcode was never set.
ABRT: shall be set to one if this command is not supported, if
the passcode is not accepted, or if the passcode was never set.
Sector Count -
Sector Number -
Cylinder Low -
Cylinder High -
Reserved:
Device/Head -
DEV: is to indicate device selection.
Status register -
BSY: shall be clear to zero indicating command completion
DRDY: shall be clear to one.
ERR: shall be clear to one if an Error register bit is set to one.
----------------------------------------------------
Standard Non-Data will be issued and the same error handling SHALL be
observed; however the follow execption SHALL report with the content in
the sub-set-features registers.
----------------------------------------------------
Additionally the Feature Support and Feature Enable Bits of the CPRM
"e00148rX" proposal reflect in a manner that standard in the reported mode
of IDENTIFY DEVICE.
Once the Set Features CPRM Lock command is set, the bits in Words 83 and
86 SHALL be effected in the following manner, as it relates to the newly
to be created "Copy Protection Feature Set Supported/Enabled".
Word 83 "Set Features CPRM Lock Support" shall be set to one,
if Word 83 for "Copy Protection Feature Set Supported" is set to one.
Word 86 "SetFeatures CPRM Lock Enable" shall be set to one, if the HOST
has issued a "Set Features CPRM Lock Disable Command" succesfully. The
result of which set the "Set Features CPRM Lock Disable Enable" to one
will also set and lock the "Copy Protection Feature Set Enabled" to zero.
Therefore "Copy Protection Feature Set Supported" shall issue an ABORT to
any HOST request to activate the "Copy Protection Feature Set" until the
"Set Features CPRM Lock Disable" is cleared by the HOST.
-------------------------------------------------
Regards,
Andre HedrickCTO Timpanogas Research GroupEVP Linux Development, TRGLinux ATA Development
Special Magazine Offer -- Free Gift with Subscription
Receive a free digital copy of Linux Journal's System Administration Special Edition as well as instant online access to current and past issues. CLICK HERE for offer
Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.
Subscribe now!
The Latest
Newsletter
Tech Tip Videos
- Jul-01-09
- Jun-29-09
Recently Popular
From the Magazine
July 2009, #183
News Flash: Linux Kernel 3.0 to include an on-the-go Expresso machine interface! Ok, maybe not, but Linux is definitely going mobile, from phones to e-readers. Find out more inside about Android, the Kindle 2, the Western Digital MyBook II, The Bug, and Indamixx (a portable recording studio). And if you've gone mobile and you been wanting more Emacs in your life then check out Conkeror.
To compliment the mobile we've got the stationary: parsing command line options with getopt, checking your Ruby code with metric_fu, and building a secure Squid proxy. How is this stationary you ask? What can we say? It's not. We just wanted to see if anybody actually read this part of the page :) .
All this and more, and all you have to do is get your hot sweaty hands on the latest copy of Linux Journal.
Delicious
Digg
StumbleUpon
Reddit
Facebook








Post new comment