USB buffer overflow in mir_sdr_SetDeviceIDx routine
Posted: Wed Jun 21, 2017 5:01 pm
Hello,
I am receiving the following error/output after calling mir_sdr_SetDeviceIdx(device) where device is an int set to 0.
mir_sdr_usb_SetDeviceIdx idx=0 numDevices=1
Opened device with idVendor = 0x1df7 idProduct = 0x3010 fwVersion = 0x0207 busNum = 009 portNum = 003
mir_sdr_Init: starting hardware initialization
mir_sdr_Init: gR=60dB fs=2.000MHz rf=98.800MHz bw=1.536MHz if=0.000MHz
DownConvert: Enable=0 DecM=1 OutScale=0 (fs=2.000000 bw=1536 if=0)
mir_sdr_usb_USB DLL: Revision 0.1.1
mir_sdr_2500_Init: fnaddr = 1
mir_sdr_2500_Init: adjusting squelch trim 0x1, rx gating enable 1, tx_trim 0, reg2 = 0x4801
initHw: Register7 = 0x000014
initRfFreqDependentHw(1): Tuner Register0 = 0x04f420
mir_sdr_GpioExtWrite: Addr=0 Data=0x00
mir_sdr_GpioExtWrite: Addr=1 Data=0x00
mir_sdr_GpioExtWrite: Addr=18 Data=0x5d
mir_sdr_GpioExtWrite: Addr=19 Data=0xa5
initRfFreqDependentHw(1): ExtGpioA = 0x5d ExtGpioB = 0xa5
mir_sdr_SetFs: Sample Freq requested 2000000.000000
mir_sdr_SetFs: Fs->FsNomHz+dFsHz=2000000.0+0.0Hz=2000000.0Hz FsToggle->1
mir_sdr_SetRf: f->98800000.000Hz (int=20 frac=af0 afc=0) fSynth:3161600000.000
mir_sdr_SetRf: Rf->RfNomHz+dRfHz+LifHz+Lif1Hz=98800000.0+0.0+0.0Hz+0.0Hz=98800000.0Hz RfToggle->1
mir_sdr_SetGr: GR->60[36,24,0,0] gRset->0x224 DCCALmode=3 DCCALspd=0 GrToggle->1
setToggleStates: initialising sampNum=0x00017a02, gainSetting=0x224, FsToggle=1, RfToggle=1, GrToggle=0
setToggleStates: initialising Fs=2000000.000, Rf=98800000.000, Gr=60
Error: USB buffer overflow
At this point the code hangs, and I force it to exit.
I know this is occurring in the SetDeviceIdx call because I have outputs to the terminal immediately before and after, but the second output is never written to the terminal. This was occurring in code I had written, but I had the same issue running the example play_sdr.c file. I am running this on CentOS 7. Is there a particular USB library that I need to interface with the API?
I am receiving the following error/output after calling mir_sdr_SetDeviceIdx(device) where device is an int set to 0.
mir_sdr_usb_SetDeviceIdx idx=0 numDevices=1
Opened device with idVendor = 0x1df7 idProduct = 0x3010 fwVersion = 0x0207 busNum = 009 portNum = 003
mir_sdr_Init: starting hardware initialization
mir_sdr_Init: gR=60dB fs=2.000MHz rf=98.800MHz bw=1.536MHz if=0.000MHz
DownConvert: Enable=0 DecM=1 OutScale=0 (fs=2.000000 bw=1536 if=0)
mir_sdr_usb_USB DLL: Revision 0.1.1
mir_sdr_2500_Init: fnaddr = 1
mir_sdr_2500_Init: adjusting squelch trim 0x1, rx gating enable 1, tx_trim 0, reg2 = 0x4801
initHw: Register7 = 0x000014
initRfFreqDependentHw(1): Tuner Register0 = 0x04f420
mir_sdr_GpioExtWrite: Addr=0 Data=0x00
mir_sdr_GpioExtWrite: Addr=1 Data=0x00
mir_sdr_GpioExtWrite: Addr=18 Data=0x5d
mir_sdr_GpioExtWrite: Addr=19 Data=0xa5
initRfFreqDependentHw(1): ExtGpioA = 0x5d ExtGpioB = 0xa5
mir_sdr_SetFs: Sample Freq requested 2000000.000000
mir_sdr_SetFs: Fs->FsNomHz+dFsHz=2000000.0+0.0Hz=2000000.0Hz FsToggle->1
mir_sdr_SetRf: f->98800000.000Hz (int=20 frac=af0 afc=0) fSynth:3161600000.000
mir_sdr_SetRf: Rf->RfNomHz+dRfHz+LifHz+Lif1Hz=98800000.0+0.0+0.0Hz+0.0Hz=98800000.0Hz RfToggle->1
mir_sdr_SetGr: GR->60[36,24,0,0] gRset->0x224 DCCALmode=3 DCCALspd=0 GrToggle->1
setToggleStates: initialising sampNum=0x00017a02, gainSetting=0x224, FsToggle=1, RfToggle=1, GrToggle=0
setToggleStates: initialising Fs=2000000.000, Rf=98800000.000, Gr=60
Error: USB buffer overflow
At this point the code hangs, and I force it to exit.
I know this is occurring in the SetDeviceIdx call because I have outputs to the terminal immediately before and after, but the second output is never written to the terminal. This was occurring in code I had written, but I had the same issue running the example play_sdr.c file. I am running this on CentOS 7. Is there a particular USB library that I need to interface with the API?