From 7eea883c377f64862a4d83f1b33a83fdf3cfc392 Mon Sep 17 00:00:00 2001 From: Johnathan Corgan Date: Mon, 31 Aug 2009 12:08:30 -0700 Subject: Merged SVN matt/new_eth r10782:11633 into new_eth * svn diff http://gnuradio.org/svn/branches/developers/matt/new_eth -r10782:11633 * Patch applied with no conflicts or fuzz. --- usrp2/firmware/apps/gen_eth_packets.c | 3 ++- usrp2/firmware/apps/txrx.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'usrp2/firmware/apps') diff --git a/usrp2/firmware/apps/gen_eth_packets.c b/usrp2/firmware/apps/gen_eth_packets.c index ce1e8160b..b81f60dac 100644 --- a/usrp2/firmware/apps/gen_eth_packets.c +++ b/usrp2/firmware/apps/gen_eth_packets.c @@ -141,11 +141,12 @@ main(void) ethernet_register_link_changed_callback(link_changed_callback); ethernet_init(); + /* if (hwconfig_simulation_p()){ eth_mac->speed = 4; // hardcode mac speed to 1000 link_is_up = true; } - + */ // fire off a receive from the ethernet bp_receive_to_buf(CPU_RX_BUF, PORT_ETH, 1, 0, BP_LAST_LINE); diff --git a/usrp2/firmware/apps/txrx.c b/usrp2/firmware/apps/txrx.c index 730ee66c5..935e62a72 100644 --- a/usrp2/firmware/apps/txrx.c +++ b/usrp2/firmware/apps/txrx.c @@ -257,12 +257,14 @@ main(void) { u2_init(); - putstr("\nTxRx\n"); + putstr("\nTxRx-NEWETH\n"); print_mac_addr(ethernet_mac_addr()->addr); newline(); ethernet_register_link_changed_callback(link_changed_callback); + putstr("Before ethernet_init()\n"); ethernet_init(); + putstr("After ethernet_init()\n"); #if 0 -- cgit From 7e013c464ce04a7dc559a3f2798559c0716ccae8 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Tue, 1 Sep 2009 18:43:07 -0700 Subject: tell s/w link is up. additional debugging output --- usrp2/firmware/apps/gen_eth_packets.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'usrp2/firmware/apps') diff --git a/usrp2/firmware/apps/gen_eth_packets.c b/usrp2/firmware/apps/gen_eth_packets.c index b81f60dac..dd2996752 100644 --- a/usrp2/firmware/apps/gen_eth_packets.c +++ b/usrp2/firmware/apps/gen_eth_packets.c @@ -147,6 +147,9 @@ main(void) link_is_up = true; } */ + + link_is_up = true; /* FIXME tell s/w link is up */ + // fire off a receive from the ethernet bp_receive_to_buf(CPU_RX_BUF, PORT_ETH, 1, 0, BP_LAST_LINE); @@ -160,10 +163,15 @@ main(void) } if (status & (BPS_DONE(CPU_TX_BUF) | BPS_ERROR(CPU_TX_BUF))){ + if (status & BPS_ERROR(CPU_TX_BUF)){ + putchar('E'); + } bp_clear_buf(CPU_TX_BUF); npackets_sent++; - if ((npackets_sent & 0xF) == 0) // print after every 16 packets - print_rmon_regs(); + if ((npackets_sent & 0xF) == 0){ // print after every 16 packets + //print_rmon_regs(); + putchar('.'); + } } if (link_is_up && send_packet_now && (status & BPS_IDLE(CPU_TX_BUF))){ -- cgit From 72a570279574d717325a3d65a6b435ba4eb7a82c Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Wed, 2 Sep 2009 17:05:45 -0700 Subject: ignore .o files --- usrp2/firmware/apps/.gitignore | 1 + 1 file changed, 1 insertion(+) (limited to 'usrp2/firmware/apps') diff --git a/usrp2/firmware/apps/.gitignore b/usrp2/firmware/apps/.gitignore index b8ab0dc8d..ea27c9fb4 100644 --- a/usrp2/firmware/apps/.gitignore +++ b/usrp2/firmware/apps/.gitignore @@ -1,5 +1,6 @@ /*-stamp /*.a +/*.o /*.bin /*.dump /*.log -- cgit From 42b10fee5167354a2927c2874cec46fc0d71a245 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Thu, 3 Sep 2009 16:12:40 -0700 Subject: removed hard-coded link_is_up = true; --- usrp2/firmware/apps/gen_eth_packets.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'usrp2/firmware/apps') diff --git a/usrp2/firmware/apps/gen_eth_packets.c b/usrp2/firmware/apps/gen_eth_packets.c index dd2996752..530f448ee 100644 --- a/usrp2/firmware/apps/gen_eth_packets.c +++ b/usrp2/firmware/apps/gen_eth_packets.c @@ -148,8 +148,6 @@ main(void) } */ - link_is_up = true; /* FIXME tell s/w link is up */ - // fire off a receive from the ethernet bp_receive_to_buf(CPU_RX_BUF, PORT_ETH, 1, 0, BP_LAST_LINE); -- cgit From 49a17dca1ee9cf7c0fd02b6baf83814a68c4e5e8 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 4 Sep 2009 15:35:01 -0700 Subject: Firmware now inserts mac source address value in each frame. The old mac used to do this automatically. --- usrp2/firmware/apps/app_common_v2.c | 1 + usrp2/firmware/apps/app_passthru_v2.c | 1 + usrp2/firmware/apps/factory_test.c | 1 + usrp2/firmware/apps/gen_eth_packets.c | 3 +-- usrp2/firmware/apps/gen_pause_frames.c | 4 ++-- usrp2/firmware/apps/mimo_app_common_v2.c | 1 + usrp2/firmware/apps/mimo_tx.c | 1 + usrp2/firmware/apps/mimo_tx_slave.c | 1 + usrp2/firmware/apps/rcv_eth_packets.c | 2 +- usrp2/firmware/apps/serdes_txrx.c | 1 + usrp2/firmware/apps/tx_standalone.c | 1 + usrp2/firmware/apps/txrx.c | 1 + 12 files changed, 13 insertions(+), 5 deletions(-) (limited to 'usrp2/firmware/apps') diff --git a/usrp2/firmware/apps/app_common_v2.c b/usrp2/firmware/apps/app_common_v2.c index 6d9606d45..1568ca70b 100644 --- a/usrp2/firmware/apps/app_common_v2.c +++ b/usrp2/firmware/apps/app_common_v2.c @@ -70,6 +70,7 @@ void set_reply_hdr(u2_eth_packet_t *reply_pkt, u2_eth_packet_t const *cmd_pkt) { reply_pkt->ehdr.dst = cmd_pkt->ehdr.src; + reply_pkt->ehdr.src = *ethernet_mac_addr(); reply_pkt->ehdr.ethertype = U2_ETHERTYPE; reply_pkt->thdr.flags = 0; reply_pkt->thdr.fifo_status = 0; // written by protocol engine diff --git a/usrp2/firmware/apps/app_passthru_v2.c b/usrp2/firmware/apps/app_passthru_v2.c index 660bcd774..406c56b3b 100644 --- a/usrp2/firmware/apps/app_passthru_v2.c +++ b/usrp2/firmware/apps/app_passthru_v2.c @@ -42,6 +42,7 @@ void set_reply_hdr(u2_eth_packet_t *reply_pkt, u2_eth_packet_t const *cmd_pkt) { reply_pkt->ehdr.dst = cmd_pkt->ehdr.src; + reply_pkt->ehdr.src = *ethernet_mac_addr(); reply_pkt->ehdr.ethertype = U2_ETHERTYPE; reply_pkt->thdr.flags = 0; reply_pkt->thdr.fifo_status = 0; // written by protocol engine diff --git a/usrp2/firmware/apps/factory_test.c b/usrp2/firmware/apps/factory_test.c index b4b44dbdb..a4bc06d58 100644 --- a/usrp2/firmware/apps/factory_test.c +++ b/usrp2/firmware/apps/factory_test.c @@ -170,6 +170,7 @@ start_rx_streaming_cmd(const u2_mac_addr_t *host, op_start_rx_streaming_t *p) u2_eth_packet_t pkt; memset(&pkt, 0, sizeof(pkt)); pkt.ehdr.dst = *host; + pkt.ehdr.src = *ethernet_mac_addr(); pkt.ehdr.ethertype = U2_ETHERTYPE; u2p_set_word0(&pkt.fixed, 0, 0); // DSP RX will fill in timestamp diff --git a/usrp2/firmware/apps/gen_eth_packets.c b/usrp2/firmware/apps/gen_eth_packets.c index 530f448ee..5cda5bb8e 100644 --- a/usrp2/firmware/apps/gen_eth_packets.c +++ b/usrp2/firmware/apps/gen_eth_packets.c @@ -104,8 +104,7 @@ init_packets(void) memset(&pkt, 0, sizeof(pkt)); pkt.ehdr.dst = dst_mac_addr; - // src address filled in by mac - + pkt.ehdr.src = *ethernet_mac_addr(); pkt.ehdr.ethertype = U2_ETHERTYPE; pkt.fixed.word0 = 0x01234567; pkt.fixed.timestamp = 0xffffffff; diff --git a/usrp2/firmware/apps/gen_pause_frames.c b/usrp2/firmware/apps/gen_pause_frames.c index 4eaebcc4a..8f2b2df03 100644 --- a/usrp2/firmware/apps/gen_pause_frames.c +++ b/usrp2/firmware/apps/gen_pause_frames.c @@ -132,9 +132,9 @@ init_packets(void) u2_eth_packet_t pkt __attribute__((aligned (4))); for (i = 0; i < 6; i++){ - pkt.ehdr.dst_addr[i] = dst_mac_addr[i]; - pkt.ehdr.src_addr[i] = 0; // filled in by mac + pkt.ehdr.dst.addr[i] = dst_mac_addr[i]; } + pkt.ehdr.src = *ethernet_mac_addr(); pkt.ehdr.ethertype = U2_ETHERTYPE; // fill ALL buffers for debugging diff --git a/usrp2/firmware/apps/mimo_app_common_v2.c b/usrp2/firmware/apps/mimo_app_common_v2.c index e5ab55fac..5dbecb0d0 100644 --- a/usrp2/firmware/apps/mimo_app_common_v2.c +++ b/usrp2/firmware/apps/mimo_app_common_v2.c @@ -67,6 +67,7 @@ void set_reply_hdr(u2_eth_packet_t *reply_pkt, u2_eth_packet_t const *cmd_pkt) { reply_pkt->ehdr.dst = cmd_pkt->ehdr.src; + reply_pkt->ehdr.src = *ethernet_mac_addr(); reply_pkt->ehdr.ethertype = U2_ETHERTYPE; reply_pkt->thdr.flags = 0; reply_pkt->thdr.fifo_status = 0; // written by protocol engine diff --git a/usrp2/firmware/apps/mimo_tx.c b/usrp2/firmware/apps/mimo_tx.c index 730433bf4..7fc7b486f 100644 --- a/usrp2/firmware/apps/mimo_tx.c +++ b/usrp2/firmware/apps/mimo_tx.c @@ -179,6 +179,7 @@ start_rx_streaming_cmd(const u2_mac_addr_t *host, op_start_rx_streaming_t *p) u2_eth_packet_t pkt; memset(&pkt, 0, sizeof(pkt)); pkt.ehdr.dst = *host; + pkt.ehdr.src = *ethernet_mac_addr(); pkt.ehdr.ethertype = U2_ETHERTYPE; u2p_set_word0(&pkt.fixed, 0, 0); // DSP RX will fill in timestamp diff --git a/usrp2/firmware/apps/mimo_tx_slave.c b/usrp2/firmware/apps/mimo_tx_slave.c index df7ddf9c4..e7da984c5 100644 --- a/usrp2/firmware/apps/mimo_tx_slave.c +++ b/usrp2/firmware/apps/mimo_tx_slave.c @@ -176,6 +176,7 @@ start_rx_streaming_cmd(const u2_mac_addr_t *host, op_start_rx_streaming_t *p) u2_eth_packet_t pkt; memset(&pkt, 0, sizeof(pkt)); pkt.ehdr.dst = *host; + pkt.ehdr.src = *ethernet_mac_addr(); pkt.ehdr.ethertype = U2_ETHERTYPE; u2p_set_word0(&pkt.fixed, 0, 0); // DSP RX will fill in timestamp diff --git a/usrp2/firmware/apps/rcv_eth_packets.c b/usrp2/firmware/apps/rcv_eth_packets.c index 92e41d92b..ec772ca75 100644 --- a/usrp2/firmware/apps/rcv_eth_packets.c +++ b/usrp2/firmware/apps/rcv_eth_packets.c @@ -135,7 +135,7 @@ init_packets(void) u2_eth_packet_t pkt __attribute__((aligned (4))); pkt.ehdr.dst = dst_mac_addr; - // src filled in by mac + pkt.ehdr.src = *ethernet_mac_addr(); pkt.ehdr.ethertype = U2_ETHERTYPE; // fill ALL buffers for debugging diff --git a/usrp2/firmware/apps/serdes_txrx.c b/usrp2/firmware/apps/serdes_txrx.c index 1becc205e..7816f7a65 100644 --- a/usrp2/firmware/apps/serdes_txrx.c +++ b/usrp2/firmware/apps/serdes_txrx.c @@ -168,6 +168,7 @@ start_rx_streaming_cmd(const u2_mac_addr_t *host, op_start_rx_streaming_t *p) u2_eth_packet_t pkt; memset(&pkt, 0, sizeof(pkt)); pkt.ehdr.dst = *host; + pkt.ehdr.src = *ethernet_mac_addr(); pkt.ehdr.ethertype = U2_ETHERTYPE; u2p_set_word0(&pkt.fixed, 0, 0); // DSP RX will fill in timestamp diff --git a/usrp2/firmware/apps/tx_standalone.c b/usrp2/firmware/apps/tx_standalone.c index 25ba8fd40..6350a6956 100644 --- a/usrp2/firmware/apps/tx_standalone.c +++ b/usrp2/firmware/apps/tx_standalone.c @@ -195,6 +195,7 @@ start_tx_transfers(void) u2_eth_packet_t pkt; memset(&pkt, 0, sizeof(pkt)); //pkt.ehdr.dst = *host; + pkt.ehdr.src = *ethernet_mac_addr(); pkt.ehdr.ethertype = U2_ETHERTYPE; u2p_set_word0(&pkt.fixed, U2P_TX_IMMEDIATE | U2P_TX_START_OF_BURST, 0); diff --git a/usrp2/firmware/apps/txrx.c b/usrp2/firmware/apps/txrx.c index 935e62a72..fc2f8a49e 100644 --- a/usrp2/firmware/apps/txrx.c +++ b/usrp2/firmware/apps/txrx.c @@ -168,6 +168,7 @@ start_rx_streaming_cmd(const u2_mac_addr_t *host, op_start_rx_streaming_t *p) u2_eth_packet_t pkt; memset(&pkt, 0, sizeof(pkt)); pkt.ehdr.dst = *host; + pkt.ehdr.src = *ethernet_mac_addr(); pkt.ehdr.ethertype = U2_ETHERTYPE; u2p_set_word0(&pkt.fixed, 0, 0); // DSP RX will fill in timestamp -- cgit From 6528672f2db205b6127f05ad7c7b9da66661b498 Mon Sep 17 00:00:00 2001 From: Eric Blossom Date: Fri, 4 Sep 2009 15:47:32 -0700 Subject: remove special last_line adjustment from ethernet port --- usrp2/firmware/apps/app_common_v2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'usrp2/firmware/apps') diff --git a/usrp2/firmware/apps/app_common_v2.c b/usrp2/firmware/apps/app_common_v2.c index 1568ca70b..67cccd53b 100644 --- a/usrp2/firmware/apps/app_common_v2.c +++ b/usrp2/firmware/apps/app_common_v2.c @@ -600,7 +600,7 @@ bool eth_pkt_inspector(dbsm_t *sm, int bufno) { u2_eth_packet_t *pkt = (u2_eth_packet_t *) buffer_ram(bufno); - size_t byte_len = (buffer_pool_status->last_line[bufno] - 3) * 4; + size_t byte_len = (buffer_pool_status->last_line[bufno] - 1) * 4; //static size_t last_len = 0; -- cgit From 147de5cd3e57a07914673a31fb73a35ebf18b3a2 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Wed, 30 Sep 2009 19:55:05 -0700 Subject: remove debugging code --- usrp2/firmware/apps/txrx.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'usrp2/firmware/apps') diff --git a/usrp2/firmware/apps/txrx.c b/usrp2/firmware/apps/txrx.c index fc2f8a49e..b2487ed89 100644 --- a/usrp2/firmware/apps/txrx.c +++ b/usrp2/firmware/apps/txrx.c @@ -263,10 +263,7 @@ main(void) newline(); ethernet_register_link_changed_callback(link_changed_callback); - putstr("Before ethernet_init()\n"); ethernet_init(); - putstr("After ethernet_init()\n"); - #if 0 // make bit 15 of Tx gpio's be a s/w output -- cgit