Please do not post questions in the shout-box as it will be lost in a few days. Open your own topic in the appropriate section. Thank you.

Transfer failed: PollTimeout

Started by yo3ggx, Apr 20, 2025, 09:26 AM

Previous topic - Next topic

yo3ggx

I have a Phantom SDR+ installation working perfectly for a couple of days. Then started to crash with the waterfall showing the same line continuously. Restarting the app solve the issue, but after a few minutes starts to do it again. I let the app off for a week, then when trying again to start it, I get the error:

Transfer failed: PollTimeout
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
and only spectrumserver starts.

Hw configuration: i5 1500T, 32GB RAM, 1TB SSD
OS: Ubuntu Linux 22.04
RX888 MKII.
lsusb shows:
Bus 002 Device 004: ID 04b4:00f1 Cypress Semiconductor Corp. RX888mk2

Any hints on how to solve the issue?

Thank you.


Bas ON5HB

Any weird dmesg messages?
Does the stream-driver init the device properly?

How does your toml configured?

Does OpenCL work?

Is the RX888MK2 thermal modified? Else it will die of overheating.

We need a bit more info Dan.

Best regards,

Bas ON5HB

Ps. the Community Edition can be found here: https://github.com/ny4qphil/PhantomSDR-Plus

yo3ggx

This is from dmesg after ./start-rx888mk2.sh

[158392.272846] usb 2-3.1: USB disconnect, device number 6
[158392.544380] usb 1-6.1: new high-speed USB device number 15 using xhci_hcd
[158392.634704] usb 1-6.1: New USB device found, idVendor=04b4, idProduct=00f3, bcdDevice= 1.00
[158392.634712] usb 1-6.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[158392.634715] usb 1-6.1: Product: WestBridge
[158392.634717] usb 1-6.1: Manufacturer: Cypress
[158392.634719] usb 1-6.1: SerialNumber: 0000000004BE
[158392.877594] usb 1-6.1: USB disconnect, device number 15
[158393.032445] usb 2-3.1: new SuperSpeed USB device number 7 using xhci_hcd
[158393.045158] usb 2-3.1: New USB device found, idVendor=04b4, idProduct=00f1, bcdDevice= 0.00
[158393.045162] usb 2-3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[158393.045163] usb 2-3.1: Product: RX888mk2
[158393.045164] usb 2-3.1: Manufacturer: sdr prototypes
[158393.045165] usb 2-3.1: SerialNumber: 0009061C02991024
I'm using opencl, but same message if off.
As stated in my message, everything was working flawlessly for a few days with the same configuration.
The device is not modified, but checked before first run to have the heat transfer pad.

Thank you.

Bas ON5HB

#3
I still seems to switch van USB2 to USB3, that is a good sign.

What do you mean it's not modified? The thermal pad and heatsink ARE the modifications, as the unmodified doesn't have those and dies after a few days.

Then it doesn't switch anymore and stays in USB2 mode or not seen at all.

As for OpenCL, it must be compiled in else it doesn't work. If it's not working or installed during compilation, it will not be compiled in and not used.

You can check if it works with intel_gpu_top

How do you start the websdr? Do you use the fifo-way or straight piping?
Best regards,

Bas ON5HB

Ps. the Community Edition can be found here: https://github.com/ny4qphil/PhantomSDR-Plus

yo3ggx

Thermal pad was there from the beginning.
Compiled with opencl support (opencl installed, including for fft). Was working perfectly with opencl activated.

I try to start it as in the original script (pipe)or fifo-way, same result.

It may be the result of a Linux kernel upgrade, performed during the week, when I didn't try to start PhantomSDR+. Is installed in a remote location. I waited until I got there before trying again. Now I try to connect it to another USB port, or through a powered USB3 hub, with the same result. WebSDR is running on the same server with 7 receivers (5xRSP1a and 2xRTLSDR) without any issue during the same period. If I stop WebSDR server, still the same error occurs. Spectrumserver is running (does not crash), so the web frontend is working.
Currently I'm running Ubuntu 22.04, kernel 6.8.0-57-generic.

yo3ggx

After the crash, with Spectrumserver running, I get:
intel-gpu-top: Intel Rocketlake (Gen12) @ /dev/dri/card1 - 1101/1198 MHz;  10% RC6;      724 irqs/s

      IMC reads:    16196 MiB/s
     IMC writes:     8848 MiB/s

         ENGINES     BUSY                                                                                                         MI_SEMA MI_WAIT
       Render/3D   87.85% |████████████████████████████████████████████████████████████████████████████████████████▊            |      0%      0%
         Blitter    0.00% |                                                                                                     |      0%      0%
           Video    0.00% |                                                                                                     |      0%      0%
    VideoEnhance    0.00% |                                                 

yo3ggx

Error in main.rs occur in line 388:52
     while !terminate.load(std::sync::atomic::Ordering::Relaxed) {
388         let mut data = transfer_pool.poll(timeout).expect("Transfer failed");
389         if args.randomize {
390             let data_u16: &mut [u16] = cast_slice_mut(&mut data);
391             for i in 0..data_u16.len() {
392                 data_u16[i] ^= 0xFFFE * (data_u16[i] & 0x1);
393             }
394         }
395         let _ = output_file.iter_mut().for_each(|file| {
396             let _ = file.write_all(&data);
397         });
398         if args.measure || output_file.is_none() {
399             measurement.add_packet(data.len() / 2);
400             measurement.maybe_display(Duration::from_secs(1));
401         }
402         transfer_pool
403             .submit_bulk(0x81, data)
404             .expect("Failed to resubmit transfer");
405     }
406

