Access point with fx30 and talon iot card fail

Hi community,

I’m using FX30 and tried to create a Access Point, I followed https://source.sierrawireless.com/resources/airlink/application_notes_and_code_samples/airlink_appnote_using_wifi_with_the_mirage_iot_card/ step by step, and I UPDATED firmware correct as same what instruction of document above, but it’s not work and I got a error " ifconfig: SIOCGIFFLAGS: No such device (-19)"

I don’t know what I have to do now. Plesase help me If you used to deal with this issue.

root@fx30:~# fwupdate query
Connecting to service …
Firmware Version: SWI9X15Y_07.12.09.00 r34123 CARMD-EV-FRMWR1 2017/04/26 23:34:19
Bootloader Version: SWI9X15Y_07.12.09.00 r34123 CARMD-EV-FRMWR1 2017/04/26 23:34:19
Linux Version: 3.14.29ltsi-a00e464379_499694411b #2 PREEMPT Tue Jun 12 16:49:03 PDT 2018
FX30 Version: R14.0.4.002

This is Step by step what I did

root@fx30:~# wifi ap setsecurityproto 1
Security protocol set to 1.
root@fx30:~# wifi ap setpassphrase secret123
Passphrase set.
root@fx30:~# wifi ap setssid EXAMPLESSID
SSID set successfully.
root@fx30:~# wifi ap start
ERROR:le_wifiAp_Start returns -6.
root@fx30:~#

this is log

