<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to CAN TX regression in Control for Raspberry Pi 4.21.0.0 with CAN API library (RX works, TX silently fails)</title><link>https://forge.codesys.com/forge/talk/Engineering/thread/ca1bff0144/</link><description>Recent posts to CAN TX regression in Control for Raspberry Pi 4.21.0.0 with CAN API library (RX works, TX silently fails)</description><language>en</language><lastBuildDate>Mon, 17 Aug 2026 16:42:56 -0000</lastBuildDate><atom:link href="https://forge.codesys.com/forge/talk/Engineering/thread/ca1bff0144/feed.rss" rel="self" type="application/rss+xml"></atom:link><item><title>CAN TX regression in Control for Raspberry Pi 4.21.0.0 with CAN API library (RX works, TX silently fails)</title><link>https://forge.codesys.com/forge/talk/Engineering/thread/ca1bff0144/?limit=25#9526</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;seems to be an accident but there is a workaround:&lt;br/&gt;
&lt;span&gt;[CmpSocketCanDrv]&lt;/span&gt;&lt;br/&gt;
AsyncSend=1&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">eschwellinger</dc:creator><pubDate>Mon, 17 Aug 2026 16:42:56 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com621f462cf6e58a40dbdec32043b59627fe991723</guid></item><item><title>CAN TX regression in Control for Raspberry Pi 4.21.0.0 with CAN API library (RX works, TX silently fails)</title><link>https://forge.codesys.com/forge/talk/Engineering/thread/ca1bff0144/?limit=50#3670</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Environment:&lt;/p&gt;
&lt;p&gt;Target: Revolution Pi (Kunbus RevPi), armv7l 32-bit&lt;br/&gt;
OS: Raspbian GNU/Linux 9 (Stretch), kernel 4.19.95-rt38-v7 (SMP PREEMPT RT, built 2022-03-22)&lt;br/&gt;
CAN: via SocketCAN (can0)&lt;br/&gt;
Runtime: CODESYS Control for Raspberry Pi SL&lt;br/&gt;
IDE: CODESYS V3.5 SP22 + patch 3 (previously V3.5 SP22 + patch 2, where everything worked with runtime 4.18.0.0)&lt;br/&gt;
Library: CANBusAPI from the "CAN API" package, version 1.0.0.3&lt;/p&gt;
&lt;p&gt;Summary:&lt;br/&gt;
The setup worked correctly with V3.5 SP22 + patch 2 and runtime 4.18.0.0. After updating the IDE to SP22 + patch 3 and the runtime to 4.21.0.0, CAN transmission via the CANBusAPI library stopped working. Reception is unaffected. There are no error indications anywhere: the application runs normally and the CAN diagnosis reports a healthy bus. Systematic testing (below) shows the problem follows the runtime version, not the IDE update.&lt;/p&gt;
&lt;p&gt;Regression isolation:&lt;br/&gt;
The same application (compiled under SP22 + patch 3, unchanged between tests) was downloaded to the same target with different runtime versions, changing only the runtime each time:&lt;/p&gt;
&lt;p&gt;4.18.0.0: TX and RX both work&lt;br/&gt;
4.19.0.0: TX and RX both work&lt;br/&gt;
4.20.0.0: TX and RX both work&lt;br/&gt;
4.21.0.0: RX works, TX does not&lt;/p&gt;
&lt;p&gt;The behavior is fully reproducible in both directions (downgrading to 4.20 restores TX, upgrading to 4.21 breaks it again). Hardware, wiring, OS, project, and application code are identical across all tests.&lt;/p&gt;
&lt;p&gt;Diagnostic data (CANBusDiagnosis FB, while the application is transmitting on 4.21):&lt;/p&gt;
&lt;p&gt;ctSendCounter: incrementing normally&lt;br/&gt;
ctTxErrorCounter: 0&lt;br/&gt;
ctRxErrorCounter: 0&lt;br/&gt;
eState: ERROR_FREE&lt;br/&gt;
xBusAlarm: FALSE&lt;/p&gt;
&lt;p&gt;So the library accepts and counts the outgoing messages, no TX errors are reported, and the CAN controller state stays error-free, but the messages never reach the other nodes on the bus.&lt;/p&gt;
&lt;p&gt;Expected behavior:&lt;br/&gt;
Messages sent via CANBusAPI (CANDriver / SendMessage) are transmitted on the bus, as with runtime versions up to and including 4.20.0.0.&lt;/p&gt;
&lt;p&gt;Notes:&lt;/p&gt;
&lt;p&gt;I am aware that the CAN API package (1.0.0.3, from 2016) is old; however, the regression is tied to the runtime version, since the identical binary works on 4.18-4.20.&lt;/p&gt;
&lt;p&gt;Questions:&lt;/p&gt;
&lt;p&gt;Is there a known change in CmpSocketCanDrv / CmpCAACanL2 between 4.20.0.0 and 4.21.0.0 that could affect TX via the CAN API library?&lt;br/&gt;
Is runtime 4.21.0.0 still supported on Debian 9 Stretch (kernel 4.19, RT-patched), or is a newer OS required? If a minimum OS/kernel requirement was introduced with 4.21, is it documented?&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">rossanoparis</dc:creator><pubDate>Mon, 17 Aug 2026 13:27:51 -0000</pubDate><guid isPermaLink="false">https://forge.codesys.com6cb14a3e6c5ef195f0afff83c467d13254519961</guid></item></channel></rss>