Persistant timeouts after using API

Having issues with the site, hardware, source code, or any other issues?
Post Reply
roger
Posts: 3
Joined: Fri Jul 17, 2015 2:29 pm

Persistant timeouts after using API

Post by roger »

Moving this here from GibHub per request: https://github.com/Nuand/bladeRF/issues/406

Requested debug info:

Code: Select all


[VERBOSE @ libusb.c:515] Using libusb version: 1.0.19.10905
[VERBOSE @ libusb.c:406] Found a bladeRF (idx=7)
[DEBUG @ libusb.c:131] Couldn't populate devinfo - LIBUSB_ERROR_NOT_SUPPORTED
[DEBUG @ libusb.c:412] Could not open bladeRF device: LIBUSB_ERROR_NOT_SUPPORTED
[DEBUG @ libusb.c:524] No devices available on the libusb backend.
[VERBOSE @ cyapi.c:183] Added instance 0 to device list
[VERBOSE @ cyapi.c:112] Mutex name: Global\bladeRF-6c3a523f4d9b270c309fd275cbfbe4e0
[VERBOSE @ capabilities.c:41] Capability mask before FPGA load: 0x0000000300000000
[INFO @ usb.c:346] Waiting for device to become ready...
[VERBOSE @ usb.c:112] Changing to USB alt setting 0
[VERBOSE @ usb.c:112] Changing to USB alt setting 1
[VERBOSE @ usb.c:169] Read FPGA version: 0.3.3
[VERBOSE @ capabilities.c:72] Capability mask after FPGA load: 0x000000030000003f
[VERBOSE @ usb.c:180] Using current packet handler formats
[VERBOSE @ usb.c:112] Changing to USB alt setting 2
[VERBOSE @ usb.c:112] Changing to USB alt setting 1
[VERBOSE @ usb.c:112] Changing to USB alt setting 2
[VERBOSE @ usb.c:112] Changing to USB alt setting 1
[VERBOSE @ nios_access.c:666] nios_retune: module=RX timestamp=18446744073709551615 nint=
                                freqsel=0x00 vcocap=0x00 low_band=0 quick_tune=0
[VERBOSE @ nios_access.c:683] RX operation duration: 0
[VERBOSE @ nios_access.c:666] nios_retune: module=TX timestamp=18446744073709551615 nint=
                                freqsel=0x00 vcocap=0x00 low_band=0 quick_tune=0
