Hello, I wan to relay signals back and forth between two N210 without sending the data to the Host pic to avoid delays. I understand that this requires modifying the fpga. Is that correct ?
Where to start ? Any help would be highly appreciated > On 4 Sep 2017, at 17:00, usrp-users-requ...@lists.ettus.com wrote: > > Send USRP-users mailing list submissions to > usrp-users@lists.ettus.com > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > or, via email, send a message with subject or body 'help' to > usrp-users-requ...@lists.ettus.com > > You can reach the person managing the list at > usrp-users-ow...@lists.ettus.com > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of USRP-users digest..." > > > Today's Topics: > > 1. Re: B200mini & XU4 problem (Nate Temple) > 2. python receiver problem (Ivan Zahartchuk) > 3. Capturing gsm downlink and uplink signals (Snehasish Kar) > 4. How to configure Aurora channel for tx/rx in XA FPGA image? > (nauman.iq...@surrey.ac.uk) > 5. Re: B200mini & XU4 problem (Ralph A. Schmid, dk5ras) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sun, 3 Sep 2017 14:45:35 -0700 > From: Nate Temple <nate.tem...@ettus.com> > To: David <david.zod.mil...@gmail.com> > Cc: usrp-users@lists.ettus.com > Subject: Re: [USRP-users] B200mini & XU4 problem > Message-ID: <922f5870-0d83-47ae-9da3-2f1ea3a3f...@ettus.com> > Content-Type: text/plain; charset=us-ascii > > Hi Dave, > > What is the error when uhd_fft fails over the USB2 port? > > The routing is different between the USB2 and USB3 ports on the XU4. The USB3 > ports are routed through a USB3 hub (GL3521) and also have a RTL8153 1GbE > ethernet controller on the #1 channel. They also provide their own bus power > through the NCP380HM switch. I don't know where the issue is at with the XU4 > power via the USB3 ports, but any of these could be the culprit. I know > Odroid will recommend a powered hub for USB3 devices that don't have an > external power option. The schematics will show all the details: > > https://dn.odroid.com/5422/ODROID-XU4/Schematics/ > > Regards, > Nate Temple > >> On Sep 3, 2017, at 5:46 AM, David via USRP-users >> <usrp-users@lists.ettus.com> wrote: >> >> Hey all, >> Thanks for the replies, didn't realise it would work on USB2... so I... >> - plugged into USB2 port >> - no boot up problems with the udev rule enabled >> - get similar device read errors, until the device is unplugged & plugged >> back in >> - then uhd_usrp_probe works, no corruption of the fs :-) >> - takes much longer to load fw! >> - can't run uhd_fft however (...LIBUSB_ERROR_NO_DEVICE...) >> >> So using USB2 port seems OK, but need to unplug, plug in the device after >> each reboot, can do a >> uhd_usrp_probe with no issues, and reboot OK, but uhd_fft fails (is that >> expected?). >> >> Why the difference between USB2 and USB3, thought the power (500mA) was the >> same? >> >> I've been wondering about power, esp. since reading the odroid forums, I >> think, as you say Nate, a powered hub, or Y adaptor (I didn't know about >> that) is the next step... >> >> Marcus, is there a location for the Arch image please? I saw a previous post >> from you about using b2x0's with XU4... :-) >> >> Many Thanks, >> Dave >> >>> On 02/09/17 23:30, Marcus D. Leech via USRP-users wrote: >>>> On 09/02/2017 05:02 PM, Nate Temple via USRP-users wrote: >>>> Hi Dave, >>>> >>>> This is certainly an interesting issue. I suspect the core of the issue >>>> may be power draw on the USB interface during boot. One of the common >>>> issues with the XU4 that I've seen reported is that the USB3 ports do not >>>> provide USB3 spec power levels. >>>> >>>> Using a powered USB3 hub may resolve the issue. >>>> >>>> Another option would be a Y power cable such as this >>>> http://www.ebay.com/itm/262045046196 which would allow you to use an >>>> external power adapter to feed power to the USRP. >>>> >>>> Another test you could try -- Try using the USB2 on the XU4. Does it >>>> result in the same boot up problems? >>>> >>>> I have a early rev 0.1 20151201 XU4 that I often use paired with a >>>> B205mini and have not seen any issue such as this. >>>> >>>> Regards, >>>> Nate Temple >>>> >>>> >>>> >>>> >>>>> On Sep 2, 2017, at 1:44 AM, David via USRP-users >>>>> <usrp-users@lists.ettus.com> wrote: >>>>> >>>>> Hi All, >>>>> >>>>> I'm trying to get XU4 and B200mini to work together, but having a serious >>>>> issue: the SD card gets trashed! >>>>> >>>>> I'm using Ubuntu 16.04 image from the Odroid site, kernel 4.9.28-38, and >>>>> latest GIT clone of UHD (as of two weeks ago). Two uSD cards I had are >>>>> now totally trashed. I'm on my last card. They seem to get totally >>>>> trashed after I run uhd-fft a few times. >>>>> >>>>> The main symptom is that if the B200mini is connected and I reboot, an >>>>> fsck is done every time, and also has the effect of continually >>>>> rebooting, and continually corrupting the card. >>>>> >>>>> Unplug the B200mini and all is fine (after a couple of fscks). I managed >>>>> to work out that if I remove the udev rule that starts up UHD >>>>> (uhd-usrp.rules) I am also able to reboot with no issues. So a driver >>>>> issue? >>>>> >>>>> Without the udev rule I get the following, which I'm assuming is normal?: >>>>> >>>>> [ 24.555119] usb 3-1.1: device descriptor read/64, error -110 >>>>> [ 29.995114] usb 3-1.1: device descriptor read/64, error -110 >>>>> [ 45.675119] usb 3-1.1: device descriptor read/64, error -110 >>>>> [ 56.685085] usb 3-1.1: device not accepting address 5, error -62 >>>>> [ 67.565082] usb 3-1.1: device not accepting address 6, error -62 >>>>> [ 67.569976] usb 3-1-port1: unable to enumerate USB device >>>>> >>>>> Hope you can help, thanks, >>>>> >>>>> Dave. >>>>> >>>>> >>> I run a *PAIR* of b205-minis on an Odroid XU4, but I use an external, >>> powered, USB-3.0 hub. I don't recall ever having a filesystem trashing >>> problem, but >>> I use an Arch image. >>> >>> Modulo kernel bugs, there's no way for UHD applications or hardware to >>> "trash your filesystem". So, if this is an issue, then the issue is with >>> the >>> underlying OS+drivers implementation. None of the UHD code runs in kernel >>> space, and runs as an ordinary user. >>> >>> >>> >>> _______________________________________________ >>> USRP-users mailing list >>> USRP-users@lists.ettus.com >>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>> >> >> >> _______________________________________________ >> USRP-users mailing list >> USRP-users@lists.ettus.com >> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > > > > > ------------------------------ > > Message: 2 > Date: Mon, 4 Sep 2017 09:21:14 +0300 > From: Ivan Zahartchuk <adray0...@gmail.com> > To: usrp-users@lists.ettus.com > Subject: [USRP-users] python receiver problem > Message-ID: > <caprryxuj_57oamy6sjkiwcgore3hi1ayxh+15vebvqz62+a...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Can you please tell us how to properly implement data reception from usrp > n210 using STREAM_MODE_NUM_SAMPS_AND_MORE: > > import numpy as np > import libpyuhd > import pyqtgraph as pg > import time > from PyQt4 import QtGui,QtCore > app = QtGui.QApplication([]) > win=pg.GraphicsWindow() > label = pg.LabelItem(justify='right') > win.addItem(label) > p1 = win.addPlot(row=1, col=0) > p2=p1.plot() > global p2 > vb = p1.vb > rezult=np.empty(4096,dtype=np.complex64) > usrp1=libpyuhd.usrp.multi_usrp("addr=192.168.10.2") > chanels=0 > usrp1.set_rx_rate(40e6,0) > usrp1.set_rx_gain(38,0) > usrp1.set_rx_freq(libpyuhd.types.tune_request(400e6),0) > st_args=libpyuhd.usrp.stream_args("fc32","sc8") > st_args.chanels=chanels > metadata=libpyuhd.types.rx_metadata() > streamer=usrp1.get_rx_stream(st_args) > stream_cmd = libpyuhd.types.stream_cmd(libpyuhd.types.stream_mode.num_more) > #stream_cmd=libpyuhd.types.stream_cmd.time_spec(0.1) > streamer.issue_stream_cmd(stream_cmd) > stream_cmd.num_samps=4096 > stream_cmd.stream_now=False > #np.set_printoptions(threshold='nan') > buffer_samps=streamer.get_max_num_samps() > #print(buffer_samps) > recv_buff = np.zeros(4096, dtype=np.complex64) > #print (recv_buff.shape) > recv_samps=0 > start=time.time() > def update(): > global recv_samps > while True: > streamer.recv(recv_buff, metadata) > b=recv_buff[:] > p2.setData(abs(np.fft.fft(b)),pen="r") > #timer.timeout(5) > timer = QtCore.QTimer() > timer.timeout.connect(update) > timer.start(20) > #recv_buff = np.zeros(4096, dtype=np.complex64) > if __name__ == '__main__': > import sys > if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'): > QtGui.QApplication.instance().exec_() > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20170904/9866899d/attachment-0001.html> > > ------------------------------ > > Message: 3 > Date: Mon, 4 Sep 2017 07:17:32 +0000 > From: Snehasish Kar <snehasish....@live.com> > To: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com> > Subject: [USRP-users] Capturing gsm downlink and uplink signals > Message-ID: > > <pn1pr01mb0397faeae5173c6fa103f47f88...@pn1pr01mb0397.indprd01.prod.outlook.com> > > Content-Type: text/plain; charset="iso-8859-1" > > Hello > > I am trying to capture GSM downlink and uplink signals using NI USRP 2954R > and uhd-c api then writing it to a file, which is then read by gnuradio to > demodulate, decode and get the actual data. But using the receiver code, > somehow I was able to get only Downlink data but not uplink. I tried the same > grc file with uhd-source in gnuradio and it was working perfectly for both. > Below is my code, please check it once, and let me know where I am going > wrong. > > #include <uhd/types/tune_request.hpp> > #include <uhd/utils/thread_priority.hpp> > #include <uhd/utils/safe_main.hpp> > #include <uhd/usrp/multi_usrp.hpp> > #include <uhd/exception.hpp> > #include <boost/program_options.hpp> > #include <boost/format.hpp> > #include <boost/thread.hpp> > #include <uhd/stream.hpp> > #include <iostream> > #include <fstream> > #include <csignal> > #include <complex> > #include <pthread.h> > > #include "../include/conf.hpp" > > > static bool stop_signal_called = false; > > void sig_int_handler(int){ > stop_signal_called = true; > } > > typedef boost::function<uhd::sensor_value_t (const std::string&)> > get_sensor_fn_t; > > //template<typename samp_type> > void recv_to_file(struct data2hosts data){ > uhd::usrp::multi_usrp::sptr usrp = data.usrp; > const std::string file = data.file; > size_t samps_per_buff = data.spb; > unsigned long long num_requested_samples = data.total_num_samps; > bool null = NULL; > bool enable_size_map = data.enable_size_map; > bool continue_on_bad_packet = data.continue_on_bad_packet; > > unsigned long long num_total_samps = 0; > //create a receive streamer > uhd::stream_args_t stream_args("fc32","sc16");//cpu_format,wire_format); > stream_args.channels.push_back(data.chan_no); > uhd::rx_streamer::sptr rx_stream = usrp->get_rx_stream(stream_args); > uhd::rx_metadata_t md; > std::vector<std::complex<float>> buff(samps_per_buff);/////// > std::ofstream outfile; > if (not null) > outfile.open(file.c_str(), std::ofstream::binary); > bool overflow_message = true; > > //setup streaming > uhd::stream_cmd_t stream_cmd((num_requested_samples == 0)? > uhd::stream_cmd_t::STREAM_MODE_START_CONTINUOUS: > uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE > ); > stream_cmd.num_samps = size_t(num_requested_samples); > stream_cmd.stream_now = true; > stream_cmd.time_spec = uhd::time_spec_t(); > rx_stream->issue_stream_cmd(stream_cmd); > > boost::system_time start = boost::get_system_time(); > //unsigned long long ticks_requested = (long)(time_requested * > (double)boost::posix_time::time_duration::ticks_per_second()); > boost::posix_time::time_duration ticks_diff; > boost::system_time last_update = start; > unsigned long long last_update_samps = 0; > > typedef std::map<size_t,size_t> SizeMap; > SizeMap mapSizes; > > while(not stop_signal_called and (num_requested_samples != num_total_samps > or num_requested_samples == 0)) { > boost::system_time now = boost::get_system_time(); > > size_t num_rx_samps = rx_stream->recv(&buff.front(), buff.size(), md, > 3.0, enable_size_map); > //std::cout << boost::format("No of bytes received %u")% num_rx_samps > << std::endl; > if (md.error_code == uhd::rx_metadata_t::ERROR_CODE_TIMEOUT) { > std::cout << boost::format("Timeout while streaming") << std::endl; > break; > } > if (md.error_code == uhd::rx_metadata_t::ERROR_CODE_OVERFLOW){ > if (overflow_message) { > overflow_message = false; > std::cerr << boost::format( > "Got an overflow indication. Please consider the > following:\n" > " Your write medium must sustain a rate of %fMB/s.\n" > " Dropped samples will not be written to the file.\n" > " Please modify this example for your purposes.\n" > " This message will not appear again.\n" > ) % > (usrp->get_rx_rate()*sizeof(std::complex<float>)/1e6);//////////////// > } > continue; > } > if (md.error_code != uhd::rx_metadata_t::ERROR_CODE_NONE){ > std::string error = str(boost::format("Receiver error: %s") % > md.strerror()); > if (continue_on_bad_packet){ > std::cerr << error << std::endl; > continue; > } > else > throw std::runtime_error(error); > } > > if (enable_size_map) { > SizeMap::iterator it = mapSizes.find(num_rx_samps); > if (it == mapSizes.end()) > mapSizes[num_rx_samps] = 0; > mapSizes[num_rx_samps] += 1; > } > > num_total_samps += num_rx_samps; > > if (outfile.is_open()) > outfile.write((const char*)&buff.front(), > num_rx_samps*sizeof(std::complex<float>));////////////// > > ticks_diff = now - start; > /*if (ticks_requested > 0){ > if ((unsigned long long)ticks_diff.ticks() > ticks_requested) > break; > }*/ > } > > stream_cmd.stream_mode = uhd::stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS; > rx_stream->issue_stream_cmd(stream_cmd); > > if (outfile.is_open()) > outfile.close(); > } > > bool check_locked_sensor(std::vector<std::string> sensor_names, const char* > sensor_name, get_sensor_fn_t get_sensor_fn, double setup_time){ > if (std::find(sensor_names.begin(), sensor_names.end(), sensor_name) == > sensor_names.end()) > return false; > > boost::system_time start = boost::get_system_time(); > boost::system_time first_lock_time; > > std::cout << boost::format("Waiting for \"%s\": ") % sensor_name; > std::cout.flush(); > > while (true) { > if ((not first_lock_time.is_not_a_date_time()) and > (boost::get_system_time() > (first_lock_time + > boost::posix_time::seconds(setup_time)))) > { > std::cout << " locked." << std::endl; > break; > } > if (get_sensor_fn(sensor_name).to_bool()){ > if (first_lock_time.is_not_a_date_time()) > first_lock_time = boost::get_system_time(); > std::cout << "+"; > std::cout.flush(); > } > else { > first_lock_time = boost::system_time(); //reset to 'not a date > time' > > if (boost::get_system_time() > (start + > boost::posix_time::seconds(setup_time))){ > std::cout << std::endl; > throw std::runtime_error(str(boost::format("timed out waiting > for consecutive locks on sensor \"%s\"") % sensor_name)); > } > std::cout << "_"; > std::cout.flush(); > } > boost::this_thread::sleep(boost::posix_time::milliseconds(100)); > } > std::cout << std::endl; > return true; > } > > int UHD_SAFE_MAIN(int argc, char *argv[]){ > uhd::set_thread_priority_safe(); > int i=0; > std::string args, type ; > struct rfSettings rfParam[3]; > struct data2hosts data[2]; > double rate, freq, gain, bw, setupTime, totalTime = 0;; > pthread_t tid[2]={0x00}; > std::string ant("RX2"); > std::string file1("/media/nameme/usrp_data.dat"); > std::string file2("/media/nameme/usrp_data1.dat"); > std::string wirefmt("sc16"); > bool enable_size_map = true; > bool continue_on_bad_packet = true; > size_t total_num_samps = 0, spb = 1000000; > pthread_t tid1,tid2; > memset(rfParam,0x00,sizeof(rfParam)); > > /*****************************Koyel to check***************************/ > > rfParam[0].freq = 935800000; > strcpy(rfParam[0].band,"P-GSM"); > rfParam[0].bandwidth = 25000000; > rfParam[0].samplerate = 50000000; > rfParam[0].total_time = 0x00; > rfParam[0].setup_time = 1.0; > rfParam[0].gain = 30.0; > > rfParam[1].freq = 925000000; > strcpy(rfParam[1].band,"E-GSM"); > rfParam[1].bandwidth = 35000000; > rfParam[1].samplerate = 70000000; > rfParam[1].setup_time = 1.0; > rfParam[1].gain = 30.0; > > /* rfParam[2].freq = 1805200000; > strcpy(rfParam[2].band,"DCS"); > rfParam[2].bandwidth = 100000000; //75000000; > rfParam[2].samplerate = 200000000;//200000000; //149200000; > rfParam[2].setup_time = 1.0; > rfParam[2].gain = 30.0;*/ > rfParam[2].freq = 959600000;//935800000; > strcpy(rfParam[2].band,"DCS"); > rfParam[2].bandwidth = 250000; //75000000; > rfParam[2].samplerate = 1000000;//200000000; //149200000; > rfParam[2].setup_time = 1.0; > rfParam[2].gain = 30.0; > > > /*************************************************************************/ > > std::string subdev("A:0 B:0"); > std::string sync("internal"); > for(i=0;i<3;i++){ > if(strcmp(rfParam[i].band,"DCS")==0x00){ > rate = rfParam[i].samplerate; > freq = rfParam[i].freq; > gain = rfParam[i].gain; > bw = rfParam[i].bandwidth; > setupTime = rfParam[i].setup_time; > totalTime = rfParam[i].total_time; > break; > } > } > //create a usrp device > std::cout << boost::format("\nCreating the USRP device with args: > \"%s\"...\n") % args; > static uhd::usrp::multi_usrp::sptr usrp = > uhd::usrp::multi_usrp::make(args); > > //set subdevice > usrp->set_rx_subdev_spec(subdev); > > //set antenna > std::cout << boost::format("Setting antenna to: %s\n") % ant; > usrp->set_rx_antenna(ant); > usrp->set_rx_antenna(ant); > > //tune to a particular frequency > std::cout << boost::format("Setting RX Freq: %f MHz...") % (freq/1e6) << > std::endl; > uhd::tune_request_t tune_request(freq,0); > tune_request.args = uhd::device_addr_t("mode_n=integer"); > usrp->set_rx_freq(tune_request,0); > uhd::tune_request_t tune_requestUplink(freq-45000000); > usrp->set_rx_freq(tune_requestUplink,1); > std::cout << boost::format("Actual RX Freq: %f MHz...") % > (usrp->get_rx_freq(0)/1e6) << std::endl << std::endl; > std::cout << boost::format("Actual RX Freq: %f MHz...") % > (usrp->get_rx_freq(1)/1e6) << std::endl << std::endl; > > //set sample rate > std::cout << boost::format("Setting sample rate to: %d\n") % rate; > usrp->set_rx_rate(rate); > usrp->set_rx_rate(rate); > std::cout << boost::format("Actual sample rate: %d \n") % > usrp->get_rx_rate(0); > std::cout << boost::format("Actual sample rate: %d \n") % > usrp->get_rx_rate(1); > > //set gain > std::cout << boost::format("Setting gain to: %d\n") % gain; > usrp->set_rx_gain(gain,0); > usrp->set_rx_gain(gain,1); > std::cout << boost::format("Actual gain: %d\n") % usrp->get_rx_gain(0); > std::cout << boost::format("Actual gain: %d\n") % usrp->get_rx_gain(1); > > //set the bandwidth > std::cout << boost::format("Setting bandwidth to %f MHz")%(bw/1e6) << > std::endl; > usrp->set_rx_bandwidth(bw,0); > usrp->set_rx_bandwidth(bw,1); > std::cout << boost::format("Actual RX Bandwidth: %f MHz...") % > (usrp->get_rx_bandwidth(0)/1e6) << std::endl << std::endl; > std::cout << boost::format("Actual RX Bandwidth: %f MHz...") % > (usrp->get_rx_bandwidth(1)/1e6) << std::endl << std::endl; > > > > boost::this_thread::sleep(boost::posix_time::seconds(rfParam[0].setup_time)); > //allow for some setup time > check_locked_sensor(usrp->get_rx_sensor_names(0), "lo_locked", > boost::bind(&uhd::usrp::multi_usrp::get_rx_sensor, usrp, _1, 0), > rfParam[0].setup_time); > // Get an rx_streamer from the device > //check_locked_sensor(usrp->get_rx_sensor_names(0), "lo_locked", > boost::bind(&uhd::usrp::multi_usrp::get_rx_sensor, usrp, _1, 0), > rfParam[0].setup_time); > std::signal(SIGINT, &sig_int_handler); > std::cout << "Press Ctrl + C to stop streaming..." << std::endl; > data[0].usrp = usrp; > data[0].file = file1; > data[0].total_num_samps = total_num_samps; > data[0].spb = spb; > data[0].enable_size_map = enable_size_map; > data[0].continue_on_bad_packet = continue_on_bad_packet; > data[0].chan_no = 0; > > data[1].usrp = usrp; > data[1].file = file2; > data[1].total_num_samps = total_num_samps; > data[1].spb = spb; > data[1].enable_size_map = enable_size_map; > data[1].continue_on_bad_packet = continue_on_bad_packet; > data[1].chan_no = 1; > > /*#define recv_to_file_args(format) \ > (usrp, file1, spb, total_num_samps, NULL, enable_size_map, > continue_on_bad_packet) > recv_to_file<std::complex<float> >recv_to_file_args("fc32");*/ > boost::thread thread2(&recv_to_file,data[1]); > boost::thread thread1(&recv_to_file,data[0]); > thread2.join(); > thread1.join(); > //finished > std::cout << std::endl << "Done!" << std::endl << std::endl; > } > > BR > Snehasish > > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20170904/04429f1e/attachment-0001.html> > > ------------------------------ > > Message: 4 > Date: Mon, 4 Sep 2017 09:42:59 +0000 > From: <nauman.iq...@surrey.ac.uk> > To: <usrp-users@lists.ettus.com> > Subject: [USRP-users] How to configure Aurora channel for tx/rx in XA > FPGA image? > Message-ID: > > <db6pr0602mb328676b222e5c6182a19df6dbd...@db6pr0602mb3286.eurprd06.prod.outlook.com> > > Content-Type: text/plain; charset="iso-8859-1" > > Hi, > > I am trying to use aurora enabled XA firmware, I have generated the > bitstream using the latest FPGA git and downloaded it to my usrp X310. I have > another device to receive aurora packets, I have put ILA probes to check any > frame reception at aurora link. At the moment i am using > txrx_loopback_to_file example to configure both channels as tx/rx > respectively, Still i see no activity on ILA at all. Is there any example to > use Aurora link? any clues would be much appreciated. > > > Kind Regards > > > Nauman > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20170904/2ffb969b/attachment-0001.html> > > ------------------------------ > > Message: 5 > Date: Mon, 4 Sep 2017 15:44:02 +0200 > From: "Ralph A. Schmid, dk5ras" <ra...@schmid.xxx> > To: "'Nate Temple'" <nate.tem...@ettus.com>, "'David'" > <david.zod.mil...@gmail.com>, <usrp-users@lists.ettus.com> > Subject: Re: [USRP-users] B200mini & XU4 problem > Message-ID: <02ee01d32583$de5e93c0$9b1bbb40$@schmid.xxx> > Content-Type: text/plain; charset="us-ascii" > > In such cases I tend to hard-wire the 5V pin of the USB connector, and the > issues usually are gone - when the external power supply is strong enough. > The USB port may originally be connected to the internal power distribution > of the PCB and cause hick-ups from high power drain... > > Ralph. > >> -----Original Message----- >> From: USRP-users [mailto:usrp-users-boun...@lists.ettus.com] On Behalf Of >> Nate Temple via USRP-users >> Sent: Saturday, September 2, 2017 11:03 PM >> To: David >> Cc: USRP-users@lists.ettus.com >> Subject: Re: [USRP-users] B200mini & XU4 problem >> >> Hi Dave, >> >> This is certainly an interesting issue. I suspect the core of the issue > may be >> power draw on the USB interface during boot. One of the common issues with >> the XU4 that I've seen reported is that the USB3 ports do not provide USB3 > spec >> power levels. >> >> Using a powered USB3 hub may resolve the issue. >> >> Another option would be a Y power cable such as this >> http://www.ebay.com/itm/262045046196 which would allow you to use an >> external power adapter to feed power to the USRP. >> >> Another test you could try -- Try using the USB2 on the XU4. Does it > result in the >> same boot up problems? >> >> I have a early rev 0.1 20151201 XU4 that I often use paired with a > B205mini >> and have not seen any issue such as this. >> >> Regards, >> Nate Temple >> >> >> >> >>> On Sep 2, 2017, at 1:44 AM, David via USRP-users <usrp- >> us...@lists.ettus.com> wrote: >>> >>> Hi All, >>> >>> I'm trying to get XU4 and B200mini to work together, but having a > serious >> issue: the SD card gets trashed! >>> >>> I'm using Ubuntu 16.04 image from the Odroid site, kernel 4.9.28-38, and >> latest GIT clone of UHD (as of two weeks ago). Two uSD cards I had are now >> totally trashed. I'm on my last card. They seem to get totally trashed > after I run >> uhd-fft a few times. >>> >>> The main symptom is that if the B200mini is connected and I reboot, an > fsck >> is done every time, and also has the effect of continually rebooting, and >> continually corrupting the card. >>> >>> Unplug the B200mini and all is fine (after a couple of fscks). I managed > to >> work out that if I remove the udev rule that starts up UHD > (uhd-usrp.rules) I am >> also able to reboot with no issues. So a driver issue? >>> >>> Without the udev rule I get the following, which I'm assuming is > normal?: >>> >>> [ 24.555119] usb 3-1.1: device descriptor read/64, error -110 >>> [ 29.995114] usb 3-1.1: device descriptor read/64, error -110 >>> [ 45.675119] usb 3-1.1: device descriptor read/64, error -110 >>> [ 56.685085] usb 3-1.1: device not accepting address 5, error -62 >>> [ 67.565082] usb 3-1.1: device not accepting address 6, error -62 >>> [ 67.569976] usb 3-1-port1: unable to enumerate USB device >>> >>> Hope you can help, thanks, >>> >>> Dave. >>> >>> >>> _______________________________________________ >>> USRP-users mailing list >>> USRP-users@lists.ettus.com >>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >> >> >> _______________________________________________ >> USRP-users mailing list >> USRP-users@lists.ettus.com >> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > > > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > > > ------------------------------ > > End of USRP-users Digest, Vol 85, Issue 4 > ***************************************** _______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com