<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forums.obdev.at/app.php/feed/topic/6221" />

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2011-11-22T17:51:18+02:00</updated>

	<author><name><![CDATA[Objective Development Forums]]></name></author>
	<id>https://forums.obdev.at/app.php/feed/topic/6221</id>

		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2011-11-22T17:51:18+02:00</updated>

		<published>2011-11-22T17:51:18+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20261#p20261</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20261#p20261"/>
		<title type="html"><![CDATA[Re: endpoint descriptors in flash]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20261#p20261"><![CDATA[
Thank you very much for your answer!<br /><br />The following links explain the patch in detail:<br /><br /><!-- l --><a class="postlink-local" href="http://forums.obdev.at/viewtopic.php?t=1030">viewtopic.php?t=1030</a><!-- l --><br /><!-- m --><a class="postlink" href="http://www.ulrichradig.de/forum/viewtopic.php?f=34&amp;t=1401">http://www.ulrichradig.de/forum/viewtop ... =34&amp;t=1401</a><!-- m --><p>Statistics: Posted by Guest — Tue Nov 22, 2011 5:51 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Daid]]></name></author>
		<updated>2011-11-22T17:45:27+02:00</updated>

		<published>2011-11-22T17:45:27+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20260#p20260</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20260#p20260"/>
		<title type="html"><![CDATA[Re: endpoint descriptors in flash]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20260#p20260"><![CDATA[
Because bulk endpoints are not supported by the low-speed spec officially.<br /><blockquote class="uncited"><div>Some versions of Linux try to map bulk endpoints to interrupt endpoints on low speed devices and this mapping is broken. You need a kernel patch (included in the newest vanilla kernels &gt;=2.6.23) on these kernels. Windows Vista enforces the standard and you need a driver to map the bulk endpoints to interrupt endpoints. See Osamu Tamura's site for details.</div></blockquote>http://vusb.wikidot.com/usb-device-classes<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=5154">Daid</a> — Tue Nov 22, 2011 5:45 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2011-11-22T16:15:13+02:00</updated>

		<published>2011-11-22T16:15:13+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20257#p20257</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20257#p20257"/>
		<title type="html"><![CDATA[Re: endpoint descriptors in flash]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20257#p20257"><![CDATA[
Does anyone know why my USB-Core now says:<br /><br />dmesg:<br /><div class="codebox"><p>Code: </p><pre><code>usb 3-1.1.: config 1 interace 0 altsetting 1 endpoint 0x81 is Bulk; changing to Interrupt</code></pre></div><br /><br />Why is it changing my nice bulk-in endpoint to a interrupt endpoint? <img class="smilies" src="./../../../images/smilies/icon_biggrin.gif" alt=":D" title="Very Happy" /><br /><br />Kind Regards,<br /><br />Tommy<p>Statistics: Posted by Guest — Tue Nov 22, 2011 4:15 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2011-11-22T16:10:57+02:00</updated>

		<published>2011-11-22T16:10:57+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20256#p20256</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20256#p20256"/>
		<title type="html"><![CDATA[Re: endpoint descriptors in flash]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20256#p20256"><![CDATA[
Solved!<br /><br /> &quot;total length of data returned&quot; in &quot;PROGMEM-array&quot; shoud be 25 instead of 18. <img class="smilies" src="./../../../images/smilies/icon_smile.gif" alt=":)" title="Smile" /><p>Statistics: Posted by Guest — Tue Nov 22, 2011 4:10 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2011-11-22T15:52:47+02:00</updated>

		<published>2011-11-22T15:52:47+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20255#p20255</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20255#p20255"/>
		<title type="html"><![CDATA[endpoint descriptors in flash]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=6221&amp;p=20255#p20255"><![CDATA[
Hi everyone,<br /><br />I am using V-USB on ATTiny2313 and want to emulate a USB-Soundcard. For this reseaon I need to provide an in-endpoint 1 with transfer-type bulk. I built my firmware with the V-USB example &quot;Custom Class&quot; and implemened my own configuration descriptor (including a interface descriptor and a endpoint descriptor) in my flash data memory. Archiving the described behavior I set the properties-flags in usbconfig.h:<br /><br /><div class="codebox"><p>Code: </p><pre><code>#define CONFIGURATION_DESCRIPTOR_SIZE 25<br />#define USB_CFG_DESCR_PROPS_CONFIGURATION           (USB_PROP_LENGTH(CONFIGURATION_DESCRIPTOR_SIZE))</code></pre></div><br /><br />Further, I defined my descriptors in main.c:<br /><br /><div class="codebox"><p>Code: </p><pre><code>PROGMEM char usbDescriptorConfiguration&#91;CONFIGURATION_DESCRIPTOR_SIZE&#93; = {<br /><br />   /* USB configuration descriptor */<br />    9,          /* length of descriptor in bytes */<br />    2,         /* descriptor type, 2==ConfigurationDescriptor */<br />    18,         /* total length of data returned, including inline descriptors byte 1*/<br />    0,          /* total length of data returned, including inline descriptors byte 2 */<br />    1,          /* number of interfaces in this configuration */<br />    1,          /* index of this configuration */<br />    0,          /* configuration name string index */<br />    (1 &lt;&lt; 7),   /* attributes for device is not self-powered */<br />    40/2,       /* max USB current in 2mA units */<br /><br />    /* interface descriptor follows inline: */<br />    9,         /* length of descriptor in bytes */<br />    4,          /* descriptor type, 4==InterfaceDescriptor */<br />    0,         /* index of this interface */<br />    1,         /* alternate setting for this interface */<br />    1,          /* endpoints excl 0: number of endpoint descriptors to follow */<br />    0,          /* Interface class configured at device-descriptor level */<br />    0,          /* Interface subclass configured at device-descriptor level */<br />    0,          /* Interface protocol configured at device level */<br />    0,          /* string index for interface */      /*  ----&gt; maybe belongs to endpoint descriptor  */<br /><br />    /* endpoint descriptor follows inline: */<br />    7,          /* length of endpoint descriptor */<br />    5,        /* descriptor type, 5==EndpointDescriptor */<br />    (char)0x81, /* IN endpoint number 1 */        <br />    0x02,       /* attributes for endpoint (bulk-in) */  <br />    8,          /* maximum packet size byte 1*/<br />    0,          /* maximum packet size byte 2*/<br />    0          /* interrupt poll interval in ms, ingnored on other */<br />};</code></pre></div><br /><br />So far my &quot;USB-Soundcard&quot; is identified by my linux host PC, kernel module is loaded but the probing fails because, I guess, the USB-Core does not receive my descriptors properly.<br /><br />dmesg says:<br /><br /><div class="codebox"><p>Code: </p><pre><code>&#91;686983.913097&#93; usb 3-1.1: new low speed USB device using ohci_hcd and address 47<br />&#91;686984.018124&#93; usb 3-1.1: config 1 interface 0 altsetting 1 has 0 endpoint descriptors, different from the interface descriptor's value: 1<br />&#91;686984.018131&#93; usb 3-1.1: config 1 interface 0 has no altsetting 0<br />&#91;686984.031299&#93; usb 3-1.1: configuration #1 chosen from 1 choice<br />&#91;686984.059164&#93; snd-usb: probe of 3-1.1:1.0 failed with error -5<br />&#91;686984.059254&#93; usbcore: registered new interface driver snd-usb-caia</code></pre></div><br /><br />First I thouth about some compiler optimizations of my PROGMEM-array, but now almost every optimization-level is deactivated. Any suggestions about the reason why my endpoint descriptor seems wrong?<br /><br />Do I count the size of my PROGMEM-array wrong (=25)?<br /><br />Kind Regards,<br /><br />Tommy<p>Statistics: Posted by Guest — Tue Nov 22, 2011 3:52 pm</p><hr />
]]></content>
	</entry>
	</feed>
