# Cyphal Yakut vs. SLCAN Adapter on Windows

**URL:** <https://forum.opencyphal.org/t/cyphal-yakut-vs-slcan-adapter-on-windows/1715>\
**Category:** Applications & Usage\
**Created:** [July 18, 2022, 1:59pm UTC](https://forum.opencyphal.org/t/cyphal-yakut-vs-slcan-adapter-on-windows/1715 "2022-07-18T13:59:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tecnologic](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/tecnologic/32/373_2.png) [@Tecnologic](https://forum.opencyphal.org/u/Tecnologic)\
**Post date:** [July 18, 2022, 1:59pm UTC](https://forum.opencyphal.org/t/cyphal-yakut-vs-slcan-adapter-on-windows/1715/1 "2022-07-18T13:59:02Z")

</div>

Hi All,

i have a usb can device on my desk which runs a slcan firmware. In general the device works with a slcan compatibile monitor software. But to test my cyphal implemeatation i want to run yakut on my dev machine (Windows:::).

i tried the following code to setup yakut monitor

```auto
# .env file
UAVCAN __CAN__ IFACE='slcan:COM6'
UAVCAN __CAN__ MTU=8
UAVCAN __NODE__ ID=1
UAVCAN __CAN__ BITRATE=500000

```

```auto
# python code
import os;
from dotenv import load_dotenv
load_dotenv('.env')

os.system("yakut monitor")

```

The above gives the Error: InvalidMediaConfigurationError: Interface does not support CAN FD: slcan  
This error is mentioned in an other thread here as well and the suggestion was to use “socketcan:slcan” but how do is set the serial port for slcan?

Are there any opensource CAN-FD cappable usb-can adapters around?

Thanks

Alex

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [July 18, 2022, 2:07pm UTC](https://forum.opencyphal.org/t/cyphal-yakut-vs-slcan-adapter-on-windows/1715/2 "2022-07-18T14:07:46Z")

</div>

RTFM! 😁

The error says that the selected media does not support CAN FD. So you need to tell Yakut (actually PyCyphal) to use Classic CAN, not CAN FD.

The Yakut manual links the docs for [`pycyphal.application.make_transport()`](https://pycyphal.readthedocs.io/en/stable/api/pycyphal.application.html#pycyphal.application.make_transport). The docs say (highlighted):

 ![image](https://forum.opencyphal.org/uploads/default/original/2X/1/132e37638712e5e3fe41dda2779cd2109f7865f1.png)

Hence the solution is:

```sh
UAVCAN __CAN__ IFACE='slcan:COM6'
UAVCAN __CAN__ MTU=8
UAVCAN __NODE__ ID=1
UAVCAN __CAN__ BITRATE=500000 500000

```

This actually can be improved. We should set `single_bitrate=True` if the second one (i.e., the data phase bitrate) is zero:

> <https://github.com/OpenCyphal/pycyphal/blob/338e206b375c230b96411ca4d5249087273bce36/pycyphal/transport/can/media/pythoncan/_pythoncan.py#L176>

A pull request improving this would be welcome.

P.S. you are using a very roundabout way of exporting environment variables. Can you not just use PowerShell with a decent UX instead of typing these Python wrappers?

---

<div class="post-metadata">

**Author:** ![Tecnologic](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/tecnologic/32/373_2.png) [@Tecnologic](https://forum.opencyphal.org/u/Tecnologic)\
**Post date:** [July 18, 2022, 2:19pm UTC](https://forum.opencyphal.org/t/cyphal-yakut-vs-slcan-adapter-on-windows/1715/3 "2022-07-18T14:19:33Z")

</div>

WTF. Thanks Pavel. I thought i only need to set MTU=8. but i ignored the fact that there where 2 bitrates set 🙂
