wifi P2P with i.mx8m Plus

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

wifi P2P with i.mx8m Plus

908 Views
elenagarcia
Contributor I

I am trying to make wifi P2P work using i.MX 8M Plus with Yocto 4.0, and TI DP83867 phy.

I am basically following the instructions here:

https://www.digi.com/resources/documentation/digidocs/90001515/reference/yocto/wlan_ug/r_wlanug_wifi...

issuing the command "iw phy" shows that

* P2P-client (Client)
* P2P-GO (Group owner)
* P2P-device

are supported, so in theory both phys support wifi P2P operation.

The other computer is an X86 system running Debian 11.

The command p2p_find sees on both i.mx8m plus and the x86 system the other system.

But when I ping the other system, the wifi driver crashes.

Am I missing something? I am thankful for any help on this topic,

 

 

 

 

0 Kudos
Reply
3 Replies

896 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @elenagarcia,

I hope you are doing well.

Please share the console logs, dmesg logs and the sequence of commands you run to debug the issue.

Thanks & Regards,
Sanket Parekh

0 Kudos
Reply

890 Views
elenagarcia
Contributor I

Thanks for approaching the issue,

 

The commands I issue are:

Firtst create a file named test.conf  in /lib/firmware/nxp, with the following content:

 

ctrl_interface=/var/run/wpa_supplicant
update_config=1
device_name=mint
device_type=2-0050F204-1
p2p_listen_reg_class=81
p2p_listen_channel=1
p2p_oper_reg_class=81
p2p_oper_channel=1
p2p_go_intent=1
p2p_no_group_iface=1

Then I run:

 

DebianYocto i.mx8m plus
/sbin/wpa_supplicant -i wlp3s0 -c p2p.conf -Dnl80211wpa_supplicant -i mlan0 -c wifi-p2p.conf -Dnl80211
/sbin/wpa_cli -i wlp3s0wpa_cli -i mlan0
  

 

The command p2p_find finds the MAC of the other system for each of the systems. The problems is when connecting:

Then I test the different autorization mechanisms, like described here:https://www.digi.com/resources/documentation/digidocs/90001515/reference/yocto/wlan_ug/r_wlanug_wifi...

The process of setting a pin on one of the peers is the following:

 

One peer must be the go (group owner)

p2p_group_add adds a group

interface lists the new interface for that group

wps_pin any creates a new random pin, which must be used to connect from the other device

 

On the other device:

connect <mac> <pin> join should connect the two peers

 

But this fails.

For both methods PCB and PIN, I see in the serial console of the i.mx8m plus that the wifi kernel driver crashes.

These are the output to the connect command:


mlan0: Trying to associate with d2: b2:0c:cd: 37:e2 (SSID='DIRECT-Jo' freq=2412 MHz) mlano: Association request to the driver failed
mlan0: CTRL-EVENT-SCAN-FAILED ret=-14 retry=1
rfkill: Cannot open RFKILL control device
mlan0: Trying to associate with d2: b2:0c:cd: 37: e2 (SSID='DIRECT-Jo' freq=2412 MHz) mlano: Association request to the driver failed
rfkill: Cannot open RFKILL control device
mlan0: Trying to associate with d2: b2:0c:cd: 37: e2 (SSID='DIRECT-Jo' freq=2412 MHz) mlano: Association request to the driver failed
nl80211: Failed to write to /proc/sys/net/ipv4/conf/mlan0/drop_unicast_in_12_multicast: No su ch file or directory
nl80211: Failed to set IPv4 unicast in multicast filter
rfkill: Cannot open RFKILL control device
mlan0: Trying to associate with d2: b2:0c:cd: 37:e2 (SSID='DIRECT-Jo' freq=2412 MHz) mlano: Association request to the driver failed
rfkill: Cannot open RFKILL control device
mlan0: Trying to associate with d2: b2:0c:cd: 37:e2 (SSID='DIRECT-Jo' freq=2412 MHz)

 

This is the serial console log:

[176.666698] mwifiex_sdio mmc0:0001:1: ===mwifiex driverinfo dump end=== [ 176.673365] mwifiex_sdio mmc0:0001:1: mwifiex firmware dump start ==
==
[176.701826] mwifiex_sdio mmc0:0001:1: Fail to pull ctrl_data
[ 176.707505] mwifiex_sdio mmc0:0001:1: firmware dump failed
[176.713027] mwifiex_sdio mmc0:0001:1: == mwifiex dump information to /sys/class/devcoredump start [176.722042] mwifiex_sdio mmc0:0001:1: == mwifiex dump information to /sys/class/devcoredump end [176.731013] mwifiex_sdio mmc0:0001:1: info: shutdown mwifiex...
[176.737814] mwifiex_sdio mmc0:0001:1: PREP_CMD: card is removed 176.743824] mwifiex_sdio mmc0:0001:1: PREP_CMD: card is removed
[176.825598] mmc0: card 0001 removed
[176.931210] mmc0: new ultra high speed SDR104 SDIO card at address 0001
[ 176.941738] Bluetooth: vendor=0x2df, device=0x9142, class-255, fn=2
[ 177.822697] mwifiex_sdio mmc0:0001:1: info: FW download over, size 621896 bytes 178.693716] btmrvl_sdio mmc0:0001:2: fail to parse irq_bt from device tree
178.700631] mwifiex_sdio mmc0:0001:1: WLAN FW is active
[ 178.746580] mwifiex_sdio mmc0:0001:1: Unknown api_id: 3
[ 178.751838] mwifiex_sdio mmc0:0001:1: Unknown api_id: 4
[178.757091] mwifiex_sdio mmc0:0001:1: Unknown GET_HW_SPEC TLV type: 0x217
[178.783054] mwifiex_sdio mmc0:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (16.68.1.p179) [178.791201] mwifiex_sdio mmc0:0001:1: driver_version = mwifiex 1.0 (16.68.1.p179)

0 Kudos
Reply

855 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport

Hello @elenagarcia,

I hope you are doing well.

Please check the suggestions below.

• Edit wifi_mod_para.conf configuration file to add p2p_enh=1 and host_mlme=1 parameter-value pairs
• Load the modules in the kernel:
modprobe moal mod_para=nxp/wifi_mod_para.conf

• Start the wpa_supplicant
killall wpa_supplicant
killall hostapd
wpa_supplicant -g/var/run/wpa_supplicant-global -D nl80211 –B &

Now one can start the wpa_cli

Thanks & Regards,
Sanket Parekh

0 Kudos
Reply