Hi!
On Wed, Dec 27, 2017 at 07:00:44AM +0100, Sylvain Munaut wrote:
osmo-trx needs devices that support hardware timestamping of packets (TX/RX).
The URSP1 UHD driver doesn't support that. All the timestamps are 'faked' in software. That's because the FPGA image for USRP1 doesn't support hardware timestamps.
OpenBTS used a custom FPGA image where hardware timestamping support was added and they used libusrp (and not UHD) because it was a lower layer API and that let them access the raw content of the data packets sent by the USRP. That's needed because with that new FPGA image, the content of those packets is no longer just samples, but it now has a header with the timestamps and some flags that needs to be intepreted to generate the timestamping and removed before converting the samples.
A long time ago I wanted to implement support for that FPGA image into UHD ... and then when I looked into UHD work, I gave up ... (basically I could never figure out _HOW_ UHD works).
Thanks for the great explanation! So, in theory it would be possible to make osmo-trx work with a USRP1 via UHD, though nobody has done (yet) what you described above.
Kind regards, -Alex