[VERBOSE @ nios_access.c:683] TX operation duration: 0
[VERBOSE @ nios_access.c:298] nios_config_read: Read 0x00000000
[VERBOSE @ bladerf_priv.c:151] Default GPIO value found - initializing device
[VERBOSE @ nios_access.c:309] nios_config_write: Wrote 0x00000057
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x40 from addr 0x02
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x40 to addr 0x00
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x70 from addr 0x01
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x70 to addr 0x00
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x05 to addr 0x3e
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x47 to addr 0x40
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x59 to addr 0x29
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x64 to addr 0x36
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x79 to addr 0x37
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x3f from addr 0x00
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x3f to addr 0x80
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x5f from addr 0x1f
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x5f to addr 0x9f
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x6e from addr 0x00
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x6e to addr 0xc0
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x16 from addr 0x8c
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x16 to addr 0x8c
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x17 from addr 0xe0
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x17 to addr 0xe3
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x18 from addr 0x40
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x18 to addr 0x43
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x26 from addr 0x8c
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x26 to addr 0x8c
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x27 from addr 0xe0
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x27 to addr 0xe3
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x28 from addr 0x40
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x28 to addr 0x43
[VERBOSE @ si5338.c:477] Setting integer sample rate: 1000000
[VERBOSE @ si5338.c:364] Found r value of: 4
[VERBOSE @ si5338.c:374] MSx a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:403] MSx a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:202] MSx P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ si5338.c:332] Calculated samplerate: 1000000 + 0/1
[VERBOSE @ si5338.c:225] Writing MS2
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x26 from addr 0x00
[VERBOSE @ si5338.c:235] Wrote enable register: 0x03
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x26 to addr 0x03
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x4b to addr 0x66
[VERBOSE @ si5338.c:249] Wrote regs[0]: 0x66
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x4c to addr 0x9c
[VERBOSE @ si5338.c:249] Wrote regs[1]: 0x9c
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x4d to addr 0x08
[VERBOSE @ si5338.c:249] Wrote regs[2]: 0x08
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x4e to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[3]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x4f to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[4]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x50 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[5]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x51 to addr 0x05
[VERBOSE @ si5338.c:249] Wrote regs[6]: 0x05
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x52 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[7]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x53 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[8]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x54 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[9]: 0x00
[VERBOSE @ si5338.c:264] Wrote r register: 0xc8
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x21 to addr 0xc8
[VERBOSE @ si5338.c:494] Set actual integer sample rate: 1000000
[VERBOSE @ si5338.c:477] Setting integer sample rate: 1000000
[VERBOSE @ si5338.c:364] Found r value of: 4
[VERBOSE @ si5338.c:374] MSx a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:403] MSx a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:202] MSx P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ si5338.c:332] Calculated samplerate: 1000000 + 0/1
[VERBOSE @ si5338.c:225] Writing MS1
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x25 from addr 0x00
[VERBOSE @ si5338.c:235] Wrote enable register: 0x01
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x25 to addr 0x01
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x40 to addr 0x66
[VERBOSE @ si5338.c:249] Wrote regs[0]: 0x66
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x41 to addr 0x9c
[VERBOSE @ si5338.c:249] Wrote regs[1]: 0x9c
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x42 to addr 0x08
[VERBOSE @ si5338.c:249] Wrote regs[2]: 0x08
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x43 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[3]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x44 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[4]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x45 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[5]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x46 to addr 0x05
[VERBOSE @ si5338.c:249] Wrote regs[6]: 0x05
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x47 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[7]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x48 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[8]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x49 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[9]: 0x00
[VERBOSE @ si5338.c:264] Wrote r register: 0xc8
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x20 to addr 0xc8
[VERBOSE @ si5338.c:494] Set actual integer sample rate: 1000000
[DEBUG @ tuning.c:82] Default tuning mode: FPGA
[VERBOSE @ lms.c:355] VCOCAP estimate: 25
[VERBOSE @ lms.c:1675] ---- Frequency ----
[VERBOSE @ lms.c:1676]   x        : 4
[VERBOSE @ lms.c:1677]   nint     : 104
[VERBOSE @ lms.c:1678]   nfrac    : 1398101
[VERBOSE @ lms.c:1679]   freqsel  : 0x25
[VERBOSE @ lms.c:1680]   reference: 38400000
[VERBOSE @ lms.c:1681]   freq     : 1000000000
[VERBOSE @ nios_access.c:666] nios_retune: module=TX timestamp=0 nint=104 nfrac=1398101
                                freqsel=0x25 vcocap=0x19 low_band=1 quick_tune=0
[VERBOSE @ nios_access.c:680] TX retune operation: vcocap=26, duration=0
[VERBOSE @ lms.c:355] VCOCAP estimate: 25
[VERBOSE @ lms.c:1675] ---- Frequency ----
[VERBOSE @ lms.c:1676]   x        : 4
[VERBOSE @ lms.c:1677]   nint     : 104
[VERBOSE @ lms.c:1678]   nfrac    : 1398101
[VERBOSE @ lms.c:1679]   freqsel  : 0x25
[VERBOSE @ lms.c:1680]   reference: 38400000
[VERBOSE @ lms.c:1681]   freq     : 1000000000
[VERBOSE @ nios_access.c:666] nios_retune: module=RX timestamp=0 nint=104 nfrac=1398101
                                freqsel=0x25 vcocap=0x19 low_band=1 quick_tune=0
[VERBOSE @ nios_access.c:680] RX retune operation: vcocap=26, duration=0
[VERBOSE @ nios_access.c:438] nios_vctcxo_trim_dac_write: Wrote 0x92e2
[VERBOSE @ nios_access.c:298] nios_config_read: Read 0x00000057
bladeRF>

