Alan, thanks. see below.
++doug from the keyboard of Alan Stern: > On Wed, 10 Sep 2003, Doug Maxey wrote: > > > Howdy, > > > > I have an interesting situation with 2 different TEAC FD-05PUB-x59 > > floppy drives. The x59 designation is on the external device label, > > the two samples in my lab are -159 and -259. > > > > Both show the same descriptors, and both indicate they are C/B/I > > devices according to lsusb. > > > > However, depending on the value defined in the unusual_dev list, > > currently US_PR_CB, I can only get the older -159 drive to > > configure. > > > > If the unusual_devs list is edited to show the supported protocol as > > US_PR_CBI, the device -259 configured, and not the -159. > > > > This leads to my questions: > > > > 1) What is the the signifigance of the unusual_devs list. I am > > infering the list exists to provide a way to configure devices > > that do not precisely agree with the protocol actually supported > > You're close. The list provides protocol settings for devices that don't > advertise what protocol they support (or advertise a protocol they don't > support), and it provides special-case flags for devices that in some way > require special handling. > > > 2) if a given device is in the unusual_devs list, how does one also > > define that it might show as the other, that is to say, correctly? > > I'm don't really understand what you mean by that, but here's how you > would attack the problem of the -159 and -259 drives. Although it's > surprising that the -259 drive doesn't work with the US_PR_CB setting, > since CB is a subset of CBI and any CBI device ought to support CB. > > Anyway, take another look at the device descriptors for your two drives. > The file /proc/bus/usb/devices contains what you need. Although they may > have the same vendor and product ID's, they almost certainly have > different serial numbers. The serial number is part of the unusual_devs.h > entry; you can edit the existing entry to make sure the range of serial > numbers excludes the -259 drive, and if necessary add a new entry with a > non-overlapping range that does include the -259. Ah. I think this is the rub. The problem, stated a little more precisely, is that both devices have *exactly* the same strings for all descriptors from /proc/bus/usb/devices, or even lsusb -vv. # lsusb -vv -s 1:3 > bus-vv-1:3 # lsusb -vv -s 2:3 > bus-vv-2:3 # diff bus-vv* 2c2 < Bus 001 Device 003: ID 4406:0000 --- > Bus 002 Device 003: ID 4406:0000 # Yet at some level, one is good, and the other not. Here are the relevant strings from /proc/bus/usb/devices # head -20 fd-* ==> fd-first <== T: Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0644 ProdID=0000 Rev= 0.00 S: Manufacturer=TEAC S: Product=TEAC FD-05PUB C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=04 Prot=00 Driver=(none) E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms ==> fd-second <== T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0644 ProdID=0000 Rev= 0.00 S: Manufacturer=TEAC S: Product=TEAC FD-05PUB C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=04 Prot=00 Driver=usb-storage E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=83(I) Atr=03(Int.) MxPS= 2 Ivl=255ms Just noticed that 1:3 shows three endpoints, 2:3 shows only two. Would the trace file of a CATC Chief be of any interest? > > Alan Stern > ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel