<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ARM7: LPC2148 &amp;amp; USB communication</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/25302/arm7-lpc2148-usb-communication</link><description> 
I want to develop mass storage device using LPC2148.I am just
referring code from Keil for USBMem. My problem is - 
I get Get_descriptor command from PC to which I respond with device
descriptor. On receiving 8th byte it generates Reset. 
Then I get</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/158488?ContentTypeID=1</link><pubDate>Fri, 09 Apr 2010 09:28:29 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a227a956-f895-4bfb-b9c5-ee63e5e41d04</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; Now, when i connect my LPC2148 board to PC, i get &amp;#39;Disk in
drive is not formatted. Do you want to format it now?&amp;#39;. And if i say,
yes. Then it says, &amp;#39;Disk in drive can&amp;#39;t be formatted&amp;#39;. What is its
meaning?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
It means no partition structure (Master Boot Record, boot sector
etc.) is assigned on your &amp;quot;disk&amp;quot;.&lt;br /&gt;
For &amp;quot;RAM&amp;quot; (SD card) based disk, make partition(s) on the disk before
formatting. DOS command, FDISK, or Windows disk management does the
job.&lt;br /&gt;

&lt;a href="http://www.vistarewired.com/2007/02/16/how-to-resize-a-partition-in-windows-vista"&gt;www.vistarewired.com/.../how-to-resize-a-partition-in-windows-vista&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
For &amp;quot;ROM&amp;quot; based disk, you have to give the contents of the disk
with your program code.&lt;/p&gt;

&lt;p&gt;
You&amp;#39;ll find such a file in many USB examples&lt;/p&gt;

&lt;p&gt;
Keil &amp;quot;LPC2148 USB Mass Storage Device Example&amp;quot; - DiskImg.c&lt;br /&gt;
&lt;a href="http://www.keil.com/download/files/lpc2148_usbmem.zip"&gt;http://www.keil.com/download/files/lpc2148_usbmem.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Microchip USB examples - Microchip Application Libraries
v2010-02-09&lt;br /&gt;

&lt;a href="http://ww1.microchip.com/downloads/en/devicedoc/MCHP_App_%20Lib%20v2010_02_09_Installer.zip"&gt;ww1.microchip.com/.../MCHP_App_ Lib v2010_02_09_Installer.zip&lt;/a&gt;&lt;br /&gt;

C:\MicrochipSolutions\USB Device - Mass Storage - Internal
Flash\Firmware\Files.c&lt;/p&gt;

&lt;p&gt;
Microchip one is better than Keil&amp;#39;s, because it has many
comments.&lt;/p&gt;

&lt;p&gt;
To realize the FAT format, this MS FAT spec is required.&lt;br /&gt;
&amp;quot;Microsoft Extensible Firmware Initiative FAT32 File System
Specification&amp;quot;&lt;br /&gt;
&lt;a href="http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx"&gt;www.microsoft.com/.../fatgen.mspx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/158444?ContentTypeID=1</link><pubDate>Sun, 04 Apr 2010 04:32:57 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:ca0e2a21-2a80-408c-8b6e-0e512016c0fa</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
Now, when i connect my LPC2148 board to PC, i get &amp;#39;Disk in drive
is not formatted. Do you want to format it now?&amp;#39;. And if i say, yes.
Then it says, &amp;#39;Disk in drive can&amp;#39;t be formatted&amp;#39;. What is its
meaning?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/158394?ContentTypeID=1</link><pubDate>Mon, 29 Mar 2010 07:52:36 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:28542115-a6b0-4c0d-b2d7-da3bc5f02161</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
Current status -&amp;gt;&lt;br /&gt;
I am stuck at same position. This is bus hound file -&lt;/p&gt;

&lt;pre&gt;