Code: Select all


bladeRF> print samplerate
[VERBOSE @ si5338.c:280] Reading MS1
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x25 from addr 0x01
[VERBOSE @ si5338.c:289] Read enable register: 0x01
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x40 from addr 0x66
[VERBOSE @ si5338.c:298] Read regs[0]: 0x66
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x41 from addr 0x9c
[VERBOSE @ si5338.c:298] Read regs[1]: 0x9c
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x42 from addr 0x08
[VERBOSE @ si5338.c:298] Read regs[2]: 0x08
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x43 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[3]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x44 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[4]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x45 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[5]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x46 from addr 0x05
[VERBOSE @ si5338.c:298] Read regs[6]: 0x05
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x47 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[7]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x48 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[8]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x49 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[9]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x20 from addr 0xc8
[VERBOSE @ si5338.c:308] Read r register: 0xc8
[VERBOSE @ si5338.c:147] Unpacked P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ si5338.c:165] Unpacked a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:166] Unpacked r: 4
[VERBOSE @ si5338.c:332] Calculated samplerate: 1000000 + 0/1
[VERBOSE @ si5338.c:280] Reading MS2
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x26 from addr 0x03
[VERBOSE @ si5338.c:289] Read enable register: 0x03
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x4b from addr 0x66
[VERBOSE @ si5338.c:298] Read regs[0]: 0x66
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x4c from addr 0x9c
[VERBOSE @ si5338.c:298] Read regs[1]: 0x9c
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x4d from addr 0x08
[VERBOSE @ si5338.c:298] Read regs[2]: 0x08
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x4e from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[3]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x4f from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[4]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x50 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[5]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x51 from addr 0x05
[VERBOSE @ si5338.c:298] Read regs[6]: 0x05
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x52 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[7]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x53 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[8]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x54 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[9]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x21 from addr 0xc8
[VERBOSE @ si5338.c:308] Read r register: 0xc8
[VERBOSE @ si5338.c:147] Unpacked P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ si5338.c:165] Unpacked a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:166] Unpacked r: 4
[VERBOSE @ si5338.c:332] Calculated samplerate: 1000000 + 0/1

  RX sample rate: 1000000 0/1
  TX sample rate: 1000000 0/1

bladeRF>


Code: Select all


bladeRF> print frequency
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x20 from addr 0x34
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x21 from addr 0x15
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x22 from addr 0x55
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x23 from addr 0x55
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x25 from addr 0x95
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x29 from addr 0x9a
[VERBOSE @ nios_access.c:298] nios_config_read: Read 0x00000057

  RX Frequency: 1000000000Hz
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x10 from addr 0x34
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x11 from addr 0x15
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x12 from addr 0x55
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x13 from addr 0x55
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x15 from addr 0x95
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x19 from addr 0x9a
[VERBOSE @ nios_access.c:298] nios_config_read: Read 0x00000057
  TX Frequency: 1000000000Hz

bladeRF>

Code: Select all



bladeRF> set samplerate 2M

[VERBOSE @ si5338.c:364] Found r value of: 2
[VERBOSE @ si5338.c:374] MSx a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:403] MSx a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:202] MSx P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ si5338.c:332] Calculated samplerate: 2000000 + 0/1
[VERBOSE @ si5338.c:225] Writing MS1
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x25 from addr 0x01
[VERBOSE @ si5338.c:235] Wrote enable register: 0x01
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x25 to addr 0x01
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x40 to addr 0x66
[VERBOSE @ si5338.c:249] Wrote regs[0]: 0x66
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x41 to addr 0x9c
[VERBOSE @ si5338.c:249] Wrote regs[1]: 0x9c
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x42 to addr 0x08
[VERBOSE @ si5338.c:249] Wrote regs[2]: 0x08
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x43 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[3]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x44 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[4]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x45 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[5]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x46 to addr 0x05
[VERBOSE @ si5338.c:249] Wrote regs[6]: 0x05
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x47 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[7]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x48 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[8]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x49 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[9]: 0x00
[VERBOSE @ si5338.c:264] Wrote r register: 0xc4
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x20 to addr 0xc4
  Setting RX sample rate - req:   2000000 0/1Hz, actual:   2000000 0/1Hz
