<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Memos From the Cube</title>
	<atom:link href="http://fourwalledcubicle.com/blog/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://fourwalledcubicle.com/blog</link>
	<description>Blog for Dean Camera</description>
	<lastBuildDate>Mon, 08 Mar 2010 17:24:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Obtaining a VID and PID by Zac</title>
		<link>http://fourwalledcubicle.com/blog/archives/544/comment-page-1#comment-1581</link>
		<dc:creator>Zac</dc:creator>
		<pubDate>Mon, 08 Mar 2010 17:24:03 +0000</pubDate>
		<guid isPermaLink="false">http://fourwalledcubicle.com/blog/?p=544#comment-1581</guid>
		<description>A similar situation exists with Ethernet devices (IEEE OUI for $1650). But the IEEE has the good sense to sell smaller blocks (IEEE IAB, which is very much like sharing a VID) for only $550, and there doesn&#039;t appear to be a renewal fee, unless you want to keep your name secret.</description>
		<content:encoded><![CDATA[<p>A similar situation exists with Ethernet devices (IEEE OUI for $1650). But the IEEE has the good sense to sell smaller blocks (IEEE IAB, which is very much like sharing a VID) for only $550, and there doesn&#8217;t appear to be a renewal fee, unless you want to keep your name secret.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Obtaining a VID and PID by Dean Camera</title>
		<link>http://fourwalledcubicle.com/blog/archives/544/comment-page-1#comment-1580</link>
		<dc:creator>Dean Camera</dc:creator>
		<pubDate>Mon, 08 Mar 2010 10:42:32 +0000</pubDate>
		<guid isPermaLink="false">http://fourwalledcubicle.com/blog/?p=544#comment-1580</guid>
		<description>Very good point Alan. I&#039;ll be bringing up something related to your Guitar Hero point in my next blog/rant entry. However, while I do realise that the USB-IF exists to make money, I think it&#039;s deplorable that they make it near-impossible for hobbyists to break into the world of USB without violating a contract somewhere. LUFA uses PIDs in the Atmel range explicitly granted to me by Atmel for use in the project, which makes me lucky, however others have limited options. I&#039;ve tried to help out somewhat by making it allowable to use the LUFA PIDs in *hobbyist non commercial* projects compatible with the official LUFA demo, but it&#039;s still a royal pain. Comparing values is cheap and even the cruddiest embedded host can do it; if the USB-IF had expanded it to a 128-bit GUID system like Windows uses we wouldn&#039;t be in this mess, they could still charge for USB certification/advertisement, and things would still work as they do now except small businesses and hobbyists wouldn&#039;t be screwed.

I think MCS Electronics&#039; resale of their VID uses your negative rights idea; even though the extra clauses weren&#039;t in the agreement they signed, the USB-IF revoked their purchased VID when they found out people had an alternative to sending them piles of money high enough for them to swim in. Since products already exist with the &quot;blacklisted&quot; VID value the USB-IF cannot relicense it, so MCS still sell out the PID space since it&#039;s guaranteed not to clash. You loose the rights to use the USB logo on your product, but that&#039;s where the &quot;compatible/compliant&quot; difference comes in and to the consumer, nothing matters so long as it has a plug that fits one of the holes on their computer.

- Dean</description>
		<content:encoded><![CDATA[<p>Very good point Alan. I&#8217;ll be bringing up something related to your Guitar Hero point in my next blog/rant entry. However, while I do realise that the USB-IF exists to make money, I think it&#8217;s deplorable that they make it near-impossible for hobbyists to break into the world of USB without violating a contract somewhere. LUFA uses PIDs in the Atmel range explicitly granted to me by Atmel for use in the project, which makes me lucky, however others have limited options. I&#8217;ve tried to help out somewhat by making it allowable to use the LUFA PIDs in *hobbyist non commercial* projects compatible with the official LUFA demo, but it&#8217;s still a royal pain. Comparing values is cheap and even the cruddiest embedded host can do it; if the USB-IF had expanded it to a 128-bit GUID system like Windows uses we wouldn&#8217;t be in this mess, they could still charge for USB certification/advertisement, and things would still work as they do now except small businesses and hobbyists wouldn&#8217;t be screwed.</p>
<p>I think MCS Electronics&#8217; resale of their VID uses your negative rights idea; even though the extra clauses weren&#8217;t in the agreement they signed, the USB-IF revoked their purchased VID when they found out people had an alternative to sending them piles of money high enough for them to swim in. Since products already exist with the &#8220;blacklisted&#8221; VID value the USB-IF cannot relicense it, so MCS still sell out the PID space since it&#8217;s guaranteed not to clash. You loose the rights to use the USB logo on your product, but that&#8217;s where the &#8220;compatible/compliant&#8221; difference comes in and to the consumer, nothing matters so long as it has a plug that fits one of the holes on their computer.</p>
<p>- Dean</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Obtaining a VID and PID by Alan Chatham</title>
		<link>http://fourwalledcubicle.com/blog/archives/544/comment-page-1#comment-1579</link>
		<dc:creator>Alan Chatham</dc:creator>
		<pubDate>Mon, 08 Mar 2010 10:09:00 +0000</pubDate>
		<guid isPermaLink="false">http://fourwalledcubicle.com/blog/?p=544#comment-1579</guid>
		<description>There are two other options I&#039;ve seen out there as well: just pick a random number, which is probably fine for hobby stuff, and what I&#039;ll call negative rights, which is somewhat more legit for real devices, and also the model that V-USB is using

The first option is picking random VIDs and PIDs.   In practice, the VID/PID pair tells the operating system what drivers to load for the USB device. So as long as you pick an as-yet unused number, your device will work fine. The drawback is that if in the future, some device legitimately takes that number, then any system you&#039;ve installed your device on won&#039;t recognize the rightful owner of the VID/PID&#039;s device, since the OS will load up the drivers for your device, and it&#039;s awkward.

The second option, negative rights, is much more interesting.  If you purchase a VID from the USB-IF, basically what you&#039;re buying is the guarantee that the USB-IF will never, ever, ever give someone else that VID.  Now, the USB-IF won&#039;t let you give out the legal rights to PID blocks.  However, (and something that I don&#039;t think has been tested in the legal system) there isn&#039;t much to stop a VID owner from promising someone else that they won&#039;t use a certain number or block of numbers. Hence, the developer would not be buying the right to use a number, but rather the promise that that VID/PID will never be used by its owner.  The difference I assume would be that if you bought a PID from someone, you might have some legal claim to the rights of being a member of the USB-IF, while if you&#039;re buying this &quot;negative right&quot;, you&#039;re still violating the USB-IF&#039;s contract (for using a VID/PID that you don&#039;t own), but your device will be guaranteed not to conflict with someone else&#039;s in the future.

This brings me to my final point, which is that it seems to be that the USB-IF&#039;s actual legal recourse for punishing people who use unlicensed VID/PID pairs is to sue them for breach of contract. If you join the USB-IF and get a VID, you sign documents saying that you will only use the VID that&#039;s been assigned to you by the USB-IF. Since a 16 bit number isn&#039;t copyrightable, though, if you don&#039;t join the USB-IF, you can use any number and there&#039;s not much they can do about it.  Of course, if you&#039;re not a member of the USB-IF, you can&#039;t get your stuff USB certified (even though it still works), and you can&#039;t use any USB markings, since that belongs to the USB-IF.  Of course, I&#039;m no lawyer, so this should all be taken with a grain of salt, but the ideas are some I&#039;ve seen elsewhere. From personal experience, I know that any USB Guitar Hero controllers will only work with the games if they have the proper VID/PID pairs, and the number of unlicensed third party controllers seems to indicate that the USB-IF at least isn&#039;t too concerned with them, even if Activision and Harmonix have sued some makers over other stuff.</description>
		<content:encoded><![CDATA[<p>There are two other options I&#8217;ve seen out there as well: just pick a random number, which is probably fine for hobby stuff, and what I&#8217;ll call negative rights, which is somewhat more legit for real devices, and also the model that V-USB is using</p>
<p>The first option is picking random VIDs and PIDs.   In practice, the VID/PID pair tells the operating system what drivers to load for the USB device. So as long as you pick an as-yet unused number, your device will work fine. The drawback is that if in the future, some device legitimately takes that number, then any system you&#8217;ve installed your device on won&#8217;t recognize the rightful owner of the VID/PID&#8217;s device, since the OS will load up the drivers for your device, and it&#8217;s awkward.</p>
<p>The second option, negative rights, is much more interesting.  If you purchase a VID from the USB-IF, basically what you&#8217;re buying is the guarantee that the USB-IF will never, ever, ever give someone else that VID.  Now, the USB-IF won&#8217;t let you give out the legal rights to PID blocks.  However, (and something that I don&#8217;t think has been tested in the legal system) there isn&#8217;t much to stop a VID owner from promising someone else that they won&#8217;t use a certain number or block of numbers. Hence, the developer would not be buying the right to use a number, but rather the promise that that VID/PID will never be used by its owner.  The difference I assume would be that if you bought a PID from someone, you might have some legal claim to the rights of being a member of the USB-IF, while if you&#8217;re buying this &#8220;negative right&#8221;, you&#8217;re still violating the USB-IF&#8217;s contract (for using a VID/PID that you don&#8217;t own), but your device will be guaranteed not to conflict with someone else&#8217;s in the future.</p>
<p>This brings me to my final point, which is that it seems to be that the USB-IF&#8217;s actual legal recourse for punishing people who use unlicensed VID/PID pairs is to sue them for breach of contract. If you join the USB-IF and get a VID, you sign documents saying that you will only use the VID that&#8217;s been assigned to you by the USB-IF. Since a 16 bit number isn&#8217;t copyrightable, though, if you don&#8217;t join the USB-IF, you can use any number and there&#8217;s not much they can do about it.  Of course, if you&#8217;re not a member of the USB-IF, you can&#8217;t get your stuff USB certified (even though it still works), and you can&#8217;t use any USB markings, since that belongs to the USB-IF.  Of course, I&#8217;m no lawyer, so this should all be taken with a grain of salt, but the ideas are some I&#8217;ve seen elsewhere. From personal experience, I know that any USB Guitar Hero controllers will only work with the games if they have the proper VID/PID pairs, and the number of unlicensed third party controllers seems to indicate that the USB-IF at least isn&#8217;t too concerned with them, even if Activision and Harmonix have sued some makers over other stuff.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Obtaining a VID and PID by László Monda</title>
		<link>http://fourwalledcubicle.com/blog/archives/544/comment-page-1#comment-1578</link>
		<dc:creator>László Monda</dc:creator>
		<pubDate>Mon, 08 Mar 2010 01:19:59 +0000</pubDate>
		<guid isPermaLink="false">http://fourwalledcubicle.com/blog/?p=544#comment-1578</guid>
		<description>Very interesting writing.

I wasn&#039;t aware of this issue and certainly wouldn&#039;t pay around $2000.  Buying a whole 16 bit space is absolutely overkill!</description>
		<content:encoded><![CDATA[<p>Very interesting writing.</p>
<p>I wasn&#8217;t aware of this issue and certainly wouldn&#8217;t pay around $2000.  Buying a whole 16 bit space is absolutely overkill!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on I&#8217;m Chuffed! Also, bored. by Michael</title>
		<link>http://fourwalledcubicle.com/blog/archives/496/comment-page-1#comment-1576</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Sun, 07 Mar 2010 19:17:04 +0000</pubDate>
		<guid isPermaLink="false">http://fourwalledcubicle.com/blog/?p=496#comment-1576</guid>
		<description>Just finished merging the MassStorage demo with the XPLAINBridge project.  I use a jumper across TDO and TMS to select flash drive mode.  Very straight forward.  If I knew more about USB, I&#039;d attempt make the USB Serial Port and the Mass Storage device available at the same time...
Let me know if you want to fold the code into your baseline and I&#039;ll send you a zip...</description>
		<content:encoded><![CDATA[<p>Just finished merging the MassStorage demo with the XPLAINBridge project.  I use a jumper across TDO and TMS to select flash drive mode.  Very straight forward.  If I knew more about USB, I&#8217;d attempt make the USB Serial Port and the Mass Storage device available at the same time&#8230;<br />
Let me know if you want to fold the code into your baseline and I&#8217;ll send you a zip&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on I&#8217;m Chuffed! Also, bored. by Dean Camera</title>
		<link>http://fourwalledcubicle.com/blog/archives/496/comment-page-1#comment-1575</link>
		<dc:creator>Dean Camera</dc:creator>
		<pubDate>Sun, 07 Mar 2010 13:18:59 +0000</pubDate>
		<guid isPermaLink="false">http://fourwalledcubicle.com/blog/?p=496#comment-1575</guid>
		<description>Excellent Michael! Glad to hear my work is still useful to you. Let me know if you have any other enhancement ideas for me.

- Dean</description>
		<content:encoded><![CDATA[<p>Excellent Michael! Glad to hear my work is still useful to you. Let me know if you have any other enhancement ideas for me.</p>
<p>- Dean</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on I&#8217;m Chuffed! Also, bored. by Michael</title>
		<link>http://fourwalledcubicle.com/blog/archives/496/comment-page-1#comment-1572</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Sat, 06 Mar 2010 19:55:46 +0000</pubDate>
		<guid isPermaLink="false">http://fourwalledcubicle.com/blog/?p=496#comment-1572</guid>
		<description>Dean, once again your work pays me dividends.  I just built and installed the MassStorage demo for the XPLAIN, saving me oodles of time.  I&#039;m going to attempt to fold it into the XPLAIN_Bridge project so I can quickly switch, probably via yet another jumper setting, between serial, flash drive, and PDI programmer...</description>
		<content:encoded><![CDATA[<p>Dean, once again your work pays me dividends.  I just built and installed the MassStorage demo for the XPLAIN, saving me oodles of time.  I&#8217;m going to attempt to fold it into the XPLAIN_Bridge project so I can quickly switch, probably via yet another jumper setting, between serial, flash drive, and PDI programmer&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mein Server! by Dean Camera</title>
		<link>http://fourwalledcubicle.com/blog/archives/508/comment-page-1#comment-1568</link>
		<dc:creator>Dean Camera</dc:creator>
		<pubDate>Fri, 05 Mar 2010 05:43:54 +0000</pubDate>
		<guid isPermaLink="false">http://fourwalledcubicle.com/blog/?p=508#comment-1568</guid>
		<description>Yes, altering that value will indeed alter the software USART baud rate. However, due to limitations imposed by the fact that it is indeed software and not hardware USART, you probably won&#039;t be able to dial it up much further than the existing 9600 baud without transmission errors due to insufficient cycles to bit-bang the data.

- Dean</description>
		<content:encoded><![CDATA[<p>Yes, altering that value will indeed alter the software USART baud rate. However, due to limitations imposed by the fact that it is indeed software and not hardware USART, you probably won&#8217;t be able to dial it up much further than the existing 9600 baud without transmission errors due to insufficient cycles to bit-bang the data.</p>
<p>- Dean</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mein Server! by Michael</title>
		<link>http://fourwalledcubicle.com/blog/archives/508/comment-page-1#comment-1567</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Fri, 05 Mar 2010 03:47:02 +0000</pubDate>
		<guid isPermaLink="false">http://fourwalledcubicle.com/blog/?p=508#comment-1567</guid>
		<description>Thanks a million, Dean.  I&#039;m glad you did this so I didn&#039;t have to!  Do you think changing the bridge baud rate would be as simple as changing the BAUD macro in SoftUART.h, e.g. to 115200?</description>
		<content:encoded><![CDATA[<p>Thanks a million, Dean.  I&#8217;m glad you did this so I didn&#8217;t have to!  Do you think changing the bridge baud rate would be as simple as changing the BAUD macro in SoftUART.h, e.g. to 115200?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mein Server! by Dean Camera</title>
		<link>http://fourwalledcubicle.com/blog/archives/508/comment-page-1#comment-1564</link>
		<dc:creator>Dean Camera</dc:creator>
		<pubDate>Wed, 03 Mar 2010 11:22:46 +0000</pubDate>
		<guid isPermaLink="false">http://fourwalledcubicle.com/blog/?p=508#comment-1564</guid>
		<description>Yes, it would be perfectly possible to do both at the same time -- if the Atmel/Jungo driver allowed it. As it stands I can&#039;t figure out any way to get the Atmel AVRISP driver to bind to an arbitrary interface within the device, rather than the device itself, so I can&#039;t turn the app into a composite device with dual programming/serial capabilities.

- Dean</description>
		<content:encoded><![CDATA[<p>Yes, it would be perfectly possible to do both at the same time &#8212; if the Atmel/Jungo driver allowed it. As it stands I can&#8217;t figure out any way to get the Atmel AVRISP driver to bind to an arbitrary interface within the device, rather than the device itself, so I can&#8217;t turn the app into a composite device with dual programming/serial capabilities.</p>
<p>- Dean</p>
]]></content:encoded>
	</item>
</channel>
</rss>
