[riot-notifications] [RIOT-OS/RIOT] drivers/cc110x: Fixed MTU calculation (#10918)

Marian Buschsieweke notifications at github.com
Fri Feb 1 22:57:18 CET 2019


maribu commented on this pull request.



>          case NETDEV_TYPE_IEEE802154:
         case NETDEV_TYPE_NRFMIN:
 #ifdef MODULE_GNRC_SIXLOWPAN_IPHC
             netif->flags |= GNRC_NETIF_FLAGS_6LO_HC;
 #endif
             /* intentionally falls through */
+        case NETDEV_TYPE_CC110X:

With the rewrite of cc110x and header compression enabled:

```
2019-02-01 22:41:44,876 - INFO #  ping6 fe80::ff:fe00:23 400
2019-02-01 22:41:44,898 - INFO # [cc110x] netdev_driver_t::send(): Frame size of 413B exceeds maximum supported size of 255B
```

Without header compression:

```
2019-02-01 22:49:08,761 - INFO #  ping6 fe80::ff:fe00:23 400
2019-02-01 22:49:08,794 - INFO # [cc110x] netdev_driver_t::send(): Driver state 2 prevents sending
2019-02-01 22:49:08,796 - INFO # [cc110x] ISR: ERROR: TX-FIFO underflown, ISR too slow
```

Here the first frame fits into 255 bytes, the second frame is send while the driver is busy (resulting in the "Driver state 2 prevents sending" message. Due to `netdev_driver_t::send()` blocking the thread during UART (the debug message), `netdev_driver_t::isr()` is called too late to feed the TX FIFO, resulting in the "TX-FIFO underflown". (I should work around that sometime soon. It is really uncool if the driver stops working properly with `ENABLE_DEBUG` set to `1`.)

So there is some issue. But it might just as well be a bug in my rewrite of the `cc110x` or the in the `cc1xxx_common` code.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/10918#discussion_r253213168
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190201/bd9fd4af/attachment.html>


More information about the notifications mailing list