<?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/10160" />

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2015-12-06T07:41:43+02:00</updated>

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

		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2015-12-06T07:41:43+02:00</updated>

		<published>2015-12-06T07:41:43+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=10160&amp;p=30573#p30573</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=10160&amp;p=30573#p30573"/>
		<title type="html"><![CDATA[Universal Serial device]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=10160&amp;p=30573#p30573"><![CDATA[
Hello togheter,<br /><br />my Atiny85 send via Vusb sample (using atmel2015 &amp; USBasp) an Descriptor to host PC.<br />there bring my part into a Hid Class. <br /><br />With my self maked *inf file i can bring em into the &quot;Univerasl Serial device&quot; class, and<br />give em an unique DeviceGUID (without the uid the part stay unaccessable)<br /><br />My Question is how i must form out my device descriptor to become atomatical an &quot;Universal Serial device&quot;<br />I have Change PID and VID , with original Voti PID/VID the part jumps alone into this class, but stay unaccessable<br />how Long i dont install my handmaked *.inf with unique DeviceGUID  <br /><br />I can open the device with my hjandmaked *inf install (or automatic update with DevCon) fine.<br /><br />I wich i dont Need some other Software and the part go alone into this class.<br /><br />Oening wit CreateFile  succs if the DeviceGUID is set via Inf only <img class="smilies" src="./../../../images/smilies/icon_sad.gif" alt=":(" title="Sad" /><br /><br /> Here the descriptor sampe to come as HID Input<br /><br /><div class="codebox"><p>Code: </p><pre><code>PROGMEM const char usbHidReportDescriptor&#91;22&#93; = {    // USB report descriptor <br />    0x06, 0x00, 0xff,              // USAGE_PAGE (Generic Desktop)<br />    0x09, 0x01,                    // USAGE (Vendor Usage 1)<br />    0xa1, 0x01,                    // COLLECTION (Application)<br />    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)<br />    0x26, 0xff, 0x00,              //   LOGICAL_MAXIMUM (255)<br />    0x75, 0x08,                    //   REPORT_SIZE (8)<br />    0x95, 0x01,                    //   REPORT_COUNT (1)<br />    0x09, 0x00,                    //   USAGE (Undefined)<br />    0xb2, 0x02, 0x01,              //   FEATURE (Data,Var,Abs,Buf)<br />    0xc0                           // END_COLLECTION<br />};<br /></code></pre></div><br /><br /><br />This pack of data  Comes from Arduino, i cant overlay that with the Structure from USB Spec<br /><br /><div class="codebox"><p>Code: </p><pre><code>typedef struct {   <br />unsigned char bLength;                // Size of this Descriptor in Bytes   <br />unsigned char bDescriptorType;        // Descriptor Type (=1)   <br />unsigned int  bcdUSB;                 // USB Spec Release Number in BCD   <br />unsigned char bDeviceClass;           // Device Class Code   <br />unsigned char bDeviceSubClass;        // Device Subclass Code   <br />unsigned char bDeviceProtocol;        // Device Protocol Code   <br />unsigned char bMaxPacketSize0;        // Maximum Packet Size for EP0    <br />unsigned int  idVendor;               // Vendor ID    <br />unsigned int  idProduct;              // Product ID   <br />unsigned int  bcdDevice;              // Device Release Number in BCD   <br />unsigned char iManufacturer;          // Index of String Desc for Manufacturer   <br />unsigned char iProduct;               // Index of String Desc for Product   <br />unsigned char iSerialNumber;          // Index of String Desc for SerNo   <br />unsigned char bNumConfigurations;     // Number of possible Configurations <br />} device_descriptor;          <br /></code></pre></div><br /><br />Equal what ever the descriptor send to host, when i later install my Inf , the device jump always<br />to the &quot;Universal Serial device&quot; class, that is what i will do with a own descriptor:<br /><br /><div class="codebox"><p>Code: </p><pre><code>; KeyMan.inf<br />; Copyright (c) 1998-2015 KarstenSchulz<br /><br />&#91;Strings&#93;<br />DeviceName = &quot;KeyMan&quot;<br />VendorName = &quot;KarstenSchulz&quot;<br />DeviceID   = &quot;VID_16C1&amp;PID_15DF&quot; //my self maked pid/vid<br />DeviceGUID = &quot;{EEBE3F79-3A2A-4304-9791-EBF0E998E93F}&quot; //tha essential DeviceGUID without i cant never open the part<br /><br />&#91;Version&#93;<br />Signature   = &quot;$Windows NT$<br />ClassGuid   = {88bae032-5a81-49f0-bc3d-a4ff138216d6}<br />Provider    = &quot;KarstenSchulz&quot;<br />DriverVer   = 30/11/2015, 8.0.0.0<br /><br />&#91;ClassInstall32&#93;<br />Addreg = WinUSBDeviceClassReg<br /><br />&#91;Manufacturer&#93;<br />%VendorName% = KarstenSchulz_WinUSB,NTx86,NTamd64,NTia64<br /><br />&#91;KarstenSchulz_WinUSB.NTx86&#93;<br />%DeviceName% = USB_Install, USB\%DeviceID%<br /><br />&#91;KarstenSchulz_WinUSB.NTamd64&#93;<br />%DeviceName% = USB_Install, USB\%DeviceID%<br /><br />&#91;KarstenSchulz_WinUSB.NTia64&#93;<br />%DeviceName% = USB_Install, USB\%DeviceID%<br /><br />&#91;USB_Install&#93;<br />Include = winusb.inf<br />Needs   = WINUSB.NT<br /><br />&#91;USB_Install.Services&#93;<br />Include    = winusb.inf<br />AddService = WinUSB,0x00000002,WinUSB_ServiceInstall<br /><br />&#91;WinUSB_ServiceInstall&#93;<br />DisplayName   = &quot;WinUSB - Kernel Driver 0/11/2015 8.0.0.0&quot;<br />ServiceType   = 1<br />StartType     = 3<br />ErrorControl  = 1<br />ServiceBinary = %12%\WinUSB.sys<br /><br />&#91;USB_Install.Wdf&#93;<br />KmdfService = WINUSB, WinUsb_Install<br /><br />&#91;USB_Install.HW&#93;<br />AddReg = AddDeviceInterfaceGUID<br /><br />&#91;AddDeviceInterfaceGUID&#93;<br />HKR,,DeviceInterfaceGUIDs,0x10000,%DeviceGUID%<br />HKR,,FriendlyName,,&quot;KeyMan&quot;   <br /><br /></code></pre></div><br /><br /><br />Thanks for any help how i can become an descriptor example or any Information about it,<br /><br /> Best regards<br />  Karsten Schulz from Berlin<p>Statistics: Posted by Guest — Sun Dec 06, 2015 7:41 am</p><hr />
]]></content>
	</entry>
	</feed>