[VERBOSE @ si5338.c:364] Found r value of: 2
[VERBOSE @ si5338.c:374] MSx a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:403] MSx a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:202] MSx P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ si5338.c:332] Calculated samplerate: 2000000 + 0/1
[VERBOSE @ si5338.c:225] Writing MS2
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x26 from addr 0x03
[VERBOSE @ si5338.c:235] Wrote enable register: 0x03
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x26 to addr 0x03
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x4b to addr 0x66
[VERBOSE @ si5338.c:249] Wrote regs[0]: 0x66
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x4c to addr 0x9c
[VERBOSE @ si5338.c:249] Wrote regs[1]: 0x9c
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x4d to addr 0x08
[VERBOSE @ si5338.c:249] Wrote regs[2]: 0x08
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x4e to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[3]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x4f to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[4]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x50 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[5]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x51 to addr 0x05
[VERBOSE @ si5338.c:249] Wrote regs[6]: 0x05
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x52 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[7]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x53 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[8]: 0x00
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x54 to addr 0x00
[VERBOSE @ si5338.c:249] Wrote regs[9]: 0x00
[VERBOSE @ si5338.c:264] Wrote r register: 0xc4
[VERBOSE @ nios_access.c:397] nios_si5338_write: Wrote 0x21 to addr 0xc4
  Setting TX sample rate - req:   2000000 0/1Hz, actual:   2000000 0/1Hz

bladeRF>

Code: Select all

bladeRF> rx config file=test.bin n=2M
bladeRF> rx start; rx; rx wait 5s;
[VERBOSE @ si5338.c:280] Reading MS1
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x25 from addr 0x01
[VERBOSE @ si5338.c:289] Read enable register: 0x01
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x40 from addr 0x66
[VERBOSE @ si5338.c:298] Read regs[0]: 0x66
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x41 from addr 0x9c
[VERBOSE @ si5338.c:298] Read regs[1]: 0x9c
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x42 from addr 0x08
[VERBOSE @ si5338.c:298] Read regs[2]: 0x08
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x43 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[3]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x44 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[4]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x45 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[5]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x46 from addr 0x05
[VERBOSE @ si5338.c:298] Read regs[6]: 0x05
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x47 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[7]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x48 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[8]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x49 from addr 0x00
[VERBOSE @ si5338.c:298] Read regs[9]: 0x00
[VERBOSE @ nios_access.c:385] nios_si5338_read: Read 0x20 from addr 0xc4
[VERBOSE @ si5338.c:308] Read r register: 0xc4
[VERBOSE @ si5338.c:147] Unpacked P1: 0x00009c66 (40038) P2: 0x00000002 (2) P3: 0x00000005 (5)
[VERBOSE @ si5338.c:165] Unpacked a + b/c: 316 + 4/5
[VERBOSE @ si5338.c:166] Unpacked r: 2
[VERBOSE @ si5338.c:332] Calculated samplerate: 2000000 + 0/1
[VERBOSE @ nios_access.c:298] nios_config_read: Read 0x00000057
[VERBOSE @ nios_access.c:309] nios_config_write: Wrote 0x00000057
[DEBUG @ bladerf.c:345] Enable Module: RX - True
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x70 from addr 0x00
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x70 to addr 0x01

  State: Running
[DEBUG @ sync.c:315] sync_rx: Worker is idle. Going to reset buf mgmt.
  Last error: None
[DEBUG @ sync.c:335] sync_rx: Reset buf_mgmt consumer index
  File: test.bin
[DEBUG @ sync.c:350] sync_rx: Worker is now running.
  File format: SC16 Q11, Binary
  # Samples: 2097152
  # Buffers: 32
  # Samples per buffer: 32768
  # Transfers: 16
  Timeout (ms): 1000

