DW1000 linux driver


We are currently trying to integrate the DW1000 module to one of our product with linux running on it.

Among multiple drivers, the one from Mr. Xue ( https://github.com/xueliu/dw1000-linux ) works but still has stabilities issues.
We also tried the UniPartDigital ( https://github.com/unipartdigital/dw1000) without success.

Does anyone has a worked with a linux driver with stable comportment ?

Thank you

[font=Arial][size=medium][color=#000000]Is it a dwm1000 you’d like to connect and what kind of stability issues would you see? Send/Receive , SPI or other?[/color][/size][/font]
[font=Arial][size=medium][color=#000000]As Linux system is running slower, you need to make sure the new timings are properly tailored to ensure the tag and anchor have RX on when the other is transmitting and also are not timing out too soon… [/color][/size][/font]

[font=Arial][size=medium][color=#000000]You could check TX/RX states on DW GPIOs 5&6 and SPI comms also (as per Debugging App note APS022).[/color][/size][/font]
[font=Arial][size=medium][color=#000000]Antenna delay may also need to be altered. The default antenna delay we generally use is 515.462 ns (see pc Decaranging user manual) [/color][color=#000000]is a good starting point.[/color][/size][/font]
[font=Arial][size=medium][color=#000000]To tune the antenna delay to the correct value is a process of trial and error, tweaking the antenna delay until the average distance reported matches the real antenna-to-antenna distance measured with a tape measure.[/color][/size][/font]

[size=medium][size=medium][size=medium][font=Arial][size=medium][color=#000000] [/color][color=#000000]I also suggest you start with the basics eg by porting the RX / TX examples to LINUX , and take it from there.[/color]


I may have poorly explained my problem :

The DW100 module works fine in emission and reception when using your API directly (with the read/write spi function).
My goal is to integrate is to better integrate it to the embedded linux so it can use UNIX tools with it (tcpdump, raw sockets, ifconfig, …).

To do so, it needs to be connected to the 802.15.4 layer on linux with a driver.
This driver, of course, needs to use your api (and the read/write spi functions), but in addition has to create a network interface.

Either I can create my own driver from your api, and connect it to the 802.15.4 layer, which is time consuming, or use an already made driver.

Among the most promising drivers, according to people using them, are :

https://github.com/xueliu/dw1000-linux : it works fine but freeze after a while when reading/sending at the same time.
https://github.com/unipartdigital/dw1000 : it works partially and can’t send frames (because of an error 22 with the spi).

Of course I’m not asking you to debug these, but maybe you know if people had success with other drivers, or maybe DecaWave has developed it’s own linux kernel driver ?

Nevertheless, you are definitely right about tuning the antenna delay which could improve the stability of the driver. I’ll make sure to do that as soon as the driver works.

Thank you and have a good day