Aug 2 07:02:33 | wifiService[603]/framework T=main | le_wifiClient_server.c Handle_le_wifiClient_RemoveNewEventHandler() 515 | Sending response to client session 0x27cac : 0 bytes sent
Aug 2 07:02:33 | wifiService[603]/daemon T=main | le_wifiClient.c CloseSessionEventHandler() 414 | sessionRef 0x27cac GetFirstSessionRef 0x27cac
Aug 2 07:02:33 | wifiService[603]/framework T=main | le_wifiClient_server.c CleanupClientData() 195 | Client 0x27cac is closed !!!
Aug 2 07:02:33 | wifiService[603]/framework T=main | le_wifiAp_server.c CleanupClientData() 195 | Client 0x27d3c is closed !!!
Aug 2 07:23:42 | wifiService[603]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (10).
Aug 2 07:23:42 | wifiService[603]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (11).
Aug 2 07:23:43 | wifiService[603]/daemon T=main | le_wifiClient.c CloseSessionEventHandler() 414 | sessionRef 0x27d3c GetFirstSessionRef (nil)
Aug 2 07:23:43 | wifiService[603]/framework T=main | le_wifiClient_server.c CleanupClientData() 195 | Client 0x27d3c is closed !!!
Aug 2 07:23:43 | wifiService[603]/framework T=main | le_wifiAp_server.c CleanupClientData() 195 | Client 0x27cac is closed !!!
Aug 2 07:24:11 | wifiService[603]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (10).
Aug 2 07:24:11 | wifiService[603]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (11).
Aug 2 07:24:11 | wifiService[603]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_SetSecurityProtocol() 787 | Security protocol : 1
Aug 2 07:24:11 | wifiService[603]/framework T=main | le_wifiAp_server.c Handle_le_wifiAp_SetSecurityProtocol() 688 | Sending response to client session 0x27d3c : 4 bytes sent
Aug 2 07:24:11 | wifiService[603]/daemon T=main | le_wifiClient.c CloseSessionEventHandler() 414 | sessionRef 0x27cac GetFirstSessionRef (nil)
Aug 2 07:24:11 | wifiService[603]/framework T=main | le_wifiClient_server.c CleanupClientData() 195 | Client 0x27cac is closed !!!
Aug 2 07:24:11 | wifiService[603]/framework T=main | le_wifiAp_server.c CleanupClientData() 195 | Client 0x27d3c is closed !!!
Aug 2 07:24:56 | wifiService[603]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (10).
Aug 2 07:24:56 | wifiService[603]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (11).
Aug 2 07:24:56 | wifiService[603]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_SetPassPhrase() 824 | Set passphrase
Aug 2 07:24:56 | wifiService[603]/framework T=main | le_wifiAp_server.c Handle_le_wifiAp_SetPassPhrase() 731 | Sending response to client session 0x27cac : 4 bytes sent
Aug 2 07:24:57 | wifiService[603]/daemon T=main | le_wifiClient.c CloseSessionEventHandler() 414 | sessionRef 0x27d3c GetFirstSessionRef (nil)
Aug 2 07:24:57 | wifiService[603]/framework T=main | le_wifiClient_server.c CleanupClientData() 195 | Client 0x27d3c is closed !!!
Aug 2 07:24:57 | wifiService[603]/framework T=main | le_wifiAp_server.c CleanupClientData() 195 | Client 0x27cac is closed !!!
Aug 2 07:25:26 | wifiService[603]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (10).
Aug 2 07:25:26 | wifiService[603]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (11).
Aug 2 07:25:26 | wifiService[603]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_SetSsid() 750 | SSID length 11 | SSID: “EXAMPLESSID”
Aug 2 07:25:26 | wifiService[603]/framework T=main | le_wifiAp_server.c Handle_le_wifiAp_SetSsid() 645 | Sending response to client session 0x27d3c : 4 bytes sent
Aug 2 07:25:26 | wifiService[603]/daemon T=main | le_wifiClient.c CloseSessionEventHandler() 414 | sessionRef 0x27cac GetFirstSessionRef (nil)
Aug 2 07:25:26 | wifiService[603]/framework T=main | le_wifiClient_server.c CleanupClientData() 195 | Client 0x27cac is closed !!!
Aug 2 07:25:26 | wifiService[603]/framework T=main | le_wifiAp_server.c CleanupClientData() 195 | Client 0x27d3c is closed !!!
Aug 2 07:25:37 | wifiService[603]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (10).
Aug 2 07:25:37 | wifiService[603]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (11).
Aug 2 07:25:37 | wifiService[603]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_Start() 449 | AP starts
Aug 2 07:25:37 | wifiService[603]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_Start() 463 | SSID = EXAMPLESSID
Aug 2 07:25:37 | wifiService[603]/framework T=WifiApPaThread | LE_FILENAME PThreadStartRoutine() 362 | Set nice level to 0.
Aug 2 07:25:37 | wifiService[603]/daemon T=WifiApPaThread | pa_wifi_ap_ti.c WifiApPaThreadMain() 230 | Started!
Aug 2 07:25:37 | wifiService[603] | | WIFI_START
Aug 2 07:25:37 | wifiService[603]/daemon T=WifiApPaThread | pa_wifi_ap_ti.c WifiApPaThreadMain() 247 | PARSING:WIFI_SET_EVENT : len:15
Aug 2 07:25:38 | wifiService[603] | | ifconfig: SIOCGIFFLAGS: No such device
Aug 2 07:25:38 | wifiService[603]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_Start() 484 | WiFi Access Point Command Failed: (23296)wlan0 WIFI_START
Aug 2 07:25:38 | wifiService[603]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_Start() 614 | WiFi Client Command Failed: As a result, configuration file (/tmp/hostapd.conf) is removed.
Aug 2 07:25:38 | wifiService[603]/framework T=main | le_wifiAp_server.c Handle_le_wifiAp_Start() 557 | Sending response to client session 0x27cac : 4 bytes sent
Aug 2 07:25:38 | wifiService[603]/daemon T=main | le_wifiClient.c CloseSessionEventHandler() 414 | sessionRef 0x27d3c GetFirstSessionRef (nil)
Aug 2 07:25:38 | wifiService[603]/framework T=main | le_wifiClient_server.c CleanupClientData() 195 | Client 0x27d3c is closed !!!
Aug 2 07:25:38 | wifiService[603]/framework T=main | le_wifiAp_server.c CleanupClientData() 195 | Client 0x27cac is closed !!!


XANH2

Hi @comcom

I did the test with a brand new FX30S and I don’t face the same problem as you. Yours is not a S variant but it should not really matter.

I loaded the vanilla R14

https://source.sierrawireless.com/resources/airlink/software_downloads/fx30-firmware/fx30-firmware/

FX30S
R14.0.4.002 firmware package

I upgraded the modem using the procedure described in the associated release note in the same page. My configuration is same as yours:

root@fx30s:~# fwupdate query
Connecting to service …
Firmware Version: SWI9X15Y_07.12.09.00 r34123 CARMD-EV-FRMWR1 2017/04/26 23:34:19
Bootloader Version: SWI9X15Y_07.12.09.00 r34123 CARMD-EV-FRMWR1 2017/04/26 23:34:19
Linux Version: 3.14.29ltsi-a00e464379_499694411b #2 PREEMPT Tue Jun 12 16:49:03 PDT 2018
FX30 Version: R14.0.4.002

