# FX30 with (WP77xx) with Talon mangOH CAN interface

**URL:** <https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362>\
**Category:** Uncategorized\
**Created:** [August 19, 2020, 2:01am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362 "2020-08-19T02:01:35Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/jyijyi/32/822_2.png) [@jyijyi](https://forum.legato.io/u/jyijyi)\
**Post date:** [August 21, 2020, 9:34pm UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/21 "2020-08-21T21:34:33Z")

</div>

Hi Chris,

How to get the fx30 yocto source code by leaf?  
Here is what i got from swi-fx30-catm\_1.0.0 identifier:

owner@ubuntu:~/leaf/leaf-data/wp77$ ls  
fx30-catm-image fx30-catm-linux-image swi-vscode-support  
fx30-catm-legato swi-fx30-catm wp77-modem-image  
fx30-catm-legato-image swi-legato wp77-toolchain

---

<div class="post-metadata">

**Author:** ![cchenry](https://avatars.discourse-cdn.com/v4/letter/c/a183cd/32.png) [@cchenry](https://forum.legato.io/u/cchenry)\
**Post date:** [August 22, 2020, 12:47am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/22 "2020-08-22T00:47:45Z")

</div>

Hi @jyijyi,  
Just execute this command:

leaf getsrc swi-linux

Leaf will pull the entire yocto workspace using repo. You’ll need to setup SSH keys on [gerrit.legato.io](http://gerrit.legato.io)

The R11 source will be available with identifier: swi-fx30-catm\_2.0.0

BR,  
Chris

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/jyijyi/32/822_2.png) [@jyijyi](https://forum.legato.io/u/jyijyi)\
**Post date:** [August 22, 2020, 2:56am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/23 "2020-08-22T02:56:46Z")

</div>

Hi Chris,  
Thx for the information, I will try later.

---

<div class="post-metadata">

**Author:** ![ClaudioBaldo](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@ClaudioBaldo](https://forum.legato.io/u/ClaudioBaldo)\
**Post date:** [August 24, 2020, 3:49am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/24 "2020-08-24T03:49:05Z")

</div>

Hi Chris,  
it seems I will need to rebuild the image of my fx30 to implement the CAN drivers and also to update the GLIBC of my target device.  
I am trying to download the source from gerrit but it seems it fails due to public-key ack:

**XXXXX@XXXXX.com.au@gerrit.legato.io: Permission denied (publickey).**  
**fatal: Could not read from remote repository.**

How do I implement the ssh publickey? Do I need to generate one on gerrit and to store it locally to my machine (~/.ssh) or the other way around? Because on gerrit I can`t do either things…

---

<div class="post-metadata">

**Author:** ![cchenry](https://avatars.discourse-cdn.com/v4/letter/c/a183cd/32.png) [@cchenry](https://forum.legato.io/u/cchenry)\
**Post date:** [August 24, 2020, 11:23pm UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/25 "2020-08-24T23:23:59Z")

</div>

Hi Claudio,  
You’ll need to register at [gerrit.legato.io](http://gerrit.legato.io) and then add your public key under your profile settings.

You can generate a private/public key pair using ssh-keygen.

BR,  
Chris

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/jyijyi/32/822_2.png) [@jyijyi](https://forum.legato.io/u/jyijyi)\
**Post date:** [September 18, 2020, 7:09am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/26 "2020-09-18T07:09:31Z")

</div>

Hi @cchenry ,

I have the same issue and get stuck.  
Can you help to give us a step by step on how to pass through those pubic key problem?

I have tried  
ssh-keygen -t rsa -b 2048 -C “[xxx@xxxxxx.com](mailto:xxx@xxxxxx.com)”

and then " cat /home/owner/.ssh/id\_rsa.pub "  
copy the value to “[https://gerrit.legato.io/settings/#SSHKeys](https://gerrit.legato.io/settings/#SSHKeys)”

Still I saw the following:

* * *

Proceed? (Y/n)  
Y  
Checking credentials…  
Permission denied (publickey).  
fatal: Could not read from remote repository.

Please make sure you have the correct access rights  
and the repository exists.  
ERROR:  
Something went wrong when trying to connect to ssh://xxx@xxxxxx.com@gerrit.legato.io:29418/manifest

* * *

---

<div class="post-metadata">

**Author:** ![cchenry](https://avatars.discourse-cdn.com/v4/letter/c/a183cd/32.png) [@cchenry](https://forum.legato.io/u/cchenry)\
**Post date:** [September 23, 2020, 5:13pm UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/27 "2020-09-23T17:13:24Z")

</div>

Hi @jyijyi,  
Have you added your git info?  
git config --global user.name “FIRST LAST”  
git config --global user.email “[your\_email@xxx.com](mailto:your_email@xxx.com)”  
BR,  
Chris

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/jyijyi/32/822_2.png) [@jyijyi](https://forum.legato.io/u/jyijyi)\
**Post date:** [September 25, 2020, 6:45am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/28 "2020-09-25T06:45:30Z")

</div>

Hi @cchenry,  
Thanks for your help.  
Finally I can download the source code by the steps below:

1. ssh-keygen -t rsa -b 2048 -C “[xxx@xxx.com](mailto:xxx@xxx.com)”

2. cat /home/owner/.ssh/id\_rsa.pub

3. copy the value to “[https://gerrit.legato.io/settings/#SSHKeys](https://gerrit.legato.io/settings/#SSHKeys)”  
set the username to “xxx” in [https://gerrit.legato.io/settings/#Profile](https://gerrit.legato.io/settings/#Profile) ( this can only set once)

4. sudo chmod 400 /home/owner/.ssh/id\_rsa

5. ssh-add /home/owner/.ssh/id\_rsa  
Enter passphrase for /home/owner/.ssh/id\_rsa:

6. 

sudo chmod 700 ~/.ssh/  
sudo chmod 600 ~/.ssh/\*  
sudo chown -R owner ~/.ssh/  
sudo chgrp -R owner ~/.ssh/

(where owner is the user name of my PC)

1. in VScode, choose the profile you needed:  
leaf shell  
leaf env user --set GERRIT\_USER=“xxx”  
leaf getsrc swi-linux

---

<div class="post-metadata">

**Author:** ![ClaudioBaldo](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@ClaudioBaldo](https://forum.legato.io/u/ClaudioBaldo)\
**Post date:** [October 2, 2020, 9:11am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/29 "2020-10-02T09:11:37Z")

</div>

I have setup the leaf with the latest release for the FX30S, is there any different way to build an open the CAN interface on the target from what I have done earlier?  
I have, once again, compile my project and deployed to the target and then run the start.can.sh script, still get an error from the kernel when trying to load the can driver:

root@fx30s:~# ./start\_can.sh  
“./start\_can.sh board [slot]” where board is “green” or “red” or “yellow” and slot is “0” or “1”  
root@fx30s:~# ./start\_can.sh red 0  
Unload of module can\_iot.ko has been successful.  
sh: write error: Device or resource busy  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c app\_Create() 3259 | Creating app ‘tools’  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c app\_Start() 3472 | Starting app ‘tools’  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_uartMode.so’ to '/legato/systems/current/appsWriteable/tools/lib/libCo  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_secstore.so’ to '/legato/systems/current/appsWriteable/tools/lib/libCo  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_cm.so’ to '/legato/systems/current/appsWriteable/tools/lib/libComponen  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_moduleLoad.so’ to '/legato/systems/current/appsWriteable/tools/lib/lib  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_fwupdate.so’ to '/legato/systems/current/appsWriteable/tools/lib/libCo  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_pmtool.so’ to '/legato/systems/current/appsWriteable/tools/lib/libComp  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_le\_pa\_uartMode\_default.so’ to '/legato/systems/current/appsWriteable/t  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_swiQmi.so’ to '/legato/systems/current/appsWriteable/tools/lib/libComp  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_le\_pa\_uartMode.so’ to '/legato/systems/current/appsWriteable/tools/lib  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_gnss.so’ to '/legato/systems/current/appsWriteable/tools/lib/libCompon  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/cm’ to ‘/legato/systems/current/appsWriteable/tools/bin/cm’: Already exists  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/gnss’ to ‘/legato/systems/current/appsWriteable/tools/bin/gnss’: Already exists  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/kmod’ to ‘/legato/systems/current/appsWriteable/tools/bin/kmod’: Already exists  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/fwupdate’ to ‘/legato/systems/current/appsWriteable/tools/bin/fwupdate’: Already ex  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/secstore’ to ‘/legato/systems/current/appsWriteable/tools/bin/secstore’: Already ex  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/uartMode’ to ‘/legato/systems/current/appsWriteable/tools/bin/uartMode’: Already ex  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/pmtool’ to ‘/legato/systems/current/appsWriteable/tools/bin/pmtool’: Already exists  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_swiQmi.so’ to '/legato/systems/current/appsWriteable/tools/lib/libComp  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_le\_pa\_uartMode.so’ to '/legato/systems/current/appsWriteable/tools/lib  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/scripts/cm’ to ‘/legato/systems/current/appsWriteable/tools/scripts/cm’: Already exists  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | proc.c proc\_Start() 1403 | Starting process ‘kmod@0’ with pid 3850  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | supervisor.c SigChildHandler() 874 | Reaping unconfigured child process 3849.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[3850]/supervisor T=main | proc.c proc\_Start() 1363 | Execing ‘bin/kmod’  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[3850]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxCoreDumpFileBytes to value 8192.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[3850]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxFileBytes to value 90112.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[3850]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxLockedMemoryBytes to value 8192.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[3850]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxFileDescriptors to value 256.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[3850]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxMQueueBytes to value 512.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[3850]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxThreads to value 20.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[3850]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxQueuedSignals to value 100.  
Oct 2 09:05:44 fx30s user.warn Legato: -WRN- | _UNKNOWN_[3850]/framework T=main | safeRef.c InitMap() 217 | Map name ‘refle\_kernelModule\_ClientHandlers’ truncated to ‘refle\_kernelModule\_ClientHandle’.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | kernelModules.c le\_kernelModule\_Unload() 1784 | Requested to unload module ‘can\_iot.ko’.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | kernelModules.c le\_kernelModule\_Unload() 1826 | Unloading module, ‘can\_iot.ko’, was successful.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | proc.c proc\_SigChildHandler() 2079 | Process ‘kmod@0’ (PID: 3850) has exited with exit code 0.  
Oct 2 09:05:44 fx30s user.info kernel: [1153.224824] gpio\_set\_map\_table: Detected FX30S  
Oct 2 09:05:44 fx30s user.debug kernel: [1153.224851] gpio\_sync\_ri: RI owner is Modem  
Oct 2 09:05:44 fx30s user.debug kernel: [1153.224865] gpio\_map\_name\_to\_num: find GPIO 76  
Oct 2 09:05:44 fx30s user.debug kernel: [1153.224874] export\_store: Export GPIO: 76  
Oct 2 09:05:44 fx30s user.info kernel: [1153.224899] gpio\_set\_map\_table: Detected FX30S  
Oct 2 09:05:44 fx30s user.debug kernel: [1153.224909] gpio\_sync\_ri: RI owner is Modem  
Oct 2 09:05:44 fx30s user.debug kernel: [1153.224923] gpiod\_export: sierra–find GPIO,chipdev = -828222960,chipngpio = 80,chipbase = 0  
Oct 2 09:05:44 fx30s user.info kernel: [1153.225663] gpio\_set\_map\_table: Detected FX30S  
Oct 2 09:05:44 fx30s user.debug kernel: [1153.225682] gpio\_sync\_ri: RI owner is Modem  
Oct 2 09:05:44 fx30s user.debug kernel: [1153.225693] gpio\_map\_name\_to\_num: find GPIO 38  
Oct 2 09:05:44 fx30s user.debug kernel: [1153.225702] export\_store: Export GPIO: 38  
Oct 2 09:05:44 fx30s user.debug kernel: [1153.225714] gpio-38 (sysfs): gpiod\_request: status -16  
Oct 2 09:05:44 fx30s user.debug kernel: [1153.225723] export\_store: Status -16  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c app\_StopComplete() 4764 | app ‘tools’ has stopped.  
Oct 2 09:05:44 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | apps.c DeactivateAppContainer() 374 | Application ‘tools’ has stopped.  
Could not load the required module, can\_iot.ko. (LE\_FAULT)  
See the device log for details.  
Cannot find device “can0”  
ifconfig: SIOCGIFFLAGS: No such device  
root@fx30s:~# Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c app\_Start() 3472 | Starting app ‘tools’  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_uartMode.so’ to '/legato/systems/current/appsWriteable/tools/lib/libCo  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_secstore.so’ to '/legato/systems/current/appsWriteable/tools/lib/libCo  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_cm.so’ to '/legato/systems/current/appsWriteable/tools/lib/libComponen  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_moduleLoad.so’ to '/legato/systems/current/appsWriteable/tools/lib/lib  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_fwupdate.so’ to '/legato/systems/current/appsWriteable/tools/lib/libCo  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_pmtool.so’ to '/legato/systems/current/appsWriteable/tools/lib/libComp  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_le\_pa\_uartMode\_default.so’ to '/legato/systems/current/appsWriteable/t  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_swiQmi.so’ to '/legato/systems/current/appsWriteable/tools/lib/libComp  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_le\_pa\_uartMode.so’ to '/legato/systems/current/appsWriteable/tools/lib  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_gnss.so’ to '/legato/systems/current/appsWriteable/tools/lib/libCompon  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/cm’ to ‘/legato/systems/current/appsWriteable/tools/bin/cm’: Already exists  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/gnss’ to ‘/legato/systems/current/appsWriteable/tools/bin/gnss’: Already exists  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/kmod’ to ‘/legato/systems/current/appsWriteable/tools/bin/kmod’: Already exists  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/fwupdate’ to ‘/legato/systems/current/appsWriteable/tools/bin/fwupdate’: Already ex  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/secstore’ to ‘/legato/systems/current/appsWriteable/tools/bin/secstore’: Already ex  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/uartMode’ to ‘/legato/systems/current/appsWriteable/tools/bin/uartMode’: Already ex  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/bin/pmtool’ to ‘/legato/systems/current/appsWriteable/tools/bin/pmtool’: Already exists  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_swiQmi.so’ to '/legato/systems/current/appsWriteable/tools/lib/libComp  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/lib/libComponent\_le\_pa\_uartMode.so’ to '/legato/systems/current/appsWriteable/tools/lib  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c CreateFileLink() 2085 | Skipping file link ‘/legato/systems/current/apps/tools/read-only/scripts/cm’ to ‘/legato/systems/current/appsWriteable/tools/scripts/cm’: Already exists  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | proc.c proc\_Start() 1403 | Starting process ‘kmod@0’ with pid 3861  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | supervisor.c SigChildHandler() 874 | Reaping unconfigured child process 3860.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[3861]/supervisor T=main | proc.c proc\_Start() 1363 | Execing ‘bin/kmod’  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[3861]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxCoreDumpFileBytes to value 8192.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[3861]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxFileBytes to value 90112.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[3861]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxLockedMemoryBytes to value 8192.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[3861]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxFileDescriptors to value 256.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[3861]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxMQueueBytes to value 512.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[3861]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxThreads to value 20.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[3861]/supervisor T=main | resourceLimits.c SetRLimitValue() 301 | Setting resource limit maxQueuedSignals to value 100.  
Oct 2 09:05:45 fx30s user.warn Legato: -WRN- | _UNKNOWN_[3861]/framework T=main | safeRef.c InitMap() 217 | Map name ‘refle\_kernelModule\_ClientHandlers’ truncated to ‘refle\_kernelModule\_ClientHandle’.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | kernelModules.c le\_kernelModule\_Load() 1720 | Requested to load module ‘can\_iot.ko’.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | kernelModules.c ExecuteCommand() 244 | Execute '/sbin/insmod /legato/systems/current/modules/can\_iot.ko ’  
Oct 2 09:05:45 fx30s user.crit Legato: _CRT_ | supervisor[1421]/supervisor T=main | kernelModules.c ExecuteCommand() 295 | /sbin/insmod /legato/systems/current/modules/can\_iot.ko exited with error code 8.  
Oct 2 09:05:45 fx30s user.err Legato: =ERR= | supervisor[1421]/supervisor T=main | kernelModules.c le\_kernelModule\_Load() 1758 | Load module, ‘can\_iot.ko’, failed. (LE\_FAULT)  
Oct 2 09:05:45 fx30s user.err kernel: [1154.367995] can\_iot: version magic '3.18.140 preempt mod\_unload ARMv7 p2v8 ’ should be '3.18.44 preempt mod\_unload ARMv7 p2v8 ’  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | proc.c proc\_SigChildHandler() 2079 | Process ‘kmod@0’ (PID: 3861) has exited with exit code 1.  
Oct 2 09:05:45 fx30s user.warn Legato: -WRN- | supervisor[1421]/supervisor T=main | app.c app\_SigChildHandler() 4067 | Process ‘kmod@0’ in app ‘tools’ faulted: Ignored.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | app.c app\_StopComplete() 4764 | app ‘tools’ has stopped.  
Oct 2 09:05:45 fx30s user.info Legato: INFO | supervisor[1421]/supervisor T=main | apps.c DeactivateAppContainer() 374 | Application ‘tools’ has stopped.

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/jyijyi/32/822_2.png) [@jyijyi](https://forum.legato.io/u/jyijyi)\
**Post date:** [October 3, 2020, 1:10am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/30 "2020-10-03T01:10:41Z")

</div>

ExecuteCommand() 295 | /sbin/insmod /legato/systems/current/modules/can\_iot.ko exited with error code 8.  
Oct 2 09:05:45 fx30s user.err Legato: =ERR= | supervisor[1421]/supervisor T=main | kernelModules.c le\_kernelModule\_Load() 1758 | Load module, ‘can\_iot.ko’, failed. (LE\_FAULT)  
Oct 2 09:05:45 fx30s user.err kernel: [1154.367995] can\_iot: version magic '3.18.140 preempt mod\_unload ARMv7 p2v8 ’ should be '3.18.44 preempt mod\_unload ARMv7 p2v8 ’

Same problem with kernel version.  
Have you tried the swi-fx30-catm\_1.0.0 package?

---

<div class="post-metadata">

**Author:** ![ClaudioBaldo](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@ClaudioBaldo](https://forum.legato.io/u/ClaudioBaldo)\
**Post date:** [October 3, 2020, 2:12am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/31 "2020-10-03T02:12:38Z")

</div>

I did start with that version, I was told to wait for the new release and that was going to fix all problems. @cchenry could u please explain it a bit because this is holding back all our projects and now we have lost a whole month.

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/jyijyi/32/822_2.png) [@jyijyi](https://forum.legato.io/u/jyijyi)\
**Post date:** [October 3, 2020, 2:23am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/32 "2020-10-03T02:23:46Z")

</div>

It worth to make a try on swi-fx30-catm\_1.0.0

---

<div class="post-metadata">

**Author:** ![cchenry](https://avatars.discourse-cdn.com/v4/letter/c/a183cd/32.png) [@cchenry](https://forum.legato.io/u/cchenry)\
**Post date:** [October 3, 2020, 2:35am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/33 "2020-10-03T02:35:42Z")

</div>

Hi Claudio,  
Could you please explain how you built your can\_iot kernel object? Your log doesn’t show a magic number issue, but I wonder if you’ve built it separately from the kernel.

Are you using the prebuilt R11.0.0.007 kernel image?

Could you please try pulling the yocto source code:  
leaf getsrc swi-linux

Add your kernel driver to the yocto kernel. You may also need to enable the CAN options as well. Then you can build the full image including the kernel:  
cd swi-linux  
make

The resulting image will be in:  
build\_bin/images/public

Alternately, the Legato framework supports installing a kernel object via a Legato application. I’m not familiar with the exact process, but there should be documentation on [legato.io](http://legato.io)

BR,  
Chris

---

<div class="post-metadata">

**Author:** ![ClaudioBaldo](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@ClaudioBaldo](https://forum.legato.io/u/ClaudioBaldo)\
**Post date:** [October 5, 2020, 7:03am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/34 "2020-10-05T07:03:09Z")

</div>

@cchenry, I am actually using the legato framework for that, the only reference I have found was this:

> **[Running the MCP2515 CAN driver for mangOH Red · mangOH/mangOH Wiki](https://github.com/mangOH/mangOH/wiki/Running-the-MCP2515-CAN-driver-for-mangOH-Red)**
>
> Primary mangOH git repository. Contribute to mangOH/mangOH development by creating an account on GitHub.

…the system definition link is broken.

The system definition I am using is this one:

#include “$LEGATO\_ROOT/default.sdef”  
apps:  
{  
}  
appSearch:  
{  
}  
interfaceSearch:  
{  
}  
moduleSearch:  
{  
/home/claudio/legatoWorkspace/legatoAF/drivers/mangoh/can\_common  
/home/claudio/legatoWorkspace/legatoAF/drivers/mangoh/can\_9x07  
}  
kernelModules:  
{  
mcp251x.mdef  
can\_iot.mdef  
}

This compiles fine and I can download to the target, then I locally run the start.sh script (assuming the target is for RED as the wp77 - FX30 should be)…  
root@fx30s:~# ./start\_can.sh red 0  
Unload of module can\_iot.ko has been successful.  
sh: write error: Device or resource busy  
Could not load the required module, can\_iot.ko. (LE\_FAULT)  
See the device log for details.  
Cannot find device “can0”  
ifconfig: SIOCGIFFLAGS: No such device

This happens either with interfaces 0 or 1.

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/jyijyi/32/822_2.png) [@jyijyi](https://forum.legato.io/u/jyijyi)\
**Post date:** [October 5, 2020, 7:20am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/35 "2020-10-05T07:20:15Z")

</div>

ExecuteCommand() 295 | /sbin/insmod /legato/systems/current/modules/can\_iot.ko exited with error code 8.  
Oct 2 09:05:45 fx30s user.err Legato: =ERR= | supervisor[1421]/supervisor T=main | kernelModules.c le\_kernelModule\_Load() 1758 | Load module, ‘can\_iot.ko’, failed. (LE\_FAULT)  
Oct 2 09:05:45 fx30s user.err kernel: [1154.367995] can\_iot: version magic '3.18.140 preempt mod\_unload ARMv7 p2v8 ’ should be '3.18.44 preempt mod\_unload ARMv7 p2v8 ’

Same problem with kernel version.  
Have you tried the swi-fx30-catm\_1.0.0 package?

---

<div class="post-metadata">

**Author:** ![ClaudioBaldo](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@ClaudioBaldo](https://forum.legato.io/u/ClaudioBaldo)\
**Post date:** [October 5, 2020, 7:36am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/36 "2020-10-05T07:36:44Z")

</div>

We have started with the package and were told to wait for the new release as the

_The stock WP77 code will run on an FX30 but peripheral functions won’t work._

Now I see that I am working on leaf shell, you are working on VScode and cchenry is talking about toolchain and system rebuild.  
I did actually try with exact the same system definition and using the swi-fx30-catm\_1.0.0, which didn`t work.

Is the CAN drive enabled on the R11 and how do I get it operational…?  
_If you’re able to wait another week or 2, the R11 release is just about ready._

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/jyijyi/32/822_2.png) [@jyijyi](https://forum.legato.io/u/jyijyi)\
**Post date:** [October 5, 2020, 7:47am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/37 "2020-10-05T07:47:50Z")

</div>

I used the toolchain of swi-fx30-catm\_1.0.0, and compile the mangoh source with CAN enabled in shared.sdef.  
I can run it on FX30M1 FW 9.1.

root@fx30:~# kmod load can\_iot.ko  
Load of module can\_iot.ko has been successful.  
root@fx30:~# Oct 6 07:39:04 fx30 user.warn Legato: -WRN- | _UNKNOWN_[4493]/framework T=main | LE\_FILENAME le\_ref\_CreateMap() 149 | Map name ‘refle\_kernelModule\_ClientHandlers’ truncated to ‘refle\_kernelModule\_ClientHandle’.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | kernelModules.c le\_kernelModule\_Load() 1087 | Requested to load module ‘can\_iot.ko’.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | kernelModules.c ExecuteCommand() 190 | Execute ‘/sbin/insmod /legato/systems/current/modules/can\_iot.ko’  
Oct 6 07:39:04 fx30 user.debug kernel: [1219.556676] gpio\_sync\_ri: RI owner is APP  
Oct 6 07:39:04 fx30 user.debug kernel: [1219.556701] gpiod\_export: sierra–find GPIO,chipdev = -828222960,chipngpio = 80,chipbase = 0  
Oct 6 07:39:04 fx30 user.err kernel: [1219.557462] sps: BAM device 0x07884000 is not registered yet.  
Oct 6 07:39:04 fx30 user.info kernel: [1219.563137] sps:BAM 0x07884000 is registered.  
Oct 6 07:39:04 fx30 user.info kernel: [1219.564685] sps:BAM 0x07884000 (va:0xd0bc0000) enabled: ver:0x18, number of pipes:24  
Oct 6 07:39:04 fx30 user.warn kernel: [1219.565223] spi1.0 supply vdd not found, using dummy regulator  
Oct 6 07:39:04 fx30 user.warn kernel: [1219.565305] spi1.0 supply xceiver not found, using dummy regulator  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | kernelModules.c InstallEachKernelModule() 701 | New kernel module can\_iot.ko  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | kernelModules.c le\_kernelModule\_Load() 1101 | Load module, ‘can\_iot.ko’, was successful.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2667.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2673.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2679.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2686.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2692.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | proc.c proc\_SigChildHandler() 2035 | Process ‘avcLoadConfig’ (PID: 2693) has exited with exit code 0.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2699.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2705.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2711.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2723.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2730.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2736.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2742.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2747.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2762.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2768.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2774.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2780.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2786.  
Oct 6 07:39:04 fx30 user.info Legato: INFO | supervisor[2643]/supervisor T=main | supervisor.c SigChildHandler() 783 | Reaping unconfigured child process 2792.  
Oct 6 07:39:04 fx30 user.info kernel: [1219.576902] can\_iot\_init: mcp2515 (gpio:79 irq:131).

---

<div class="post-metadata">

**Author:** ![ClaudioBaldo](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@ClaudioBaldo](https://forum.legato.io/u/ClaudioBaldo)\
**Post date:** [October 5, 2020, 8:25am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/38 "2020-10-05T08:25:45Z")

</div>

> [@jyijyi](#):
>
> shared.sdef

Can you post the sys definition you are using?

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.legato.io/jyijyi/32/822_2.png) [@jyijyi](https://forum.legato.io/u/jyijyi)\
**Post date:** [October 5, 2020, 8:35am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/39 "2020-10-05T08:35:26Z")

</div>

Here are my sdef files:  
[shared.sdef](https://forum.legato.io/uploads/short-url/ishhq1ifnVxDdtJtkSTYUtlys34.sdef) (1.1 KB) [red.sdef](https://forum.legato.io/uploads/short-url/jRvfQjXUhSCoadxHkqsryKfotr3.sdef) (739 Bytes)

---

<div class="post-metadata">

**Author:** ![ClaudioBaldo](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@ClaudioBaldo](https://forum.legato.io/u/ClaudioBaldo)\
**Post date:** [October 5, 2020, 9:02am UTC](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362/40 "2020-10-05T09:02:23Z")

</div>

Which one is the part for the CAN?  
Because there are some apps which are not connected with CAN interface.

[Previous page](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362.md?page=1)

[Next page](https://forum.legato.io/t/fx30-with-wp77xx-with-talon-mangoh-can-interface/5362.md?page=3)
