Commit Graph

28 Commits

Author SHA1 Message Date
Ronnie Sahlberg 7a62c1f5fe add tracking of interface class for CONTROL_INPUT as well as existing support for BULK INPUT/OUTPUT
svn path=/trunk/; revision=19658
2006-10-22 09:38:59 +00:00
Ronnie Sahlberg bacb3d3ec5 fix some endianess issues
svn path=/trunk/; revision=19657
2006-10-22 05:21:37 +00:00
Ronnie Sahlberg 6ff555b31b dissect the individual bits in the CONFIDURATION descriptor field for the endpoint address
svn path=/trunk/; revision=19656
2006-10-22 01:21:20 +00:00
Ronnie Sahlberg de61ac3733 the flags are FT_BOOLEAN not FT_UINT8
svn path=/trunk/; revision=19650
2006-10-21 05:07:48 +00:00
Ronnie Sahlberg d421f8598d prettify the flags field and power consumption for CONFIGURATION DESCRIPTOR
dissect the self-powered and the remote-wakeup flags
show the powerconsumption in mA


svn path=/trunk/; revision=19649
2006-10-21 04:57:12 +00:00
Ronnie Sahlberg 232e884ca1 new dissector : usb mass storage
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
2006-10-18 11:24:03 +00:00
Ronnie Sahlberg 6a75fbab65 create a dissector table for the bulk input/output packet types
svn path=/trunk/; revision=19588
2006-10-18 09:30:28 +00:00
Ronnie Sahlberg df75f29284 move some defines to packet-usb.h so that they can be shared with other dissectors
svn path=/trunk/; revision=19587
2006-10-18 09:10:14 +00:00
Ronnie Sahlberg 638f9eced7 now when we do dissect the descriptors:
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
2006-10-17 13:40:26 +00:00
Ronnie Sahlberg 5bbcf2e2ca add a define for the "no endpoint" constant used to represent unknown or host side endpoint used for conversations
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
2006-10-17 09:14:16 +00:00
Ronnie Sahlberg 40ee68e3d4 correct the little / big endian comment
svn path=/trunk/; revision=19558
2006-10-16 14:54:20 +00:00
Ronnie Sahlberg 2cb017d84f dissect a lot more of the descriptors so that we can finally see which endpoints are used for what purpose
svn path=/trunk/; revision=19557
2006-10-16 14:43:35 +00:00
Jörg Mayer a32f396008 Display the skipped 4 bytes from the header as setup (see
struct usb_header). Just display it as a big endian number
(I don't have a spec at hand).


svn path=/trunk/; revision=19556
2006-10-16 14:24:24 +00:00
Ronnie Sahlberg ff7e652235 break finding/creating a conversation out into its own helper (which makes it easier later when we find an endpoint description that tells us some other endpoint is used for massstorage)
implement some more descriptors


svn path=/trunk/; revision=19555
2006-10-16 13:42:59 +00:00
Ronnie Sahlberg af000bdaa6 Finish dissection of GET DESCRIPTOR for the devicetype: DEVICE.
This dissector should be extended to dissect all other descriptors for all other device types as well.





svn path=/trunk/; revision=19554
2006-10-16 10:33:46 +00:00
Ronnie Sahlberg c5480555fd add some variables to the task structure so that we can pass TYPE/INDEX from the GET DESCRIPTOR request to the response dissector
(we need this in order to know how to dissect the response?)



svn path=/trunk/; revision=19553
2006-10-16 08:47:48 +00:00
Jörg Mayer b9582da89f - gcc dies on "default: }", add a ;
- proto_register usb instead of eth.

svn path=/trunk/; revision=19542
2006-10-15 12:27:51 +00:00
Ronnie Sahlberg d0bea0954e populate the info column with the request type and whetehr it is a request or a response
svn path=/trunk/; revision=19541
2006-10-15 08:21:56 +00:00
Ronnie Sahlberg a78a49b057 add tracking of request/responses for CONTROL INPUT so we can start passing parameters from request to response and dissect response data
svn path=/trunk/; revision=19540
2006-10-15 08:12:41 +00:00
Ronnie Sahlberg 714ce64b12 add a new port type for usb endpoints
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
2006-10-15 06:10:59 +00:00
Ronnie Sahlberg 077e03a549 start dissecting the setup headers
dissect GET DESCRIPTOR as an example on how to add such dissectors


svn path=/trunk/; revision=19538
2006-10-15 03:49:27 +00:00
Ronnie Sahlberg cfaf149ae8 rename some fields in the setup blob to use the same names as in the standard
add dissection of the bmRequestType bitmap



svn path=/trunk/; revision=19527
2006-10-14 10:09:32 +00:00
Ronnie Sahlberg f1f76a1817 put the packet type in the summary line
svn path=/trunk/; revision=19526
2006-10-14 09:43:17 +00:00
Ronnie Sahlberg 24ef4fcef0 create a new address type AT_USB and start populating the packet list
with nice data




svn path=/trunk/; revision=19524
2006-10-14 05:02:40 +00:00
Jaap Keuter 804bed87e6 From Paolo Abeni:
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
2006-10-12 08:04:11 +00:00
Ronnie Sahlberg 72817cf7bd from Paolo A
update the usb dissector to reflect the recent change in the pcap format


svn path=/trunk/; revision=19491
2006-10-11 09:47:27 +00:00
Anders Broman cec6d51774 u_int32_t gives error on Windows assuming guint32 will do.
svn path=/trunk/; revision=19482
2006-10-10 21:46:44 +00:00
Ronnie Sahlberg 26f642778f From Paolo Abeni
USB dissector


svn path=/trunk/; revision=19480
2006-10-10 21:00:35 +00:00