I followed all the steps in the application note you mention. I’m able to complete the whole AP process and I can have a client (my phone) connected to internet via the FX30S AP.

In your case, you see:

Aug 2 07:25:37 | wifiService[603]/daemon T=WifiApPaThread | pa_wifi_ap_ti.c WifiApPaThreadMain() 230 | Started!
Aug 2 07:25:37 | wifiService[603] | | WIFI_START
Aug 2 07:25:37 | wifiService[603]/daemon T=WifiApPaThread | pa_wifi_ap_ti.c WifiApPaThreadMain() 247 | PARSING:WIFI_SET_EVENT : len:15
Aug 2 07:25:38 | wifiService[603] | | ifconfig: SIOCGIFFLAGS: No such device
Aug 2 07:25:38 | wifiService[603]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_Start() 484 | WiFi Access Point Command Failed: (23296)wlan0 WIFI_START
Aug 2 07:25:38 | wifiService[603]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_Start() 614 | WiFi Client Command Failed: As a result, configuration file (/tmp/hostapd.conf) is removed.

I can see something different:

Aug 3 02:08:05 | wifiService[585]/daemon T=WifiApPaThread | pa_wifi_ap_ti.c WifiApPaThreadMain() 230 | Started!
Aug 3 02:08:05 | wifiService[585]/daemon T=WifiApPaThread | pa_wifi_ap_ti.c WifiApPaThreadMain() 247 | PARSING:WIFI_SET_EVENT : len:15
Aug 3 02:08:05 | wifiService[585] | | WIFI_START
Aug 3 02:08:06 | wifiService[585]/daemon T=WifiApPaThread | pa_wifi_ap_ti.c WifiApPaThreadMain() 247 | PARSING:phy #0: regulatory domain change: set to world roaming by the wireless core upon initialization request : len:104
Aug 3 02:08:13 | wifiService[585]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_Start() 479 | WiFi Access Point Command OK:wlan0 WIFI_START
Aug 3 02:08:13 | wifiService[585] | | WIFI_WLAN_UP

I tried to do the same process without the IoT card connected and I have something even different:

Aug 3 02:14:50 | wifiService[597]/daemon T=WifiApPaThread | pa_wifi_ap_ti.c WifiApPaThreadMain() 247 | PARSING:WIFI_SET_EVENT : len:15
Aug 3 02:14:56 | wifiService[597] | | Failed to start TI wifi
Aug 3 02:14:56 | wifiService[597]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_Start() 484 | WiFi Access Point Command Failed: (23296)wlan0 WIFI_START
Aug 3 02:14:56 | wifiService[597]/daemon T=main | pa_wifi_ap_ti.c pa_wifiAp_Start() 614 | WiFi Client Command Failed: As a result, configuration file (/tmp/hostapd.conf) is removed.

So it might not be an IoT card detection issue

