implement class specific control commands : reset and getmaxlun for mass storage
now with a better understanding of the problem space for usb and device classes we can start cleaning the code up and make it nice
svn path=/trunk/; revision=19659
this is a wrapper protocol to store SCSI frames inside usb bulk data transfers
the dissector is far from complete but does
track ITL and ITLQ structures and will also call the SCSI dissector to
dissect the SCSI CDB.
what is still missing is handling of data in/out and scsi responses
at least it will now display the SCSI CDB and dissect it. woohoo
svn path=/trunk/; revision=19589
add tracking so that when we find an interface descriptor which tells us the device class we also create a conversation for each and every endpoint for that interface and also let all conversations (one for each endpoint) share the same usb conversation info structure.
store the device type inside this conv_info structure
add the required code to manage BULK data pdus and have it for now only display what kind of bulk data is contained (interface class as snooped from the descriptors)
we now only need a class dissector table we can fork off into from the bulk dissector in usb and then an external usb_masstorage dissector that registers itself as a mass storage device and we should be all set to dissect the scsi layer being transported atop usb
svn path=/trunk/; revision=19575
ansp provide the desired port/endpoints in the call to get/create a conversation so that we later when we see the a descriptor that says Endpoint X is using class Y
we need tis to register that certain endpoints are used for mass storage
(or other applications)
svn path=/trunk/; revision=19573
start introducing conversations to the usb dissector so that we can start tracking requests/responses
which we need to in order to dissect for example the data returned by a device to a GET DESCRIPTORS call
svn path=/trunk/; revision=19539
The attached patch fix parsing of the setup header in the usb dissector.
Currently the size of the field specified into proto_tree_add_item call
was wrong.
svn path=/trunk/; revision=19503