|
Message
From: info@s...<info@s...>
Date: Wed Nov 17 11:59:38 CET 2004
Subject: [usb] Enumeration...
hello,
now i got the USB1.1 function core working with the SMSC GT3200 PHY chip. (little changings in usb1_utmi_if.v and usb_pa.v, because the tx- ready signals have different length)
but windows dont accepts the enumeration :-(
it asks for 64Byte device-descriptor, but since this is only 18Byte long, i am sending these 18 bytes (the original usb1_ctrl.v does so) after PC had recieved these 18 bytes it sends again an IN-Token, to wich the fpga replies with Zero-length-packet.
a lot of miliseconds later the PC sets an USB-RESET and asks again for 64 byte device-descriptor... this repeats 3 times.. then it stops...
what do i have to do? sending these 18 bytes only in packets a 8 byte? sending 64 bytes? wich bytes?
or could it be, that my device-descriptor is wrong?
7'h00: dout <= #1 8'd18; // this descriptor length 7'h01: dout <= #1 8'h01; // descriptor type 7'h02: dout <= #1 8'h10; // USB version low byte 7'h03: dout <= #1 8'h01; // USB version high byte 7'h04: dout <= #1 8'hff; // device class 7'h05: dout <= #1 8'hff; // device sub class 7'h06: dout <= #1 8'hff; // device protocol 7'h07: dout <= #1 8'd64; // max packet size 7'h08: dout <= #1 8'h34; // vendor ID low byte 7'h09: dout <= #1 8'h12; // vendor ID high byte 7'h0a: dout <= #1 8'h78; // product ID low byte 7'h0b: dout <= #1 8'h56; // product ID high byte 7'h0c: dout <= #1 8'h10; // device rel. number low byte 7'h0d: dout <= #1 8'h00; // device rel. number high byte 7'h0e: dout <= #1 8'h00; // Manufacturer String Index 7'h0f: dout <= #1 8'h00; // Product Descr. String Index 7'h10: dout <= #1 8'h00; // S/N String Index 7'h11: dout <= #1 8'h01; // Number of possible config.
thank you very much! best regards Suheel
|
 |