WP7702 FX30 Talon CAN bus IoT

Hello,

I have a Talon CAN bus IoT board working on an FX30 3G (WP85xx). Like I showed in the following link:
https://forum.sierrawireless.com/t/talon-can-bus-iot-expansion/14206

Now I’m trying to migrate the system to an FX30 LTE (WP7702), but I’m having issues bringing the interface up.
I compiled the system with the Kernel Modules specified for this chip and I got it loaded, but I cannot find the correct GPIO that brings the board up.

root@swi-mdm9x28-wp:~# lsmod
Tainted: G
mcp251x 9636 0 - Live 0xbf004000 (O)
can_iot 1072 0 - Live 0xbf000000 (O)

[ 14.658633] can_iot_init: mcp2515 (gpio:79 irq:131).
[ 14.731595] spi1.0 supply vdd not found, using dummy regulator
[ 14.731692] spi1.0 supply xceiver not found, using dummy regulator

I tried to set the same GPIOs that I have before for the WP85xx (33 and 6), but the system shows me:

root@swi-mdm9x28-wp:~# ip link set can0 type can bitrate 500000 triple-sampling on
Cannot find device “can0”

Is there anyone that could help me with that?

Thank you very much!

Hi cporto,
Could you please clarify which firmware version you are running? It appears that you’re running a stock version of WP module code, at least the kernel.

I recommend using the FX30 R14 source code, otherwise your peripheral won’t function properly.

For the GPIO numbering, please take a look at the latest User Guide as there is a GPIO mapping table. If you need further assistance, please let me know.

BR,
Chris

Hi,

Just an update. I could figure out the issue doing multiple testings.
Here is the script that I have to use with the WP7702 on FX30, I haven’t seen anything like this anywhere before:

#!/bin/sh

# It seems that taking the IoT card out of reset fails in the core
# mangOH driver - but placing things after user-space has fully started
# and through the SWI gpiolib-sysfs code works - TODO fix and move into
# the core driver so no shell script is needed.
# Thus, we remove the inserted chip driver and bring it back.

drv=“can_iot.ko”
drv2=find /legato/systems/current/modules/ -name "*mcp251x.ko"
# remove the driver
/mnt/legato/system/bin/kmod unload $drv
/sbin/rmmod mcp251x

# Take IoT card out of reset
echo 6 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio6/direction
echo 1 > /sys/class/gpio/gpio6/value

# Enable level shifter on the CAN IoT card
echo 33 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio33/direction
echo 1 > /sys/class/gpio/gpio33/value

# Give a bit of time for the IoT card to come out of reset before loading drivers
sleep 1

# Bring driver back & iproute2 add in CAN
/mnt/legato/system/bin/kmod load $drv
/sbin/insmod $drv2
/sbin/ip link set can0 type can bitrate 500000 triple-sampling on
/sbin/ifconfig can0 up

I hope that it will be useful for future people.
Thank you!