Bas ON5HB

Ok OPenCL is running and working.

What happens if you run on the normal stable kernel and not the latest?

Mine uses: Linux Websdr 5.15.0-135-generic

Can you attach the TOML? As polling error can also occur when fft-binsize is too small.

Mine it this one:

[server]
port=80 # Server port
html_root="frontend/dist/" # HTML files to be hosted
otherusers=1 # Send where other users are listening, 0 to disable
threads=2

[websdr]
register_online=true # If the SDR should be registered on https://sdr-list.xyz then put it to true
name="Heppen Wideband Websdr" # Name that is shown on https://sdr-list.xyz
antenna="54m Longwire" # Antenna that is shown on https://sdr-list.xyz
grid_locator="JO21oc" # 4 or 6 length Grid Locatlr shown on https://sdr-list.xyz and for the Distance of FT8 Signals
hostname="http://websdr.heppen.be" # If you use ddns or something to host with a domain enter it here for https://sdr-list.xyz

[limits]
audio=100
waterfall=100
events=100

[input]
sps=60000000 # Input Sample Rate
fft_size=8388608
#fft_size=16777216
fft_threads=2
brightness_offset=0 # Waterfall brightness offset. Reduce to negative if you see black regions in the waterfall
frequency=0 # Baseband frequency
signal="real" # real or iq
accelerator="opencl" # Accelerator: none, cuda, opencl, mkl
audio_sps=12000 # Audio Sample Rate
audio_compression="flac" # flac or opus
waterfall_size=2048
waterfall_compression="zstd" # zstd or av1
smeter_offset=4

[input.driver]
name="stdin" # Driver name
format="s16" # Sample format: u8, s8, u16, s16, u32, s32, f32, f64

[input.defaults]
frequency=3645000 # Default frequency to show user
modulation="LSB" # Default modulation

That is for 30MHz wide. Wrong format maybe? As the stream is s16, not u16.
Best regards,

Bas ON5HB

Ps. the Community Edition can be found here: https://github.com/ny4qphil/PhantomSDR-Plus

yo3ggx

Except personalization stuff, I have the same config as you.
I even try to run again install on a clean clone of the repository, but nothing changed. I will try to install an older kernel version to see if the issue disappear.

Bas ON5HB

Beware with the Fifo way....if the receiver.fifo isn't build with 'mkfifo receiver.fifo' it's not a fifo and it writes to disk.
As such the 'file' grows into TB's until your disk is filled.

When it's working as fifo, it's not growing, it's only a marker on the disk....but not actually storing samples/data.
Best regards,

Bas ON5HB

Ps. the Community Edition can be found here: https://github.com/ny4qphil/PhantomSDR-Plus

yo3ggx

Is created with mkfifo, like recommended on this forum. Anyway, the error is the same when using pipe and is in rx888_stream, even if I run it with /dev/null

Bas ON5HB

Does dmesg say anything when the poll-error starts?

Also, have you stopped all other USB traffic to see if that helps?

I'm trying to help you here Dan, but it's hard.

Also, is your Stream-driver the latest? As there where some fixes, where output to STDOUT has been altered.

Show more info, as I can not see what you do...
Best regards,

Bas ON5HB

Ps. the Community Edition can be found here: https://github.com/ny4qphil/PhantomSDR-Plus

yo3ggx

dmesg result is in my first post from today, there is nothing wrong from what I see.

Regarding if my Stream-driver the latest, rx888_stream is version 0.1.0.
You are talking about something else?


Bas ON5HB

Update last month:

https://github.com/rhgndf/rx888_stream/commit/b699542b8b8d31c64872bf1512c124537ae551f1

But did you run without the other stuff?

It helps if you answer questions.
Best regards,

Bas ON5HB

Ps. the Community Edition can be found here: https://github.com/ny4qphil/PhantomSDR-Plus

yo3ggx

Installed kernel  5.15.0-97-generic.
Redownload from git
run install.sh without any errors
Restore config toml and start script

Now is even worst, I get more errors when running start script:

thread 'main' panicked at src/main.rs:222:10:
Could not find or open bootloader
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

thread 'main' panicked at src/main.rs:211:22:
Could not reset FX3 to bootloader mode: Io


dmesg
1350.313572] usb 1-6.1: new high-speed USB device number 14 using xhci_hcd
[ 1350.414469] usb 1-6.1: New USB device found, idVendor=04b4, idProduct=00f3, bcdDevice= 1.00
[ 1350.414472] usb 1-6.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1350.414473] usb 1-6.1: Product: WestBridge
[ 1350.414475] usb 1-6.1: Manufacturer: Cypress
[ 1350.414476] usb 1-6.1: SerialNumber: 0000000004BE
[ 1355.157706] usb 2-3.1: Disable of device-initiated U1 failed.
[ 1355.171735] usb 2-3.1: Disable of device-initiated U2 failed.
[ 1355.869207] usb 2-3.1: USB disconnect, device number 4
[

lsusb
Bus 001 Device 014: ID 04b4:00f3 Cypress Semiconductor Corp. FX3 micro-controller (DFU mode)

Powered by EzPortal