Addition comment maybe unrelated:
To complete the whole procedure, i made sure to replace the double quotes in the Application Note which are bent [ ” ] by standards ones which are vertical [ " ]
in the application note:
export ITF_LAN=”wlan0”

command I sent:
export ITF_LAN="wlan0"

Can you try to reload a fresh R14 firmware and restart the process?

Thanks @bbo,
Can you give me kind of IOT card what you are using ? And I realized a STRANGE thing that when I tried to do the same process without the IoT card connected I also got AS SAME LOG AS when I connected with IOTcard.
FX30 might not dectect IOT CARD …

Same Talon WiFi card as mentioned by you. See picture below:

1 Like

When you connected IOT card, led state in IOT card are 1 led blue and 1 led Orange right?

yes.
When I power-on the FX30S, both LEDs switch on for a short time. Then only orange for 8s or so and then both LED again remain solid permanently

Thanks @bbo
In my case, When I power-on the FX30, Orange LED turn on and cellular led in FX30 has red color, then cellular led turn into green color and blue led turn on too.
Can you describe progress step by step what you creat Access Point? Please @bbo

Do you config any thing from .cdef file or .adef ?

maybe I was not clear enough. The LED I mentioned are the ones from the WiFi IoT cards not the FX30’s
I don’t do any legato development or modification whatsoever. I just used the default app available after i upgrade the FX30 without any modification.

Step by step process:
Assumptions:

  1. You upgrade to latest firmware R14.0.4.002
  2. You have a SIM card and you are able to establish a data connection (https://docs.legato.io/17_07/basicTargetModem.html)

insert the WiFi IoT card
power-on the FX30
once you have access to the console via ssh on 192.168.2.2 send the following commands

wifi ap setsecurityproto 1
wifi ap setpassphrase secret123
wifi ap setssid EXAMPLESSID
wifi ap start
export ITF_LAN="wlan0"
export ITF_WAN="rmnet0"
export SUBNET="192.168.10.0/24"
export IP="192.168.10.1"
export IP_RANGE_START="192.168.10.10"
export IP_RANGE_END="192.168.10.20"
/mnt/legato/system/bin/cm data connect &
/sbin/ifconfig $ITF_LAN $IP up
killall dnsmasq
/usr/bin/dnsmasq --interface=${ITF_LAN} --dhcp-range=$IP_RANGE_START,$IP_RANGE_END,12h -d --bogus-priv &
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ipt_MASQUERADE
/usr/sbin/iptables -I POSTROUTING -t nat -o ${ITF_WAN} -j MASQUERADE
/usr/sbin/iptables -I FORWARD --match state --state RELATED,ESTABLISHED --jump ACCEPT
/usr/sbin/iptables -I FORWARD -i ${ITF_LAN} --destination ${SUBNET} --match state --state NEW --jump ACCEPT
/usr/sbin/iptables -I INPUT -s ${SUBNET} --jump ACCEPT
/usr/sbin/iptables -I FORWARD -i ${ITF_WAN} --jump ACCEPT
/usr/sbin/iptables -I FORWARD -o ${ITF_WAN} --jump ACCEPT
/sbin/ifconfig $ITF_LAN $IP up

At this point, I’m able to connect a client to the AP and browse internet on the client

1 Like

Can you describe detail step number 2 " You have a SIM card and you are able to establish a data connection ". I think this is my issue ?
Like that
root@fx30:~# cm data connect
Connected through interface ‘rmnet0’

if you’re able to receive see the message

Connected through interface ‘rmnet0’

Then you are able to connect to the cellular network.

See my logs below for your reference

root@fx30s:~# cm sim
SIM card is inserted and unlocked (LE_SIM_READY).

root@fx30s:~# cm radio
Power:      ON
Current Network Operator:
RAT:        UMTS network (LE_MRC_RAT_UMTS)
Status:     Registered, home network (LE_MRC_REG_HOME)
Signal:     Good signal strength (3)

root@fx30s:~# cm data apn FixedPu1

in your case the APN should not be FixedPu1 but something else. you need to check with your operator

root@fx30s:~# cm data
Index:      1
APN:        FixedPu1
PDP Type:   IPV4V6
Connected:  no

root@fx30s:~# cm data connect &
root@fx30s:~# cm data
Connected through interface 'rmnet0'
Index:      1
APN:        hkcsl
PDP Type:   IPV4V6
Connected:  yes

root@fx30:~# cm data
Index: 1
APN: v-internet
PDP Type: IPV4V6
Connected: yes

AP still didn’t work !!! :((

On my side it worked flawlessly so I don’t really know what else to check.
Can you try another FX30 and another IoT card?

Hi @bbo,
I have a other question for you, After you updated firmware where you find out PACKAGE LEGATO to built aplication. I built in Windown IDE environment

Hi @comcom
I advise you to create another forum topic for new questions so the Forum is easier to browse by other community users.
Thanks

Thanks @bbo so much :smile:
:smile::smile:

Hi @bbo,

You can Post the contents of your /etc/network/interfaces file please ? I have the same probleme !

B Regard

Hi @mehdiALL1

here you go:

root@fx30s:~# cat /etc/network/interfaces
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
auto lo
iface lo inet loopback

# Wireless interfaces
iface wlan0 inet manual
    pre-up /etc/init.d/tiwifi start
    post-down /etc/init.d/tiwifi stop

iface atml0 inet dhcp

# Wired or wireless interfaces
auto eth0
iface eth0 inet static
        address 192.168.13.31
        netmask 255.255.255.0
iface eth1 inet dhcp

# Bluetooth networking
iface bnep0 inet dhcp