Extended Self-ID for USB devices

Most USB devices already have some sort of non-volatile memory that contains firmware and some self-identification data, presented to the host OS via USB descriptors - the kind of stuff you'd see as device properties in 'prtconf -v' output. This non-volatile memory is often in the form of tiny EEPROM arrays connected to the internal microcontroller via I2C, or something similar. Instead, now that USB flash memory is becoming dirt cheap, why not put a decent amount of it in every USB device, as an additional logical device ("interface" in USB speak, or "logical unit")?

It would be cool, for instance, if instead of lame, wasteful "installation CDs", devices could carry their own drivers (though it would be even cooler if all devices were class compliant). Just connect your shiny new webcam or a phone and the OS can install drivers right away. Or at least pick up a URI of a Web Service for finding the drivers. It's just a matter of standardizing on file formats and Web APIs. Kinda like a more generic version of U3.

Comments:

"It would be cool, for instance, if instead of lame, wasteful "installation CDs", devices could carry their own drivers"

Heh, why does this strongly remind me of OBP? It would have been so awesome, had the OBP become the standard (instead of BIOS and EFI).
Sadly, in the computer world, one is almost guaranteed everyone will try to go their own way. That was the order of the day in the '80s and '90s of the 20th century, and the consequences are felt and will be felt deeply into the 21st century.

As for USB and Solaris, one particularly painful point is that "the most advanced operating system on the planet" still doesn't "get USB right". Yes, the driver support is getting better all the time; that's a fact. On the other hand, USB is now, what? 15 years old? And Solaris still doesn't work correctly with USB! The users don't care about how the manufacturer of the device is to blame for this or that - they expect their shiny new 750GB drives to just work(SM) with their production grade "best operating system on the planet".

I can well understand and identify with that. When I have to hack /kernel/drv/scsa2usb.conf just to get a chance of, perhaps, "making" Solaris and the device talk to each other in any way that doesn't hang one or the other, you know that things are bad.

And when regular utilities like fdisk(1M) and format(1M) plain refuse to cooperate, you know things are even worse.

Posted by UX-admin on March 24, 2008 at 08:47 PM PDT #

The problem is largely due to sd(7D) assuming that underlying busses and devices are good T10 citizens. The assumption that USB shattered into sharp little pieces. Our SCSI target layer needs to be more polymorphic.

Posted by artem on March 25, 2008 at 09:20 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

artem

Search

Top Tags
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today