[DEBUG @ bladerf.c:345] Enable Module: RX - False
[DEBUG @ cyapi.c:647] Steam timed out.
[VERBOSE @ nios_access.c:409] nios_lms6_read: Read 0x70 from addr 0x01
[VERBOSE @ nios_access.c:421] nios_lms6_write: Wrote 0x70 to addr 0x00
bladeRF>

jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: Persistant timeouts after using API

Post by jynik »

Hi roger,

Thanks for moving this here and posting the logs.

Looking at everything other than the sample streaming that times out, I see nothing in the register accesses that jumps out as being suspicious or invalid.

If I understand correctly, you're concerned that the hardware is damaged, and the last thing you were doing were doing was writing some code with libbladeRF. Is that correct?

While I'd expect that setting the samplerate higher than the recommended max sample rate would yield invalid samples (when sampling via the LMS6002D), I would not expect this to have damaged the device. For the sake of confirming this, I did likewise on a board here and have been running it for a while without seeing this behavior.

Could you try to answer a few of the following just to see if we can rule anything out?

(1) You already noted trying a couple different USB ports. Could you confirm both USB 2.0 and 3.0 ports, if available?
(2) If you are able to test the board on another host machine, could you do that? (Rule out host-specific problems and test if problem follows the hardware.)
(3) I see you are using the Cypress driver backend. Could you try re-installing with the libusb backend and re-running the test. (Looking to check if the issue is driver-related).
(4) If you're willing to try booting the GNU Radio Live Image, we can have you run the same test there. (Further try to rule out OS-specific issues).

You mentioned working with the API when the device stopped working. Are you able to share the code you were working on? Were there any other failures you were seeing prior to this?

Based upon what other information you can dig up, we can figure out where to go next.

Best regards,
Jon
roger
Posts: 3
Joined: Fri Jul 17, 2015 2:29 pm

Re: Persistant timeouts after using API

Post by roger »

Hi Jon,

My concern is just that it no longer works :)

I just updated libbladeRF and switched to the libUSB driver. The CLI test doesn't seem to complain about a timeout anymore, but the output file is still empty.

My application is also still giving a timeout. BTW I noticed bladerf_get_device_list() no longer works if the device is already open, which it did before, so something has changed in this version.

-Roger
jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: Persistant timeouts after using API

Post by jynik »

Hi Roger,


roger wrote: I just updated libbladeRF and switched to the libUSB driver. The CLI test doesn't seem to complain about a timeout anymore, but the output file is still empty.
Updating libbladeRF was a good idea - we usually recommended running the latest and greatest libbladeRF, FX3 firmware, and FPGA bitstream when encountering issues, in cause you hit a known issue with a fix.

The empty file is a bit weird. If you remove the "rx wait 5s;" does it seem like it's just hanging? If you build libbladeRF from source and run CMake with -DENABLE_LIBBLADERF_SYNC_LOG_VERBOSE=ON, that will compile in extra verbose output about buffers being received and used. We could potentially have you try that and share a log.
roger wrote: BTW I noticed bladerf_get_device_list() no longer works if the device is already open, which it did before, so something has changed in this version.
This is an expected side effect of how we are able to walk the devices using the underlying driver; I do not believe it is related to your timeout issue. It would be ideal if both backends behaved the exact same way in this regard, and I can understand that this is a little confusing. This might be a good task to put up on the issue tracker as an Enhancement request.

Let's chat some more after you can explore some of the items I mentioned. I'd definitely suggest trying to go run the GNU Radio Live Image on another machine. If the problem follows the board, perhaps we can take a look and do some additional diagnostics here.

Best Regards,
Jon
roger
Posts: 3
Joined: Fri Jul 17, 2015 2:29 pm

Re: Persistant timeouts after using API

Post by roger »

The empty file is a bit weird. If you remove the "rx wait 5s;" does it seem like it's just hanging?
Nope, seems to run the same and I still get the empty file.
If you build libbladeRF from source
Unfortunately I don't have a compiler on this machine.

I am going to try installing everything on a different computer and see if that helps though.
Post Reply