Re: [Discuss-gnuradio] USRP and USB 1.1

2006-10-18 Thread Eric Blossom
On Tue, Oct 17, 2006 at 09:09:12AM -0400, Philip Balister wrote:

 The guy in the cubicle next to me says that it is possible to talk
 to a USRP from inside a vmware player using my USB1.1 patch for the
 USRP library. It is to early to tell if you can do anything useful
 from vmware, but he did successfully run the tx and rx programs.

Interesting!

 Hopefully, we can use this to test the patch to Eric and Matt's
 satisfaction. Their concerns center around moving a USRP between
 USB1.1 and USB2.0 hosts. I'm attaching the patch just in case anyone
 else would like to play with it.

Philip, the patch will need to handle to handle the cases where the
USRP is already powered up and then is plugged into a 1.1 port, and
later into a 2.0 port, and vice versa.  I suspect that taking a look
at the Cypress library source will provide a clue as to how to
proceed.  IIRC, there's an interrupt than can be enabled, that will
tell you when the speed changes.  It might be called something like
HSfoo or some such.

 Philip

Eric


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] USRP and USB 1.1

2006-10-17 Thread Philip Balister
The guy in the cubicle next to me says that it is possible to talk to a USRP from inside a vmware player using my USB1.1 patch for the USRP library. It is to early to tell if you can do anything useful from vmware, but he did successfully run the tx and rx programs.
Hopefully, we can use this to test the patch to Eric and Matt's satisfaction. Their concerns center around moving a USRP between USB1.1 and USB2.0 hosts. I'm attaching the patch just in case anyone else would like to play with it.
Philip
diff -ur usrp-0.8/firmware/include/fpga_regs_standard.h usrp-0.8-usb11/firmware/include/fpga_regs_standard.h
--- usrp-0.8/firmware/include/fpga_regs_standard.h	2004-12-10 23:25:42.0 -0500
+++ usrp-0.8-usb11/firmware/include/fpga_regs_standard.h	2005-04-18 15:48:58.0 -0400
@@ -103,6 +103,7 @@
 //  3   chan 1 Q
 
 #define	FR_TX_MUX		39
+#define FR_USB_PACKET_SIZE	40
 
 #endif /* INCLUDED_FPGA_REGS_STANDARD_H */
 
diff -ur usrp-0.8/firmware/src/common/usrp_common.c usrp-0.8-usb11/firmware/src/common/usrp_common.c
--- usrp-0.8/firmware/src/common/usrp_common.c	2004-03-28 17:28:58.0 -0500
+++ usrp-0.8-usb11/firmware/src/common/usrp_common.c	2005-04-17 12:10:26.0 -0400
@@ -101,9 +101,13 @@
   // set autoin length for EP6
   // FIXME should be f(enumeration)
 
-  EP6AUTOINLENH = (512)  8;	SYNCDELAY;  // this is the length for high speed
-  EP6AUTOINLENL = (512)  0xff; SYNCDELAY;
-
+  if (USBCS  bmHSM) {
+EP6AUTOINLENH = (512)  8;	SYNCDELAY;  // this is the length for high speed
+EP6AUTOINLENL = (512)  0xff; SYNCDELAY;
+  } else {
+EP6AUTOINLENH = (64)  8;	SYNCDELAY;  // this is the length for full speed
+EP6AUTOINLENL = (64)  0xff; SYNCDELAY;
+  }
   init_board ();
 }
 
diff -ur usrp-0.8/firmware/src/usrp2/usb_descriptors.a51 usrp-0.8-usb11/firmware/src/usrp2/usb_descriptors.a51
--- usrp-0.8/firmware/src/usrp2/usb_descriptors.a51	2004-12-08 16:11:24.0 -0500
+++ usrp-0.8-usb11/firmware/src/usrp2/usb_descriptors.a51	2005-04-14 11:51:07.0 -0400
@@ -236,7 +236,7 @@
 	.db	DSCR_CONFIG
 	.db	(_full_speed_config_descr_end - _full_speed_config_descr) ; LSB
 	.db	(_full_speed_config_descr_end - _full_speed_config_descr) ; MSB
-	.db	1		; bNumInterfaces
+	.db	3		; bNumInterfaces
 	.db	1		; bConfigurationValue
 	.db	0		; iConfiguration
 	.db	0x80 | bmSELF_POWERED ; bmAttributes
@@ -253,7 +253,53 @@
 	.db	0xff		; bInterfaceSubClass (vendor specific)
 	.db	0xff		; bInterfaceProtocol (vendor specific)
 	.db	SI_COMMAND_AND_STATUS	; iInterface (description)
+
+	;; interface descriptor 1 (transmit path, ep2 OUT BULK)
+	
+	.db	DSCR_INTRFC_LEN
+	.db	DSCR_INTRFC
+	.db	1		; bInterfaceNumber (zero based)
+	.db	0		; bAlternateSetting
+	.db	1		; bNumEndpoints
+	.db	0xff		; bInterfaceClass (vendor specific)
+	.db	0xff		; bInterfaceSubClass (vendor specific)
+	.db	0xff		; bInterfaceProtocol (vendor specific)
+	.db	SI_TX_PATH	; iInterface (description)
+
+	;; interface 1's end point
+
+	.db	DSCR_ENDPNT_LEN
+	.db	DSCR_ENDPNT
+	.db	0x02		; bEndpointAddress (ep 2 OUT)
+	.db	ET_BULK		; bmAttributes
+	.db	64		; wMaxPacketSize (LSB)
+	.db	64		; wMaxPacketSize (MSB)
+	.db	0		; bInterval (iso only)
+
+	;; interface descriptor 2 (receive path, ep6 IN BULK)
+	
+	.db	DSCR_INTRFC_LEN
+	.db	DSCR_INTRFC
+	.db	2		; bInterfaceNumber (zero based)
+	.db	0		; bAlternateSetting
+	.db	1		; bNumEndpoints
+	.db	0xff		; bInterfaceClass (vendor specific)
+	.db	0xff		; bInterfaceSubClass (vendor specific)
+	.db	0xff		; bInterfaceProtocol (vendor specific)
+	.db	SI_RX_PATH	; iInterface (description)
+
+	;; interface 2's end point
+
+	.db	DSCR_ENDPNT_LEN
+	.db	DSCR_ENDPNT
+	.db	0x86		; bEndpointAddress (ep 6 IN)
+	.db	ET_BULK		; bmAttributes
+	.db	64		; wMaxPacketSize (LSB)
+	.db	64		; wMaxPacketSize (MSB)
+	.db	0		; bInterval (iso only)
+
 	
+		
 _full_speed_config_descr_end:	
 	
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio