This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: USB version is 1.10?!


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]