Index: /trunk/MultiChannelUSB/Paella.v
===================================================================
--- /trunk/MultiChannelUSB/Paella.v	(revision 36)
+++ /trunk/MultiChannelUSB/Paella.v	(revision 37)
@@ -106,8 +106,9 @@
 
 		.rx_empty(usb_fifo_rx_empty),
-		.rx_rdreq(usb_fifo_rx_rdreq),
+		.rx_rdreq((~usb_fifo_rx_empty) & usb_fifo_rx_rdreq),
 		.rx_q(usb_fifo_rx_data)
 	);
 	
+	reg		[23:0]	rx_counter;
 	reg		[10:0]	tst_counter;	
 
@@ -209,8 +210,25 @@
 	always @(posedge CLK_50MHz)
 	begin
+		if (~usb_fifo_rx_empty)
+		begin
+			led_reg <= 1'b0;
+			rx_counter <= 24'd0;
+		end
+		else
+		begin
+			if (&rx_counter)
+			begin
+				led_reg <= 1'b1;
+			end
+			else
+			begin
+				rx_counter <= rx_counter + 24'd1;
+			end
+		end
+
 		case(state1)
 			1:
 			begin
-				usb_fifo_rx_rdreq <= 1'b0;
+				usb_fifo_rx_rdreq <= 1'b1;
 				usb_fifo_tx_wrreq <= 1'b0;
 				hst_reset <= 1'b0;
@@ -221,5 +239,4 @@
 			2: 
 			begin
-				usb_fifo_rx_rdreq <= ~usb_fifo_rx_empty;
 				if (~usb_fifo_rx_empty)
 				begin
@@ -227,4 +244,5 @@
 						8'h30:
 						begin
+							usb_fifo_rx_rdreq <= 1'b0;
 							hst_reset <= 1'b1;
 							state1 <= 4'd1;
@@ -232,4 +250,5 @@
 						8'h31:
 						begin
+							usb_fifo_rx_rdreq <= 1'b0;
 							hst_addr <= 12'd0;
 							hst_byte_num <= 2'd0;	
@@ -238,5 +257,5 @@
 						8'h32:
 						begin
-							led_reg <= 1'b1;
+							usb_fifo_rx_rdreq <= 1'b0;
 							osc_reset <= 1'b1;
 							state1 <= 4'd1;
@@ -244,5 +263,5 @@
 						8'h33:
 						begin
-							led_reg <= 1'b0;
+							usb_fifo_rx_rdreq <= 1'b0;
 							osc_addr <= osc_start_addr;
 							osc_counter <= 10'd0;
@@ -252,10 +271,10 @@
 						8'h34:
 						begin
-							led_reg <= 1'b1;
+							usb_fifo_rx_rdreq <= 1'b0;
 							state1 <= 4'd1;
 						end
 						8'h35:
 						begin
-							led_reg <= 1'b0;
+							usb_fifo_rx_rdreq <= 1'b0;
 							tst_counter <= 11'd0;	
 							state1 <= 4'd9;