Device  Phase  Data                                                Description       Delta  Cmd.Phase.Ofs(rep)
------  -----  --------------------------------------------------  ----------------  -----  ------------------
  28.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR    6.7mn         1.1.0
  28.0  IN     12 01 00 02  00 00 00 40                            .......@          3.2ms         1.2.0
  28.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR     30us         2.1.0
  28.0  IN     09 02 20 00  01 01 01 60                            .. ....&amp;#39;          3.9ms         2.2.0
  28.0  CTL    80 06 00 02  00 00 20 00                            GET DESCRIPTOR     27us         3.1.0
  28.0  IN     09 02 20 00  01 01 01 60                            .. ....&amp;#39;          3.9ms         3.2.0
  28.0  CTL    00 09 01 00  00 00 00 00                            SET CONFIG         34us         4.1.0
  28.0  CTL    01 0b 00 00  00 00 00 00                            SET INTERFACE      40ms         5.1.0
  28.0  CTL    a1 fe 00 00  00 00 01 00                            GET MAX LUN        39ms         6.1.0
  28.0  IN     00                                                  .                 3.8ms         6.2.0
  28.2  OUT    55 53 42 43  08 50 67 89      /* CBW without RESET *               USBC.Pg.        1.9ms         7.1.0(2)
  28.2  IN     00 80 00 02  1f 80 00 00                            ........          1.9ms         8.1.0(2)
  28.2  IN     55 53 42 53  08 50 67 89                            USBS.Pg.          2.0ms         9.1.0(2)
  29    CMD    12 00 00 00  24 00                                  INQUIRY            68ms        13.1.0
  29    IN     00 80 00 02  1f 80 00 00                            ........            5us        13.2.0
  29    CMD    25 00 00 00  00 00 00 00                            READ CAPACITY     6.0ms        14.1.0
  29    SSTS   09                                                  timeout           9.0sc        14.2.0
  28    RESET                                                                         68us        15.1.0
  28    ok                                                                           186ms        15.2.0
  29    CMD    25 00 00 00  00 00 00 00                            READ CAPACITY     810ms        16.1.0
  28.2  OUT    55 53 42 43  c0 92 3b 89                            USBC..;.          1.8ms        17.1.0
  28.2  IN     00 00 00 1f  00 00 02 00                            ........          1.9ms        18.1.0
  28.2  IN     55 53 42 53  c0 92 3b 89                            USBS..;.          1.9ms        19.1.0
  29    IN     00 00 00 1f  00 00 02 00                            ........            7us        16.2.0
  29    CMD    28 00 00 00  00 00 00 00                            READ               20us        20.1.0
  28.2  OUT    55 53 42 43  c0 92 3b 89                            USBC..;.          1.9ms        21.1.0
  28.2  IN     00 00 00 1f  00 00 02 00                            ........          2.0ms        22.1.0
  28.2  IN     55 53 42 53  c0 92 3b 89                            USBS..;.          999us        23.1.0
  29    IN     00 00 00 1f  00 00 02 00                            ........            6us        20.2.0
  29    SSTS   52                                                  data overrun        3us        20.3.0
  29    CMD    28 00 00 00  00 00 00 00                            READ              496ms        24.1.0
  29    SSTS   49                                                  timeout           9.4sc        24.2.0

&lt;/pre&gt;

&lt;p&gt;
&lt;br /&gt;
I am not getting mass storage class reset at all.&lt;br /&gt;
Even before 1st CBW, there is no reset.&lt;br /&gt;
SCSI commands continue to come. So i don&amp;#39;t get whether i have
answered command properly or not.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/158336?ContentTypeID=1</link><pubDate>Mon, 22 Mar 2010 00:38:03 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:c0be407d-d21c-4d04-b712-b4736bfadb57</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
We were successful in removing that delay. But still not able to
respond READ CAPACITY. It gives error &amp;#39;Time out&amp;#39;. What is meaning of
this error? We have written handler for it.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/158281?ContentTypeID=1</link><pubDate>Sun, 21 Mar 2010 09:31:25 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:7f9a5e54-9eca-4923-9b03-f8dd3ee367e9</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
What can be the cause of delay betweem Get_Max_LUN and next
command? It is 5sec and then 10 sec.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157746?ContentTypeID=1</link><pubDate>Sat, 20 Mar 2010 21:07:33 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:8aa0b9e0-e1ce-4b3a-849c-16345dce2106</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
This is bus hound file&lt;/p&gt;

&lt;pre&gt;
Bus Hound 6.01 capture on Windows XP Service Pack 2 (x86). Complements of &lt;a target="_blank" href="http://www.perisoft.net"&gt;&lt;a href="http://www.perisoft.net"&gt;http://www.perisoft.net&lt;/a&gt;&lt;/a&gt;

bulkoutint

  Device - Device ID (followed by the endpoint for USB devices)
            (28) USB Mass Storage Device
  Phase  - Phase Type
            CTL   USB control transfer       RESET bus reset
            IN    Data in transfer           USTS  USB status
            NTSTS NTSTATUS value             ok    command complete
            OUT   Data out transfer
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Delta  - Elapsed time from the previous phase to the current phase
  Cmd... - Position in the captured data


Device  Phase  Data                                                Description       Delta  Cmd.Phase.Ofs(rep)
------  -----  --------------------------------------------------  ----------------  -----  ------------------
  28.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR     26sc         1.1.0
  28.0  IN     12 01 00 02  00 00 00 40                            .......@          3.6ms         1.2.0
  28.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR     36us         2.1.0
  28.0  IN     09 02 20 00  01 01 01 60                            .. ....&amp;#39;          3.9ms         2.2.0
  28.0  CTL    80 06 00 02  00 00 20 00                            GET DESCRIPTOR     32us         3.1.0
  28.0  IN     09 02 20 00  01 01 01 60                            .. ....&amp;#39;          3.9ms         3.2.0
  28.0  CTL    80 06 00 03  00 00 02 00                            GET DESCRIPTOR     28us         4.1.0
  28.0  IN     04 03                                               ..                3.9ms         4.2.0
  28.0  CTL    80 06 00 03  00 00 04 00                            GET DESCRIPTOR     28us         5.1.0
  28.0  IN     04 03 09 04                                         ....              3.9ms         5.2.0
  28.0  CTL    80 06 0c 03  09 04 02 00                            GET DESCRIPTOR     25us         6.1.0
  28.0  IN     1a 03                                               ..                3.9ms         6.2.0
  28.0  CTL    80 06 0c 03  09 04 1a 00                            GET DESCRIPTOR     27us         7.1.0
  28.0  IN     1a 03 41 00  42 00 43 00                            ..A.B.C.          3.9ms         7.2.0
  28.0  CTL    00 09 01 00  00 00 00 00                            SET CONFIG         34us         8.1.0
  28.0  CTL    01 0b 00 00  00 00 00 00                            SET INTERFACE      38ms         9.1.0
  28.0  CTL    a1 fe 00 00  00 00 01 00                            GET MAX LUN        39ms        10.1.0(3)
  28.0  USTS   c0000004                                            stall pid         4.3ms        10.2.0
  28.0  CTL    02 01 00 00  00 00 00 00                            CLEAR FEATURE      27us        11.1.0(3)
  28.0  USTS   c0010000                                            canceled          5.0sc        11.2.0
  28.2  USTS   c0000005                                            no response        10sc        16.1.0
  28    RESET                                                                         68us        17.1.0
  28    ok                                                                           188ms        17.2.0
  28.2  OUT    55 53 42 43  08 e0 6f 89                            USBC..o.          1.9ms        18.1.0
  28    RESET                                                                         19sc        19.1.0(3)
  28    NTSTS  c000009c                                            device data err   5.1sc        19.2.0

&lt;/pre&gt;

&lt;p&gt;
We are studying SCSI commands. Now our device appears as removable
disk in my computer.&lt;br /&gt;
Thank you!!!&lt;br /&gt;
Having problem in answering Read capacity command.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157705?ContentTypeID=1</link><pubDate>Wed, 17 Mar 2010 07:36:08 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:2ac06981-8a4e-4379-8848-e00fa53e0bd4</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
I was realizing bulk endpoints one after the other.&lt;br /&gt;
i.e. USBReEp=0x00000010 USBReEp=0x00000020&lt;br /&gt;
That i changed to USBReEp=0x00000030.&lt;br /&gt;
And i got bulk OUT interrupt.&lt;/p&gt;

&lt;p&gt;
Could not save the bus hound file but details are -&lt;br /&gt;
GetMaxLun(2)&lt;br /&gt;
stall pid&lt;br /&gt;
CLEARFEATURE(2) -&amp;gt; data - 02 01 00 00 00 00 00 00&lt;br /&gt;
canceled -&amp;gt; data - c0010000&lt;br /&gt;
no response -&amp;gt; data - c0000005&lt;br /&gt;
RESET(2)&lt;br /&gt;
ok&lt;br /&gt;
USBCBW&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157672?ContentTypeID=1</link><pubDate>Tue, 16 Mar 2010 03:14:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a4e4866a-6eff-4068-820b-83a84dc0a7be</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; endpoint no - 0&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Do you mean OUT EP0 ?&lt;br /&gt;
wIndex = 0x0000 : OUT EP0, 0x0080 : IN EP0&lt;/p&gt;

&lt;p&gt;
It&amp;#39;s better to show the 8-bytes SETUP data of the request
directly, than giving the interpreted value.&lt;br /&gt;
On Bus Hound log, You&amp;#39;ll see the original SETUP data. It&amp;#39;s more
reliable evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anyway, host should be satisfied by both of these device
responses.&lt;br /&gt;
- Return 1 byte of 0 on data stage to Get_Max_LUN request&lt;br /&gt;
- STALL to Get_Max_LUN request&lt;/p&gt;

&lt;p&gt;
I investigated more on this issue, and found this sentence on the
compliance test spec.&lt;/p&gt;

&lt;p&gt;
MSC Compliance Test Specification&lt;br /&gt;

&lt;a href="http://www.usb.org/developers/devclass_docs/MSC-compliance-0_9a.pdf"&gt;www.usb.org/.../MSC-compliance-0_9a.pdf&lt;/a&gt;&lt;br /&gt;

- Class-Specific Request Assertions&lt;br /&gt;
&lt;i&gt;5.5.2 If the device supports only one LUN, it may report so via
the Get Max LUN request or may fail that request.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Also, I observed enumeration of six USB memories on a hardware
analyzer. All of them returns &amp;quot;0&amp;quot; to Get_Max_LUN.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Did you &amp;quot;realize&amp;quot; the bulk IN/OUT endpoints on the handling of
Set_Configuration request ?&lt;br /&gt;
These bulk EPs should be &amp;quot;realized&amp;quot; like the default EP.&lt;br /&gt;
Sound like the error is caused by disabled bulk EPs&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157645?ContentTypeID=1</link><pubDate>Mon, 15 Mar 2010 10:23:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:11489056-78aa-4e8e-8f4d-66481c60b903</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;Which endpoint does the Clear_Feature points,&lt;br /&gt;
Post the 8 byte SETUP data of the Clear_Feature&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
important fields of setup packet are -&amp;gt;&lt;br /&gt;
recipient - endpoint&lt;br /&gt;
endpoint no - 0&lt;br /&gt;
feature - endpoint_halt&lt;/p&gt;

&lt;p&gt;
on bus hound we found in following sequence&lt;br /&gt;
GetMaxLun(3 times)&lt;br /&gt;
Stall pid&lt;br /&gt;
Clear feature(3)&lt;br /&gt;
cancelled&lt;br /&gt;
Reset(3)&lt;br /&gt;
no response&lt;/p&gt;

&lt;p&gt;
We have not yet written structure for CBW. There is no interrupt
on bulk endpoints.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157607?ContentTypeID=1</link><pubDate>Mon, 15 Mar 2010 10:02:12 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:c2f7a534-0f7f-4a26-8866-b9a3b979323a</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; 1. I stalled control IN endpoint.&lt;br /&gt;
I got clear_feature command then.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Ummm...&lt;br /&gt;
Clear_Feature is unexpected response.&lt;br /&gt;
For protocol STALL on default endpoint, Clear_Feature is not
issued.&lt;br /&gt;
Clear_Feature is used for recovery of bulk/interrupt endpoint.&lt;/p&gt;

&lt;p&gt;
a) Which endpoint does the Clear_Feature points,&lt;br /&gt;
Post the 8 byte SETUP data of the Clear_Feature&lt;/p&gt;

&lt;p&gt;
b) Do you see any other bus activity between Get_Max_LUN and
Clear_Feature on bus hound?&lt;br /&gt;
Does the host happen to send CBW to bulk OUT endpoint?&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157564?ContentTypeID=1</link><pubDate>Mon, 15 Mar 2010 08:16:05 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d61246e7-57ac-4e33-96ae-54655f791e6e</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
1. I stalled control IN endpoint.&lt;br /&gt;
I got clear_feature command then.&lt;br /&gt;
I replied to it just by executing&lt;br /&gt;
Set_Endpoint_Status (IN EP0: 0x00410500, ST bit: 0x00000100) and sent
zero length packet.&lt;br /&gt;
When i analyzed Bus hound, host does not respond after
clear_feature.&lt;br /&gt;
It again asks&lt;br /&gt;
1. Get max lun&lt;br /&gt;
2. Clear_feature&lt;br /&gt;
and does it for 3 times to Reset the device.&lt;br /&gt;
What should i do?&lt;/p&gt;

&lt;p&gt;
2. I am getting string descriptor request for language id and
serial no. but not for manufacturer string. I checked for device
descriptor index fields. it seems to be fine. What can be the
problem?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157528?ContentTypeID=1</link><pubDate>Sat, 13 Mar 2010 10:56:14 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:78866fe4-b060-4f77-b767-bf6c768e85e9</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
Uho, you are actually attacking to MSC implementation.&lt;br /&gt;
Impressed with your guts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&amp;gt; Got GET MAX LUN request.&lt;br /&gt;
Replied it with value zero.&lt;br /&gt;
using bus hound software. so my device replies with 1 byte that is 0.
but host does not respond.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Ah, you are trapped with Get_Max_LUN pitfall.&lt;br /&gt;
Maybe you weren&amp;#39;t aware of this sentence on the MSC-BOT spec.&lt;br /&gt;
&lt;a href="http://www.usb.org/developers/devclass_docs/usbmassbulk_10.pdf"&gt;www.usb.org/.../usbmassbulk_10.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;3.2 Get Max LUN (class-specific request)&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;The device shall return one byte of data that contains the maximum
LUN supported by the device. For example, if the device supports four
LUNs then the LUNs would be numbered from 0 to 3 and the return value
would be 3. &lt;b&gt;If no LUN is associated with the device, the value
returned shall be 0.&lt;/b&gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;b&gt;Devices that do not support multiple LUNs may STALL this
command.&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
That is, for single LUN, you have to return STALL&lt;br /&gt;
Surely, it&amp;#39;s confusing. ;-) I&amp;#39;ve seen many ones also have been
trapped.&lt;/p&gt;

&lt;p&gt;
To return STALL to IN EP0, put this protocol engine command.&lt;br /&gt;
- Set_Endpoint_Status (IN EP0: 0x00410500, ST bit: 0x00010100)&lt;/p&gt;

&lt;p&gt;
When next SETUP transaction comes, STALL is cleared automatically
by the protocol engine.&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157485?ContentTypeID=1</link><pubDate>Sat, 13 Mar 2010 08:26:45 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:828e45b2-b451-4d24-8343-6c7a04c635cd</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
Implementing class requests for mass storage class.&lt;br /&gt;
Got GET MAX LUN request.&lt;br /&gt;
Replied it with value zero.&lt;br /&gt;
using bus hound software. so my device replies with 1 byte that is 0.
but host does not respond.&lt;br /&gt;
why is this so?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157441?ContentTypeID=1</link><pubDate>Wed, 03 Mar 2010 02:52:08 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1d51678a-5dbf-472a-b492-34cc0e1b6336</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; What is sequence of next requests from host?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
For device firmware, you should not expect requests in
sequence.&lt;br /&gt;
Host puts any request as it likes.&lt;br /&gt;
Device responds to it and does the requested job, if the device
supports it. Otherwise, the device returns STALL.&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;&amp;gt; As mine is mass storage device, can you please tell me
what events are expected further.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Ummm MSC (Mass Storage Class),&lt;br /&gt;
It&amp;#39;s really tough for starter, because you have to implement two
layers of protocol.&lt;br /&gt;
I recommend HID for the starting project, which is simpler.&lt;/p&gt;

&lt;p&gt;
But if you dare to try MSC,&lt;br /&gt;
Read out the MSC specs I refer in this post.&lt;br /&gt;
Also, Jan Axelson&amp;#39;s book, USB Mass Storage ( &lt;a href="http://www.lvr.com/usbms.htm"&gt;http://www.lvr.com/usbms.htm&lt;/a&gt; ) is
your friend.&lt;br /&gt;
Trace a successful implementation, like LPCUSB&lt;br /&gt;
&lt;a href="https://lpcusb.svn.sourceforge.net/svnroot/lpcusb/trunk/target/examples/msc_bot.c"&gt;lpcusb.svn.sourceforge.net/.../msc_bot.c&lt;/a&gt;&lt;br /&gt;

&lt;a href="https://lpcusb.svn.sourceforge.net/svnroot/lpcusb/trunk/target/examples/msc_scsi.c"&gt;lpcusb.svn.sourceforge.net/.../msc_scsi.c&lt;/a&gt;&lt;br /&gt;

And then, attack to the implementation.&lt;/p&gt;

&lt;p&gt;
For MSC Bulk-Only Transport (BOT) implementation,&lt;br /&gt;
Firstly, you have to implement the handlers for &lt;b&gt;required&lt;/b&gt;
class-specific request(s) at least, in addition to the standard
device requests.&lt;br /&gt;
Secondly, MSC-BOT carries SCSI command over bulk IN/OUT endpoints
with command wrapper packets. You have to unwrap/wrap SCSI command
and status, and transfer requested data or media sector (cluster)
data&lt;br /&gt;
Thirdly, SCSI command parser upon above MSC-BOT protocol, which
handles the media actually.&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;1. Class specific request&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;
these USB specs are the must.&lt;/p&gt;

&lt;p&gt;
Mass Storage Class Specification Overview 1.3&lt;br /&gt;

&lt;a href="http://www.usb.org/developers/devclass_docs/usb-msc-overview-1.3b.pdf"&gt;www.usb.org/.../usb-msc-overview-1.3b.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Mass Storage Bulk Only 1.0&lt;br /&gt;
&lt;a href="http://www.usb.org/developers/devclass_docs/usbmassbulk_10.pdf"&gt;www.usb.org/.../usbmassbulk_10.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
In &amp;quot;3 Functional Characteristics (usbmassbulk_10.pdf p7)&amp;quot; section,
you&amp;#39;ll find these class-specific requests.&lt;br /&gt;
- 3.1 Bulk-Only Mass Storage Reset (class-specific request)&lt;br /&gt;
- 3.2 Get Max LUN (class-specific request)&lt;/p&gt;

&lt;p&gt;
&amp;quot;Bulk-Only Mass Storage Reset&amp;quot; is required, but &amp;quot;Get Max LUN&amp;quot; is
optional for single-LUN device.&lt;br /&gt;
If you don&amp;#39;t implement &amp;quot;Get Max LUN&amp;quot;, return STALL to this
request.&lt;/p&gt;

&lt;p&gt;
Other than these class-specific requests, these standard requests
are used for error recovery.&lt;br /&gt;
- Get_Status( ENDPOINT ) (usb_20.pdf 9.4.5 Get Status)&lt;br /&gt;
- Clear_Feater( ENDPOINT_HALT ) (usb_20.pdf 9.4.1 Clear Feature)&lt;/p&gt;

&lt;p&gt;
USB 2.0 spec&lt;br /&gt;
&lt;a href="http://www.usb.org/developers/docs/usb_20_122909-2.zip"&gt;www.usb.org/.../usb_20_122909-2.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;2. Command/Data/Status Protocol over bulk IN/OUT
endpoints&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;
1) Command transport&lt;br /&gt;
SCSI command comes to bulk OUT EP included in Command Block Wrapper
(CBW) (usbmassbulk_10.pdf 5.1 Command Block Wrapper (CBW))&lt;br /&gt;
Check the integrity of the CBW following to &amp;quot;6.2 Valid and Meaningful
CBW&amp;quot; section.&lt;br /&gt;
If it isn&amp;#39;t valid, return STALL to bulk IN EP, following &amp;quot;6.6.1 CBW
Not Valid&amp;quot;&lt;br /&gt;
For valid CBW, pass the SCSI command to the parser.&lt;br /&gt;
Depending on the SCSI command, MSC-BOT handler moves to one of Data
In/ Data Out / Status transport stage.&lt;/p&gt;

&lt;p&gt;
2) Data IN/Out transport&lt;br /&gt;
Most of SCSI command exchange data on this stage.&lt;br /&gt;
For example, Inquiry returns fixed inquiry response (a block of data)
to bulk IN EP.&lt;br /&gt;
Read(10)/Write(10) exchange block data (sector - 512 bytes or cluster
- 4K bytes) over bulk IN/OUT EP.&lt;br /&gt;
But some SCSI commands, like Test Unit Ready, don&amp;#39;t have this
stage.&lt;/p&gt;

&lt;p&gt;
3) Status transport&lt;br /&gt;
All of SCSI commands conclude the session in this stage.&lt;br /&gt;
Firmware passes back Status report (the result of the SCSI command),
included in Command Status Wrapper (CSW), to the bulk IN EP.&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;3. SCSI command over above MSC protocol&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;
The &lt;b&gt;required&lt;/b&gt; SCSI commands are listed up in &amp;quot;4.2 Command
Set Information&amp;quot; (PDT=00h) section of this spec.&lt;/p&gt;

&lt;p&gt;
MSC Compliance Test Specification&lt;br /&gt;

&lt;a href="http://www.usb.org/developers/devclass_docs/MSC-compliance-0_9a.pdf"&gt;www.usb.org/.../MSC-compliance-0_9a.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;required&lt;/b&gt; SCSI commands&lt;br /&gt;
- Inquiry - spc3r23.pdf(p142)&lt;br /&gt;
- Request Sense - spc3r23.pdf(p221)&lt;br /&gt;
- Test Unit Ready - spc3r23.pdf(p232)&lt;br /&gt;
- Read(10) - sbc2r16.pdf(p47)&lt;br /&gt;
- Read Capacity(10) - sbc2r16.pdf(p54)&lt;br /&gt;
- Write(10) - sbc2r16.pdf(p78)&lt;/p&gt;

&lt;p&gt;
Implement them all following the SCSI spec.&lt;br /&gt;
As of these SCSI specs, the original t10.org has closed the links
just for their members.&lt;br /&gt;
Search &amp;quot;sbc2r16.pdf&amp;quot; on Goooogle, and you&amp;#39;ll find them floating over
the internet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is just a brief outline of MSC-BOT and SCSI implementation.&lt;br /&gt;
You&amp;#39;ll learn a lot from a running example, the specs and the
reference book.&lt;/p&gt;

&lt;p&gt;
Good luck.&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157370?ContentTypeID=1</link><pubDate>Tue, 02 Mar 2010 19:43:28 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f9519111-5e5d-40fe-9af7-1b5ccac69e8b</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
We successfully sent our configuration descriptor. Now when our
board is connected, it shows mass storage device found. But still
does not support that device.&lt;br /&gt;
I am getting Set_cofiguration command but what am I supposed to do in
its response?&lt;br /&gt;
I am executing configure command in protocol engine in its
response.&lt;br /&gt;
As mine is mass storage device, can you please tell me what events
are expected further? What is sequence of next requests from
host?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157294?ContentTypeID=1</link><pubDate>Fri, 26 Feb 2010 06:11:35 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e3b9594d-e933-410e-ad7c-de5eedd559eb</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
Thank you very much!&lt;br /&gt;
I made those changes in my code and it worked properly.&lt;br /&gt;
You have helped us a lot in our project and we will require your
valuable guidance in further development.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157218?ContentTypeID=1</link><pubDate>Wed, 24 Feb 2010 11:11:42 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3502ed8a-f8fc-4219-935f-2669ec42fe26</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; I have sent my code on your yahoo account which I got from
LPC2000 group.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
I don&amp;#39;t see the yahoo mail at all. The account is held just to
post to LPC2000.&lt;br /&gt;
Until you noticed to me on above post, I wasn&amp;#39;t aware of your mail
;-)&lt;br /&gt;
Fortunately, yahoo server still kept your mail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, your code is running on my Olimex LPC2148 board.&lt;br /&gt;
The outline of the trace on a hardware analyzer is as follows&lt;/p&gt;

&lt;pre&gt;
- Bus Reset
- Get_Descriptor( Device ) --- incomplete
- Bus Reset
- Set_Address              --- success
- Get_Descriptor( Device ) --- incomplete
- Get_Descriptor( Device ) --- incomplete
- Get_Descriptor( Device ) --- incomplete
&lt;/pre&gt;

&lt;p&gt;
All of Get_Descriptor fails on its STATUS stage.&lt;br /&gt;
Host puts ZLP (Zero-Length Packet) to the default OUT endpoint, but
the device is NAKing until time out.&lt;/p&gt;

&lt;p&gt;
This means the default OUT endpoint is still occupied by the SETUP
packet.&lt;br /&gt;
The endpoint buffer is not cleared correctly, after read out on the
SETUP handler.&lt;/p&gt;

&lt;p&gt;
In USB_ReadEP(), you try to send &amp;quot;Select Endpoint&amp;quot; and &amp;quot;Clear
Buffer&amp;quot; command to the device protocol engine using wr_cmd_H().&lt;br /&gt;
But these commands don&amp;#39;t take any data to &lt;b&gt;write&lt;/b&gt; on the data
phase. Just optional &lt;b&gt;read&lt;/b&gt;.&lt;br /&gt;
Then, I add new wr_cmd() and modified USB_ReadEP() as follows.&lt;/p&gt;

&lt;pre&gt;
&lt;b&gt;// &amp;lt;------- add a subroutine to write a command to the protocol engine without any data

void wr_cmd( unsigned long send_cmd )
{
    USBDevIntClr=0x10;               //clear cmd_code_empty
    USBCmdCode=send_cmd|usbcmd;      //configure device
    while(!(USBDevIntSt &amp;amp; 0x10));    //wait cmd_code_empty
    USBDevIntClr=0x10;               //clear cmd_code_empty interrupt bit
}&lt;/b&gt;

unsigned long USB_ReadEP (unsigned long EPNum, unsigned char *pData)
{
    unsigned long cnt, n, phy_num;

    USBCtrl = 0x00000001|EPNum&amp;lt;&amp;lt;2;

    do  {
        cnt = USBRxPLen;
    }while ((cnt &amp;amp; PKT_RDY) == 0);

    cnt &amp;amp;= PKT_LNGTH_MASK;

    for (n = 0; n &amp;lt; (cnt + 3) / 4; n++)
    {
        *((__packed unsigned long *)pData) = USBRxData;
        pData += 4;
    }

    USBCtrl = 0;
    phy_num = EPAdr(EPNum);

&lt;b&gt;//    wr_cmd_H(phy_num,(phy_num|0x00000200));     // &amp;lt;------ these commands are wrong
//    wr_cmd_H(0xF2,0x00F20200);
                                                  // &amp;lt;------ replaced with right ones
    wr_cmd( 0x00000500 | phy_num );     // select endpoint command
    wr_cmd( 0x00F20500 );               // clear buffer command&lt;/b&gt;

    return (cnt);
}
&lt;/pre&gt;

&lt;p&gt;
Also, to unload ZLP of the STATUS stage from the default OUT
endpoint, this temporary fix was added.&lt;/p&gt;

&lt;pre&gt;
void USB_ISR (void) __irq
{
    ...
    ...
        if (val &amp;amp; 0x04) //STP user manual page number 229
        {
            USBDevIntClr = dev_stat;
            Ep0_setup();
            continue;
        }
&lt;b&gt;//**************** modified from here
        else {
                                                  // temporary fix for status stage
            USB_ReadEP(0x00, EP0Data.pData);      // unload ZLP
        }
//**************** modified to here&lt;/b&gt;
    ...
    ...
&lt;/pre&gt;

&lt;p&gt;
Now, the trace was improved one step further.&lt;/p&gt;

&lt;pre&gt;
- Bus Reset
- Get_Descriptor( Device ) --- success
- Bus Reset
- Set_Address              --- success
- Get_Descriptor( Device ) --- success
- Get_Descriptor( Config ) --- incomplete
&lt;/pre&gt;

&lt;p&gt;
Get_Descriptor( Config ) is disturbed by &amp;quot;while(1);&amp;quot;, inserted by
you for debug ;-)&lt;/p&gt;

&lt;p&gt;
Not just USB_ReadEP(). You are using wr_cmd_H() wrongly everywhere
on your code.&lt;br /&gt;
Check them all.&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157120?ContentTypeID=1</link><pubDate>Tue, 23 Feb 2010 18:01:32 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:23e77b4c-58a2-4452-8082-7a975f3789cf</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
I have sent my code on your yahoo account which I got from LPC2000
group. Problem still continues......&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/157013?ContentTypeID=1</link><pubDate>Tue, 16 Feb 2010 02:35:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1ae049e3-64a7-48f1-8bd5-282c1596d539</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;If it can, I&amp;#39;ll run your code on my LPC2148 board (IAR or
Olimex), and monitor it with a hardware analyzer.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
you have a good soul!&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/156877?ContentTypeID=1</link><pubDate>Tue, 16 Feb 2010 02:31:21 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3066a06a-8145-4c3a-9f0e-ac2e077ebdcc</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
Most of points have been discussed already. I don&amp;#39;t think of any
more.&lt;br /&gt;
If you would have a hardware analyzer, you could get more detailed
sign to focus on the firmware bug...&lt;/p&gt;

&lt;p&gt;
Do you have any account on a server to share your code?&lt;br /&gt;
Post your code to the sharing server so that we can look into it.&lt;br /&gt;
If it can, I&amp;#39;ll run your code on my LPC2148 board (IAR or Olimex),
and monitor it with a hardware analyzer.&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/156747?ContentTypeID=1</link><pubDate>Mon, 15 Feb 2010 07:43:11 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:40c429cf-b96f-426c-8418-3917c2d860d5</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
Still not getting Get_descriptor command for configuration
descriptor.&lt;br /&gt;
But getting it for device descriptor three times. What can be the
problem?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/156602?ContentTypeID=1</link><pubDate>Thu, 11 Feb 2010 07:25:13 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:ab6aba15-d291-43fe-8496-85e0848af353</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
This is given in USB in a nutshell.&lt;br /&gt;
&lt;i&gt;Normally when something is wrong with a descriptor or how it is
being sent, the host will attempt to read it three times with long
pauses in between requests. After the third attempt, the host gives
up reporting an error with your device.&lt;/i&gt;&lt;br /&gt;
I am getting Get_descriptor 3 times and then nothing happens.&lt;br /&gt;
But if I can send 8 bytes successfully then I think 18 bytes also
would have gone succesfully.&lt;br /&gt;
And I have already shown my device descriptor before. And t seems to
be fine.&lt;br /&gt;
What else can be the problem?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/156440?ContentTypeID=1</link><pubDate>Wed, 10 Feb 2010 09:46:04 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:78dce26e-ca15-4063-8e6c-547937247ea2</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; Can I use vendor id and product id by Keil?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Unless the Vendor/Product ID (VID/PID) conflict with other devices
connected to your PC, you can use any VID/PID on &lt;b&gt;your&lt;/b&gt; PC for
development. Unique official VID/PID is required when you release
your product, so that it doesn&amp;#39;t conflict with others on your
customer&amp;#39;s PC.&lt;br /&gt;
I often use VID = 0xFFF0 - 0xFFFF for development. USB.org has not
assigned these range of VID yet, then it should not conflict with
existing USB devices.&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/156244?ContentTypeID=1</link><pubDate>Wed, 10 Feb 2010 06:14:05 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1b31c1ee-0304-41cd-9c4c-3b098d94e2ac</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
Actually I am using LPC2148 CPU module designed by local company.
Can I use vendor id and product id by Keil?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ARM7: LPC2148 &amp; USB communication</title><link>https://community.arm.com/thread/156017?ContentTypeID=1</link><pubDate>Mon, 08 Feb 2010 06:05:39 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a4bdc1ec-3516-4b1d-aa12-a4607a2ff3fa</guid><dc:creator>yash alba</dc:creator><description>&lt;p&gt;&lt;p&gt;
Got finally!!!&lt;br /&gt;
Thanks for your constant support!&lt;br /&gt;
By implementing Bettrick&amp;#39;s method, I got the Get_descriptor command
with length field 18.&lt;br /&gt;
Challenge - Still not getting Get_descriptor for configuration
descriptor. Can it be problem of Vendor id or product id?&lt;br /&gt;
I am not using Keil board. It&amp;#39;s board designed by local company.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>