This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: USB version is 1.10?!
- From: Sergei Organov <osv at javad dot ru>
- To: Bart Veer <bartv at ecoscentric dot com>
- Cc: jay at systech dot com, ecos-discuss at sources dot redhat dot com
- Date: 10 Dec 2002 12:36:34 +0300
- Subject: Re: [ECOS] USB version is 1.10?!
- References: <80B97DE95AEED311BA580050047FE98455D8D6@mail.systech.com><87hee33q2i.fsf@osv.javad.ru><20021128111022.71CA36165C@delenn.bartv.net>
Bart Veer <bartv@ecoscentric.com> writes:
> >>>>> "Sergei" == Sergei Organov <osv@javad.ru> writes:
>
> Sergei> Jay Foster <jay@systech.com> writes:
> >> Looks to me like the definitions are correct. 0x0110 IS version 1.1.
> >> Version 1.1 and 1.10 are effectively the same.
>
> Sergei> Really? And if the 1.x specification will ever reach it's 10'th
> Sergei> revision (that is very unlikely), what would be the hex
> Sergei> representation for it then?
>
> >> 0x0101 would be version 1.01.
>
> Or even 1.0.1. Version strings do not follow normal arithmetic rules.
>
FYI, below is a quote from discussion at linux-usb-devel mailing list about
the issue. Looks like the USB specification contradicts with itself :-(
"Randy.Dunlap" <rddunlap@osdl.org> writes:
> On Mon, 9 Dec 2002, Dan Streetman wrote:
> |
> | On Mon, 9 Dec 2002, Rui Saraiva wrote:
> |
> | >Also, both values are in 0xJJMN format, where JJ is the major version
> | >number, M is the minor version number and N the sub minor version number.
> |
> | what makes you think the format is JJMN? I don't see that anywhere in
> | the USB spec, at least not that I can find. It would make much more
> | sense to be a normal BCD instead of some special BCD that uses a
> | combination of a byte and two nibbles (when all other BCDs
> | are always nibble-based).
>
> Just MMNN makes more sense to me, but the USB 2.0 spec says in
> section 9.6.1, page 261:
>
> The bcdUSB field contains a BCD version number. The value of the bcdUSB
> field is 0xJJMN for version JJ.M.N (JJ major version number, M minor
> version number, N sub-minor version number), e.g., version 2.1.3 is
> represented with value 0x0213 and version 2.0 is represented with a
> value of 0x0200.
>
> and then table 9-8 goes on to muck it up with:
>
> 2 | bcdUSB | 2 | BCD | USB Specification Release Number in Binary-Coded
> Decimal (i.e., 2.10 is 210H). This field identifies the release of the USB
> Specification with which the device and its descriptors are compliant.
>
> and Table 9-9 mucks it up again:
>
> 2 | bcdUSB | 2 | BCD | USB specification version number (e.g., 0200H for
> V2.00 )
>
> However, the previously-referenced ccs Versioning spec. says, for
> featureVersion and ccsVersion:
>
> 2 | bcdFeatureVersion and bcdCCSVersion | 2 | BCD |
> A BCD Value that encodes the revision of the
> CCS Feature as 4 BCD digits where the decimal point is between the 2 nd
> and 3 rd digits.
>
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss