I'm running into issues with the sendmsg command in the vectorized
send path. Depending on the buffer size I get an error returned for
"Bad Address"

>> ethernet:write_packetv: send: Bad address

I'm working at the c++ level right now and my program is pretty simple:

usrp2::usrp2::sptr u2 = usrp2::usrp2::make(interface,mac_addr);

usrp2::tx_metadata    md;
md.timestamp = -1;
md.start_of_burst = 1;
md.send_now = 1;

uint32_t buf[1000];
u2->tx_raw(0,buf,sizeof(buf),&md);

around a buffer size of 200 I will start seeing some sends get bad
address returned, for a size less than 200 it may happen but I have
not seen any occurrences.  Something like a buffer of 1000 (11 frames
needed to be transmitted) never succeeds.

Any ideas about the relation between this buffer size/num frames and
sendmsg returning bad address? Am I using this incorrectly (i know I
should be using something like tx_fc32, but the data doesn't matter to
me right now) ?

Also, what are the reasons for using the vector i/o in this instance?

OS: Ubuntu 9.04
Using dev code from git

Charles


_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to