<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.linuxtv.org/wiki/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;feed=atom&amp;action=history</id>
		<title>Development: How to develop drivers for USB based devices - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;action=history"/>
		<updated>2013-06-20T09:36:35Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.16.5</generator>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=20614&amp;oldid=prev</id>
		<title>CityK: add cat.</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=20614&amp;oldid=prev"/>
				<updated>2009-01-15T23:49:17Z</updated>
		
		<summary type="html">&lt;p&gt;add cat.&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 23:49, 15 January 2009&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[usbreplay]] - allows one to replay parsed usbsnoop log files on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[usbreplay]] - allows one to replay parsed usbsnoop log files on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://usb-robot.sourceforge.net/ usb-robot] (also see [http://sourceforge.net/projects/usb-robot/]) - can play back a log file captured with [[usbsnoop|USB Snoopy]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://usb-robot.sourceforge.net/ usb-robot] (also see [http://sourceforge.net/projects/usb-robot/]) - can play back a log file captured with [[usbsnoop|USB Snoopy]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Development]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=20612&amp;oldid=prev</id>
		<title>CityK: add links</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=20612&amp;oldid=prev"/>
				<updated>2009-01-15T23:47:17Z</updated>
		
		<summary type="html">&lt;p&gt;add links&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 23:47, 15 January 2009&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Familiarizing yourself with a USB driver==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Familiarizing yourself with a USB driver==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To start with, there are some great Linux USB tutorials on Linux Journal:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To start with&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* For general references on how to develop a Linux kernel driver module, take a look at the [http://jungla.dit.upm.es/%7Ejmseyas/linux/kernel/hackers-docs.html Index of Documentation for People Interested in Writing and/or Understanding the Linux Kernel].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;As for USB drivers specifically&lt;/ins&gt;, there are some great Linux USB tutorials on Linux Journal:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Note|It's likely that these Linux Journal articles contain a fair measure of outdated information (e.g. Hot Plug etc have been replaced by [[Wikipedia:Udev|udev]]).&amp;nbsp; Nonetheless, they may still contain plenty of other quality information, so it may be well worth a perusal through them}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Note|It's likely that these Linux Journal articles contain a fair measure of outdated information (e.g. Hot Plug etc have been replaced by [[Wikipedia:Udev|udev]]).&amp;nbsp; Nonetheless, they may still contain plenty of other quality information, so it may be well worth a perusal through them}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In addition, get the source code for the [http://www.linuxtv.org/repo/ LinuxTV V4L-DVB driver set]. You will find that USB based DVB drivers are contained within the ''./v4l-dvb/linux/drivers/media/dvb/dvb-usb'' directory.&amp;nbsp; Have a bit of a browse through them while you're reading through the first article listed above, and try to get a feel for how the driver is put together (note: there is also a procedure about this that is described in a thread found [http://www.ubuntuforums.org/showthread.php?p=1067326 here]).&amp;nbsp; Sometimes you can get a good head start in your own development efforts by attempting to leverage parts of earlier released code -- that which may have been written specifically for the exact same chip as contained in your own device or via code for a near similar chip, such as say from a previous production generation.&amp;nbsp; Simply, modifying existing code to suite your own endeavour can greatly expediate the process of driver development.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In addition, get the source code for the [http://www.linuxtv.org/repo/ LinuxTV V4L-DVB driver set]. You will find that USB based DVB drivers are contained within the ''./v4l-dvb/linux/drivers/media/dvb/dvb-usb'' directory.&amp;nbsp; Have a bit of a browse through them while you're reading through the first article listed above, and try to get a feel for how the driver is put together (note: there is also a procedure about this that is described in a thread found [http://www.ubuntuforums.org/showthread.php?p=1067326 here]).&amp;nbsp; Sometimes you can get a good head start in your own development efforts by attempting to leverage parts of earlier released code -- that which may have been written specifically for the exact same chip as contained in your own device or via code for a near similar chip, such as say from a previous production generation.&amp;nbsp; Simply, modifying existing code to suite your own endeavour can greatly expediate the process of driver development.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;There is also a small amount of information in the &amp;quot;[[DVB via USB|General Information Regarding DVB via USB]]&amp;quot; article.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;There is also a small amount of information in the &amp;quot;[[DVB via USB|General Information Regarding DVB via USB]]&amp;quot; article&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&amp;nbsp; Likewise, the &amp;quot;[[Development: Reverse Engineering USB Webcams|Reverse Engineering USB Webcams]]&amp;quot; article may contain information of interest&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Some useful USB related tools==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Some useful USB related tools==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:19891:newid:20612 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19891&amp;oldid=prev</id>
		<title>Mauro Carvalho Chehab: /* Initial Steps */</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19891&amp;oldid=prev"/>
				<updated>2009-01-02T15:21:02Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Initial Steps&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 15:21, 2 January 2009&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The next logical step would be to try to obtain technical datasheets on the component ICs.&amp;nbsp; Many [[List_of_Chipset_Vendors|chip manufacturers]] make this documentation directly readily available.&amp;nbsp; In other cases, the datasheets are available, but it will take the likes of a google search to find (i.e. using the chip's part or model number can quickly track down multiple sources for such documentation ... Note: some &amp;quot;datasheet archive&amp;quot; websites ask you to log in or pay in order to obtain the information, however, be advised that the documentation will almost always be available elsewhere completely free of such restrictions).&amp;nbsp; When no information whatsoever exists, or has been freely released by the chip vendor, if you are still serious about developing driver support for your device, you may wish to contact the vendor directly to see if they will agree to releasing such information to you (which most likely will come in the form of being under a [[NDA]]).&amp;nbsp; In the very worst instances, particularly those cases of complex chips that also contain DRM (digital rights management) type engines for conditional access purposes, it is unlikely you, as an individual, will be able to obtain help or information from the vendor.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The next logical step would be to try to obtain technical datasheets on the component ICs.&amp;nbsp; Many [[List_of_Chipset_Vendors|chip manufacturers]] make this documentation directly readily available.&amp;nbsp; In other cases, the datasheets are available, but it will take the likes of a google search to find (i.e. using the chip's part or model number can quickly track down multiple sources for such documentation ... Note: some &amp;quot;datasheet archive&amp;quot; websites ask you to log in or pay in order to obtain the information, however, be advised that the documentation will almost always be available elsewhere completely free of such restrictions).&amp;nbsp; When no information whatsoever exists, or has been freely released by the chip vendor, if you are still serious about developing driver support for your device, you may wish to contact the vendor directly to see if they will agree to releasing such information to you (which most likely will come in the form of being under a [[NDA]]).&amp;nbsp; In the very worst instances, particularly those cases of complex chips that also contain DRM (digital rights management) type engines for conditional access purposes, it is unlikely you, as an individual, will be able to obtain help or information from the vendor.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;If you couldn't get enough info, you may try identify what commands are sent to the device by [http://www.linuxtv.org/wiki/index.php/Bus_snooping/sniffing Snooping the device bus]. This procedure is generally simpler with USB devices.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Familiarizing yourself with a USB driver==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Familiarizing yourself with a USB driver==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mauro Carvalho Chehab</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19224&amp;oldid=prev</id>
		<title>CityK: /* Linux */ set usbreplay link</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19224&amp;oldid=prev"/>
				<updated>2008-12-21T23:45:28Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Linux: &lt;/span&gt; set usbreplay link&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 23:45, 21 December 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 30:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 30:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** [http://www.wireshark.org/ Wireshark] - can interface with usbmon's output; see the Wireshark wiki page's regarding USB: [http://wiki.wireshark.org/USB here] and [http://wiki.wireshark.org/CaptureSetup/USB here]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** [http://www.wireshark.org/ Wireshark] - can interface with usbmon's output; see the Wireshark wiki page's regarding USB: [http://wiki.wireshark.org/USB here] and [http://wiki.wireshark.org/CaptureSetup/USB here]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz parser.pl] - a script for parsing the huge output log files produced by usbsnoop/SniffUSB &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz parser.pl] - a script for parsing the huge output log files produced by usbsnoop/SniffUSB &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://mcentral.de/wiki/index.php5/Usbreplay &lt;/del&gt;usbreplay] - allows one to replay parsed usbsnoop log files on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/ins&gt;usbreplay&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;] - allows one to replay parsed usbsnoop log files on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://usb-robot.sourceforge.net/ usb-robot] (also see [http://sourceforge.net/projects/usb-robot/]) - can play back a log file captured with [[usbsnoop|USB Snoopy]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://usb-robot.sourceforge.net/ usb-robot] (also see [http://sourceforge.net/projects/usb-robot/]) - can play back a log file captured with [[usbsnoop|USB Snoopy]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19222&amp;oldid=prev</id>
		<title>CityK: some minor edits</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19222&amp;oldid=prev"/>
				<updated>2008-12-21T23:34:34Z</updated>
		
		<summary type="html">&lt;p&gt;some minor edits&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 23:34, 21 December 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Familiarizing yourself with a USB driver==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Familiarizing yourself with a USB driver==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To start with, there are some great Linux USB tutorials on Linux Journal:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To start with, there are some great Linux USB tutorials on Linux Journal:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;{{Note|It's likely that these Linux Journal articles contain a fair measure of outdated information (e.g. Hot Plug etc have been replaced by [[Wikipedia:Udev|udev]]).&amp;nbsp; Nonetheless, they may still contain plenty of other quality information, so it may be well worth a perusal through them}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* start here: [http://www.linuxjournal.com/article/4786 How to Write a Linux USB Device Driver]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* start here: [http://www.linuxjournal.com/article/4786 How to Write a Linux USB Device Driver]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* then here: [http://www.linuxjournal.com/article/7353 Writing a Simple USB Driver]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* then here: [http://www.linuxjournal.com/article/7353 Writing a Simple USB Driver]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* here: [http://www.linuxjournal.com/article/5604 Hot Plug&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;] ....&amp;nbsp; Note: hot plug etc have been replaced by [[Wikipedia:Udev|udev]&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* here: [http://www.linuxjournal.com/article/5604 Hot Plug] &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* and then here: [http://www.linuxjournal.com/article/7582 Snooping the USB Data Stream]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* and then here: [http://www.linuxjournal.com/article/7582 Snooping the USB Data Stream]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Some useful USB related tools==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Some useful USB related tools==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Windows===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Windows===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[usbsnoop]] - a Windows based utility for sniffing/monitoring communications traffic for a USB device&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[usbsnoop]] - a Windows based utility for sniffing/monitoring communications traffic for a USB device&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&amp;nbsp; Note: &lt;/ins&gt;In case &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;usbsnoop&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;SniffUSB &lt;/ins&gt;doesn't work for you, here are a few &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;time limited apps &lt;/ins&gt;that &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;should &lt;/ins&gt;work under Vista:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;** &lt;/del&gt;In case &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;usbsniff&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;usbsnoop &lt;/del&gt;doesn't work for you, here are a few &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;others &lt;/del&gt;that &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;will &lt;/del&gt;work under Vista:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** [http://www.hhdsoftware.com/Family/usb-monitor.html USB Monitor] - 14-day trial period&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/del&gt;** [http://www.hhdsoftware.com/Family/usb-monitor.html USB Monitor] - 14-day trial period&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** [http://www.usblyzer.com/ USBlyzer] - fully functional evaluation version for 33 days&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/del&gt;** [http://www.usblyzer.com/ USBlyzer] - fully functional evaluation version for 33 days&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Linux===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Linux===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[usbmon]] - a Linux kernel module which can snoop and output USB communications traffic&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[usbmon]] - a Linux kernel module which can snoop and output USB communications traffic&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** [[Usbmon2usbsnoop]] - a script that converts the output from usbmon to usbsnoop log format, thereby making the captured data compatible for use with usbreplay (see below)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** [[Usbmon2usbsnoop]] - a script that converts the output from usbmon to usbsnoop log format, thereby making the captured data compatible for use with usbreplay (see &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;description &lt;/ins&gt;below)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** [http://www.wireshark.org/ Wireshark] - can interface with usbmon's output; see the Wireshark wiki page's regarding USB: [http://wiki.wireshark.org/USB here] and [http://wiki.wireshark.org/CaptureSetup/USB here]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** [http://www.wireshark.org/ Wireshark] - can interface with usbmon's output; see the Wireshark wiki page's regarding USB: [http://wiki.wireshark.org/USB here] and [http://wiki.wireshark.org/CaptureSetup/USB here]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz parser.pl] - a script for parsing the huge output log files produced by usbsnoop/SniffUSB &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz parser.pl] - a script for parsing the huge output log files produced by usbsnoop/SniffUSB &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/wiki/index.php5/Usbreplay usbreplay] - allows one to replay parsed usbsnoop log files on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/wiki/index.php5/Usbreplay usbreplay] - allows one to replay parsed usbsnoop log files on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://usb-robot.sourceforge.net/ usb-robot] (also see [http://sourceforge.net/projects/usb-robot/]) - can play back a log file captured with [[usbsnoop|USB Snoopy]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://usb-robot.sourceforge.net/ usb-robot] (also see [http://sourceforge.net/projects/usb-robot/]) - can play back a log file captured with [[usbsnoop|USB Snoopy]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19221&amp;oldid=prev</id>
		<title>CityK: some minor description changes</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19221&amp;oldid=prev"/>
				<updated>2008-12-21T23:26:27Z</updated>
		
		<summary type="html">&lt;p&gt;some minor description changes&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 23:26, 21 December 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Linux===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Linux===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[usbmon]] - &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[usbmon]] - &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a Linux kernel module which can snoop and output USB communications traffic&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** [[Usbmon2usbsnoop]] - a script that converts the output from usbmon to usbsnoop log format, thereby making the captured data compatible for use with usbreplay&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** [[Usbmon2usbsnoop]] - a script that converts the output from usbmon to usbsnoop log format, thereby making the captured data compatible for use with usbreplay &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(see below)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://www.wireshark.org/ Wireshark] - &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/ins&gt;* [http://www.wireshark.org/ Wireshark] - &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;can interface with usbmon's output; see the Wireshark wiki page's regarding USB: &lt;/ins&gt;[http://wiki.wireshark.org/USB &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;here] and [http://&lt;/ins&gt;wiki&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.wireshark.org/CaptureSetup/USB here&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;** &lt;/del&gt;[http://wiki.wireshark.org/USB &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Wireshark &lt;/del&gt;wiki]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz parser.pl] - a script for parsing the huge output log &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;files produced by usbsnoop/SniffUSB &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz parser.pl] - a script for parsing the huge &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;usbsnoop/usbsniff &lt;/del&gt;output log &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;file&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/wiki/index.php5/Usbreplay usbreplay] - allows one to replay parsed usbsnoop log files on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/wiki/index.php5/Usbreplay usbreplay] - allows one to replay parsed usbsnoop log files on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;usb-robot &lt;/del&gt;[http://usb-robot.sourceforge.net/] [http://sourceforge.net/projects/usb-robot/] - can play back a log file captured with [[usbsnoop|USB Snoopy]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://usb-robot.sourceforge.net/ &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;usb-robot&lt;/ins&gt;] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(also see &lt;/ins&gt;[http://sourceforge.net/projects/usb-robot/]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) &lt;/ins&gt;- can play back a log file captured with [[usbsnoop|USB Snoopy]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19214&amp;oldid=prev</id>
		<title>CityK: some additions/rearrangements/headings</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19214&amp;oldid=prev"/>
				<updated>2008-12-21T20:26:13Z</updated>
		
		<summary type="html">&lt;p&gt;some additions/rearrangements/headings&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 20:26, 21 December 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In addition, get the source code for the [http://www.linuxtv.org/repo/ LinuxTV V4L-DVB driver set]. You will find that USB based DVB drivers are contained within the ''./v4l-dvb/linux/drivers/media/dvb/dvb-usb'' directory.&amp;nbsp; Have a bit of a browse through them while you're reading through the first article listed above, and try to get a feel for how the driver is put together (note: there is also a procedure about this that is described in a thread found [http://www.ubuntuforums.org/showthread.php?p=1067326 here]).&amp;nbsp; Sometimes you can get a good head start in your own development efforts by attempting to leverage parts of earlier released code -- that which may have been written specifically for the exact same chip as contained in your own device or via code for a near similar chip, such as say from a previous production generation.&amp;nbsp; Simply, modifying existing code to suite your own endeavour can greatly expediate the process of driver development.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In addition, get the source code for the [http://www.linuxtv.org/repo/ LinuxTV V4L-DVB driver set]. You will find that USB based DVB drivers are contained within the ''./v4l-dvb/linux/drivers/media/dvb/dvb-usb'' directory.&amp;nbsp; Have a bit of a browse through them while you're reading through the first article listed above, and try to get a feel for how the driver is put together (note: there is also a procedure about this that is described in a thread found [http://www.ubuntuforums.org/showthread.php?p=1067326 here]).&amp;nbsp; Sometimes you can get a good head start in your own development efforts by attempting to leverage parts of earlier released code -- that which may have been written specifically for the exact same chip as contained in your own device or via code for a near similar chip, such as say from a previous production generation.&amp;nbsp; Simply, modifying existing code to suite your own endeavour can greatly expediate the process of driver development.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;===Some useful tools===&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;There is also &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;small amount of information in &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;&lt;/ins&gt;[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[DVB via &lt;/ins&gt;USB|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;General Information Regarding DVB via USB&lt;/ins&gt;]]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot; article.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* [[usbsnoop]]- &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Windows USB sniffer utility&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* [http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz parser.pl] - a script for parsing &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;huge usbsniff log file&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* &lt;/del&gt;[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://mcentral.de/wiki/index.php5/Usbreplay &lt;/del&gt;USB &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Replay] - allows one to replay parsed usbsnoop logfiles on a Linux system&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;** also see this [[ULi_M920x_parse&lt;/del&gt;|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;M920x specific script&lt;/del&gt;]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;for some ideas&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* USBmon&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* [[Usbmon2usbsnoop]] - a script that converts the output from usbmon to a format that is compatible with USB Replay&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Also See&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Some useful USB related tools==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;DVB via &lt;/del&gt;USB|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;General Information Regarding DVB via &lt;/del&gt;USB]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;===Windows=&lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;usbsnoop]] - a Windows based utility for sniffing/monitoring communications traffic for a &lt;/ins&gt;USB &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;device&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** In case usbsniff/usbsnoop doesn't work for you, here are a few others that will work under Vista:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*** [http://www.hhdsoftware.com/Family/usb-monitor.html USB Monitor] - 14-day trial period&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*** [http://www.usblyzer.com/ USBlyzer] - fully functional evaluation version for 33 days&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;===Linux===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [[usbmon]] - &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** [[Usbmon2usbsnoop]] - a script that converts the output from usbmon to usbsnoop log format, thereby making the captured data compatible for use with usbreplay&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [http://www.wireshark.org/ Wireshark] - &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** [http://wiki.wireshark.org/USB Wireshark wiki]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz parser.pl] - a script for parsing the huge usbsnoop/usbsniff output log file&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [http://mcentral.de/wiki/index.php5/Usbreplay usbreplay] - allows one to replay parsed usbsnoop log files on a Linux system&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* usb-robot [http://usb-robot.sourceforge.net/] [http://sourceforge.net/projects/usb-robot/] - can play back a log file captured with [[usbsnoop&lt;/ins&gt;|USB &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Snoopy&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:19209:newid:19214 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19209&amp;oldid=prev</id>
		<title>CityK: set usbsnoop link, add udev note</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=19209&amp;oldid=prev"/>
				<updated>2008-12-21T17:27:06Z</updated>
		
		<summary type="html">&lt;p&gt;set usbsnoop link, add udev note&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 17:27, 21 December 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* start here: [http://www.linuxjournal.com/article/4786 How to Write a Linux USB Device Driver]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* start here: [http://www.linuxjournal.com/article/4786 How to Write a Linux USB Device Driver]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* then here: [http://www.linuxjournal.com/article/7353 Writing a Simple USB Driver]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* then here: [http://www.linuxjournal.com/article/7353 Writing a Simple USB Driver]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* here: [http://www.linuxjournal.com/article/5604 Hot Plug]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* here: [http://www.linuxjournal.com/article/5604 Hot Plug&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;] ....&amp;nbsp; Note: hot plug etc have been replaced by [[Wikipedia:Udev|udev]&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* and then here: [http://www.linuxjournal.com/article/7582 Snooping the USB Data Stream]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* and then here: [http://www.linuxjournal.com/article/7582 Snooping the USB Data Stream]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Some useful tools===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Some useful tools===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http://benoit.papillault.free.fr/usbsnoop/ &lt;/del&gt;usbsnoop] - a Windows USB sniffer &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;utilitly, which adheres to the WDM architecture &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[&lt;/ins&gt;usbsnoop&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]&lt;/ins&gt;]- a Windows USB sniffer &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;utility&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;** also see [http://www.pcausa.com/Utilities/UsbSnoop/default.htm SniffUSB 2.0] - a usbsnoop derivative&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz parser.pl] - a script for parsing the huge usbsniff log file&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz parser.pl] - a script for parsing the huge usbsniff log file&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/wiki/index.php5/Usbreplay USB Replay] - allows one to replay parsed usbsnoop logfiles on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/wiki/index.php5/Usbreplay USB Replay] - allows one to replay parsed usbsnoop logfiles on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:14222:newid:19209 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=14222&amp;oldid=prev</id>
		<title>Andywebsdale: /* Some useful tools */</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=14222&amp;oldid=prev"/>
				<updated>2008-07-06T00:00:08Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Some useful tools&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 00:00, 6 July 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*&amp;nbsp; [http://benoit.papillault.free.fr/usbsnoop/ usbsnoop] - a Windows USB sniffer utilitly, which adheres to the WDM architecture &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*&amp;nbsp; [http://benoit.papillault.free.fr/usbsnoop/ usbsnoop] - a Windows USB sniffer utilitly, which adheres to the WDM architecture &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** also see [http://www.pcausa.com/Utilities/UsbSnoop/default.htm SniffUSB 2.0] - a usbsnoop derivative&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** also see [http://www.pcausa.com/Utilities/UsbSnoop/default.htm SniffUSB 2.0] - a usbsnoop derivative&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* parser.pl - a script for parsing the huge usbsniff log file&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[http://mcentral.de/hg/~mrec/usbreplay/archive/tip.tar.gz &lt;/ins&gt;parser.pl&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;] &lt;/ins&gt;- a script for parsing the huge usbsniff log file&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/wiki/index.php5/Usbreplay USB Replay] - allows one to replay parsed usbsnoop logfiles on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [http://mcentral.de/wiki/index.php5/Usbreplay USB Replay] - allows one to replay parsed usbsnoop logfiles on a Linux system&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** also see this [[ULi_M920x_parse|M920x specific script]] for some ideas&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** also see this [[ULi_M920x_parse|M920x specific script]] for some ideas&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Andywebsdale</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=13335&amp;oldid=prev</id>
		<title>CityK: /* Initial Steps */ minor fixes and additons</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_How_to_develop_drivers_for_USB_based_devices&amp;diff=13335&amp;oldid=prev"/>
				<updated>2008-02-04T18:36:11Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Initial Steps: &lt;/span&gt; minor fixes and additons&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 18:36, 4 February 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Initial Steps==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Initial Steps==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The very first thing you would want to do is to identify the components used in your device&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;.&amp;nbsp; Refer &lt;/del&gt;to the section entitled&amp;nbsp; &amp;quot;[[Supported_Hardware#Gathering Information About Your Unidentified/Unsupported Device|Gathering Information About Your Unidentified/Unsupported Device]]&amp;quot; for &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;some clues on how to proceed with that task&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The very first thing you would want to do is to identify the components used in your device &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;as well as determine the device's subsystem ID; refer &lt;/ins&gt;to the section entitled&amp;nbsp; &amp;quot;[[Supported_Hardware#Gathering Information About Your Unidentified/Unsupported Device|Gathering Information About Your Unidentified/Unsupported Device]]&amp;quot; for &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;details&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The next logical step would be to try to obtain technical datasheets on the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;components&lt;/del&gt;.&amp;nbsp; Many chip manufacturers make this documentation &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;readiablily &lt;/del&gt;available&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, while in &lt;/del&gt;other cases a google search &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;for &lt;/del&gt;the chip's part or model number &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is necessary to &lt;/del&gt;track down &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;other &lt;/del&gt;sources for such documentation.&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The next logical step would be to try to obtain technical datasheets on the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;component ICs&lt;/ins&gt;.&amp;nbsp; Many &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[List_of_Chipset_Vendors|&lt;/ins&gt;chip manufacturers&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;make this documentation &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;directly readily &lt;/ins&gt;available&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&amp;nbsp; In &lt;/ins&gt;other cases&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, the datasheets are available, but it will take the likes of &lt;/ins&gt;a google search &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to find (i.e. using &lt;/ins&gt;the chip's part or model number &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;can quickly &lt;/ins&gt;track down &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;multiple &lt;/ins&gt;sources for such documentation &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;... Note: some &amp;quot;datasheet archive&amp;quot; websites ask you to log in or pay in order to obtain the information, however, be advised that the documentation will almost always be available elsewhere completely free of such restrictions)&lt;/ins&gt;.&amp;nbsp; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;When no information whatsoever exists, or has been freely released by the chip vendor, if you are still serious about developing driver support for your device, you may wish to contact the vendor directly to see if they will agree to releasing such information to you (which most likely will come in the form of being under a [[NDA]]).&amp;nbsp; In the very worst instances, particularly those cases of complex chips that also contain DRM (digital rights management) type engines for conditional access purposes, it is unlikely you, as an individual, will be able to obtain help or information from the vendor.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Familiarizing yourself with a USB driver==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==Familiarizing yourself with a USB driver==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	</feed>