How to set up dual mac 88W9098

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

How to set up dual mac 88W9098

Jump to solution
1,573 Views
masakiyo
Contributor II

Hello.

We are evaluating 88W9098.

Now, the following four interfaces are visible on the dual-mac 88W9098.

mlan0 Link encap:Ethernet HWaddr 60:09:C3:81:F6:0D
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

mmlan0 Link encap:Ethernet HWaddr 60:09:C3:81:F6:0E
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

muap0 Link encap:Ethernet HWaddr 62:09:C3:81:F7:0E
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

uap0 Link encap:Ethernet HWaddr 62:09:C3:81:F7:0D
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

 

The mlan0 and uap0 are first MAC/PHY, and the mmlan0 and muap0 are the second MAC/PHY.

We want to use the first MAC/PHY with mlan0 only and the second MAC/PHY with muap0 only.

Is this possible? And please tell me the driver settings for that.

0 Kudos
Reply
1 Solution
1,474 Views
cdoumenc
NXP Employee
NXP Employee

Hello,

You can also use the parameters as below to disable mmlan0 and uap0 interface :
- SD9098_0 use drv_mode=1
- SD9098_1 use drv_mode=2

set drv_mode in a configuration file when loading driver (ex : modprobe moal mod_para=nxp/wifi_mod_para.conf) as the following :

Verified configurations:
SD9098_0 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=1
auto_ds=1
host_mlme=1
drv_mode=1
fw_name=nxp/sdiouart9098_combo_v1.bin
}

SD9098_1 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=1
auto_ds=1
host_mlme=1
drv_mode=2
fw_name=nxp/sdiouart9098_combo_v1.bin
}

View solution in original post

4 Replies
1,552 Views
masakiyo
Contributor II

This is the log when installing the driver.

root@colibri-imx6ull-06984422:~# cat /etc/modprobe.d/jody-w3-module.conf
blacklist btmrvl_sdio
blacklist btmrvl
blacklist bluetooth
blacklist mwifiex_sdio
blacklist mwifiex

alias sdio:c*v02DFd9149* jody-w3-sdio
options jody-w3-sdio fw_name=nxp/sdiouart9098_combo_v1.bin
options jody-w3-sdio cal_data_cfg=none
options jody-w3-sdio cfg80211_wext=0xf
options jody-w3-sdio drv_mode=3
options jody-w3-sdio drvdbg=7
install mlan_jody-w3-sdio :
install jody-w3-sdio \
/sbin/modprobe -i mlan; \
/sbin/modprobe -i moal $CMDLINE_OPTS
remove jody-w3-sdio \
/sbin/rmmod sd8xxx mlan

root@colibri-imx6ull-06984422:~# modprobe jody-w3-sdio
[ 52.666772] mlan: loading out-of-tree module taints kernel.
[ 52.841735] wlan: Loading MWLAN driver
[ 52.846234] wlan: Register to Bus Driver...
[ 52.856548] vendor=0x02DF device=0x914D class=0 function=1
[ 52.862431] Attach moal handle ops, card interface type: 0x106
[ 52.869606] rps set to 0 from module param
[ 52.873867] No module param cfg file specified
[ 52.879670] SDIO: max_segs=128 max_seg_size=65535
[ 52.884673] rx_work=0 cpu_num=1
[ 52.888892] Attach mlan adapter operations.card_type is 0x106.
[ 52.896497] wlan: Enable TX SG mode
[ 52.900145] wlan: Enable RX SG mode
[ 52.914334] Request firmware: nxp/sdiouart9098_combo_v1.bin
[ 53.510047] Wlan: FW download over, firmwarelen=845044 downloaded 685820
[ 53.757884] WLAN FW is active
[ 53.761297] on_time is 53757319297
[ 53.776425] VDLL image: len=159224
[ 53.783413] fw_cap_info=0xc8fcffa3, dev_cap_mask=0xffffffff
[ 53.789406] max_p2p_conn = 8, max_sta_conn = 64
[ 53.911180] Register NXP 802.11 Adapter mlan0
[ 53.939689] wlan: uap%d set max_mtu 2000
[ 53.999044] Register NXP 802.11 Adapter uap0
[ 54.005107] wlan: version = SD9098----17.92.1.p116.1-MM5X17391.p3-GPL-(FP92)
[ 54.087482] vendor=0x02DF device=0x914E class=0 function=2
[ 54.156332] Attach moal handle ops, card interface type: 0x106
[ 54.203269] rps set to 0 from module param
[ 54.210296] No module param cfg file specified
[ 54.254256] SDIO: max_segs=128 max_seg_size=65535
[ 54.261724] rx_work=0 cpu_num=1
[ 54.294364] Attach mlan adapter operations.card_type is 0x106.
[ 54.319658] wlan: Enable TX SG mode
[ 54.325989] wlan: Enable RX SG mode
[ 54.374404] Request firmware: nxp/sdiouart9098_combo_v1.bin
[ 54.407259] WLAN FW already running! Skip FW download
[ 54.516243] WLAN FW is active
[ 54.521823] on_time is 54517847464
[ 54.667756] VDLL image: len=159224
[ 54.742841] fw_cap_info=0x68fcffa3, dev_cap_mask=0xffffffff
[ 54.751169] max_p2p_conn = 8, max_sta_conn = 64
[ 54.926357] Register NXP 802.11 Adapter mmlan0
[ 54.935121] wlan: muap%d set max_mtu 2000
[ 55.025671] Register NXP 802.11 Adapter muap0
[ 55.032804] wlan: version = SD9098----17.92.1.p116.1-MM5X17391.p3-GPL-(FP92)
[ 55.185587] wlan: Register to Bus Driver Done
[ 55.192553] wlan: Driver loaded successfully
root@colibri-imx6ull-06984422:~# [ 55.891740] muap0: Skip change virtual intf type on uap: from 3 to 2
[ 56.712079] wlan: mlan0 START SCAN
[ 56.802376] wlan: mmlan0 START SCAN

root@colibri-imx6ull-06984422:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:14:2D:6A:92:E6
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:169 errors:0 dropped:0 overruns:0 frame:0
TX packets:169 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12584 (12.2 KiB) TX bytes:12584 (12.2 KiB)

mlan0 Link encap:Ethernet HWaddr 5E:0C:5F:53:C7:87
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

mmlan0 Link encap:Ethernet HWaddr 1A:5F:A0:49:0B:8A
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

muap0 Link encap:Ethernet HWaddr A6:89:B1:4C:7E:57
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

uap0 Link encap:Ethernet HWaddr 62:09:C3:81:F7:0D
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

usb0 Link encap:Ethernet HWaddr AA:25:17:F6:9D:9E
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

 

This is the error log when trying to disable mmlan0 (change second MAC/PHY to uAP mode).

root@colibri-imx6ull-06984422:~# echo drv_mode=2 > /proc/mwlan/adapter1/config
[ 279.284811] woal_close: woal_disconnect failed
[ 279.297436] 8<--- cut here ---
[ 279.302843] Unable to handle kernel paging request at virtual address 00002d24
[ 279.314972] [00002d24] *pgd=00000000
[ 279.320939] Internal error: Oops: 5 [#1] SMP ARM
[ 279.327925] Modules linked in: l2tp_ppp pppox moal(O) mlan(O) mcp251x imx_sdma fuse
[ 279.340512] CPU: 0 PID: 225 Comm: kworker/0:5 Tainted: G O 6.1.22-6.2.0-devel+git.3b29299e5f60 #1
[ 279.355924] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[ 279.364763] Workqueue: events sdio_irq_work
[ 279.371623] PC is at mlan_interrupt+0x4/0xc [mlan]
[ 279.379439] LR is at woal_sdio_interrupt+0x50/0xa8 [moal]
[ 279.388093] pc : [<bf03265c>] lr : [<bf14ea70>] psr: 400f0113
[ 279.397058] sp : e0e2dee0 ip : 2c000000 fp : 00000000
[ 279.404974] r10: c1004bbc r9 : c1004b8c r8 : c2584bc4
[ 279.412884] r7 : c2569a40 r6 : bf174b2c r5 : c3581000 r4 : c3580000
[ 279.422129] r3 : 00002000 r2 : 00000001 r1 : 00000000 r0 : 00000000
[ 279.431368] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 279.441334] Control: 10c5387d Table: 835b806a DAC: 00000051
[ 279.449919] Register r0 information: NULL pointer
[ 279.457467] Register r1 information: NULL pointer
[ 279.464944] Register r2 information: non-paged memory
[ 279.472743] Register r3 information: non-paged memory
[ 279.480537] Register r4 information: non-slab/vmalloc memory
[ 279.488924] Register r5 information: non-slab/vmalloc memory
[ 279.497245] Register r6 information: 199-page vmalloc region starting at 0xbf0c8000 allocated at load_module+0x9b0/0x1e48
[ 279.513573] Register r7 information: slab task_struct start c2569a40 pointer offset 0
[ 279.526941] Register r8 information: slab kmalloc-2k start c2584800 pointer offset 964 size 2048
[ 279.541371] Register r9 information: non-slab/vmalloc memory
[ 279.549921] Register r10 information: non-slab/vmalloc memory
[ 279.558560] Register r11 information: NULL pointer
[ 279.566158] Register r12 information: non-paged memory
[ 279.574018] Process kworker/0:5 (pid: 225, stack limit = 0x99df7eb9)
[ 279.583119] Stack: (0xe0e2dee0 to 0xe0e2e000)
[ 279.590180] dee0: 00000002 00000000 c2584800 c08a0478 00000000 e0e2defa 00040122 03410e75
[ 279.603757] df00: e0e2df54 c24fd2ec c24fd000 d3b769c0 d3b79c00 00000000 c2569a40 d3b79c05
[ 279.617544] df20: 00000000 c08a074c c24fd2ec c2b41980 d3b769c0 c013e388 d3b769c0 d3b769c0
[ 279.631492] df40: d3b769dc c2b41980 d3b769c0 c2b41998 d3b769dc c1203d40 00000008 c2569a40
[ 279.645658] df60: d3b769c0 c013e5d4 00000000 c288b9c0 c2569a40 c013e598 c2b41980 c288b140
[ 279.660013] df80: e0939ebc 00000000 00000000 c014645c c288b9c0 c0146394 00000000 00000000
[ 279.674460] dfa0: 00000000 00000000 00000000 c0100168 00000000 00000000 00000000 00000000
[ 279.689284] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 279.704530] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 279.720184] mlan_interrupt [mlan] from woal_sdio_interrupt+0x50/0xa8 [moal]
[ 279.732010] woal_sdio_interrupt [moal] from process_sdio_pending_irqs+0xf8/0x1f4
[ 279.747491] process_sdio_pending_irqs from sdio_irq_work+0x3c/0x64
[ 279.757585] sdio_irq_work from process_one_work+0x1dc/0x3ec
[ 279.767021] process_one_work from worker_thread+0x3c/0x538
[ 279.776340] worker_thread from kthread+0xc8/0xe8
[ 279.784789] kthread from ret_from_fork+0x14/0x2c
[ 279.793240] Exception stack(0xe0e2dfb0 to 0xe0e2dff8)
[ 279.802064] dfa0: 00000000 00000000 00000000 00000000
[ 279.817741] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 279.833420] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 279.843842] Code: bf0a6bd4 0000012e bf0a6bf0 e2813a02 (e5933d24)
[ 279.853873] ---[ end trace 0000000000000000 ]---

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.320939] Internal error: Oops: 5 [#1] SMP ARM

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.574018] Process kworker/0:5 (pid: 225, stack limit = 0x99df7eb9)

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.583119] Stack: (0xe0e2dee0 to 0xe0e2e000)

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.590180] dee0: 00000002 00000000 c2584800 c08a0478 00000000 e0e2defa 00040122 03410e75

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.603757] df00: e0e2df54 c24fd2ec c24fd000 d3b769c0 d3b79c00 00000000 c2569a40 d3b79c05

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.617544] df20: 00000000 c08a074c c24fd2ec c2b41980 d3b769c0 c013e388 d3b769c0 d3b769c0

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.631492] df40: d3b769dc c2b41980 d3b769c0 c2b41998 d3b769dc c1203d40 00000008 c2569a40

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.645658] df60: d3b769c0 c013e5d4 00000000 c288b9c0 c2569a40 c013e598 c2b41980 c288b140

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.660013] df80: e0939ebc 00000000 00000000 c014645c c288b9c0 c0146394 00000000 00000000

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.674460] dfa0: 00000000 00000000 00000000 c0100168 00000000 00000000 00000000 00000000

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.689284] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.704530] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.720184] mlan_interrupt [mlan] from woal_sdio_interrupt+0x50/0xa8 [moal]

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.732010] woal_sdio_interrupt [moal] from process_sdio_pending_irqs+0xf8/0x1f4

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.747491] process_sdio_pending_irqs from sdio_irq_work+0x3c/0x64

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.757585] sdio_irq_work from process_one_work+0x1dc/0x3ec

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.767021] process_one_work from worker_thread+0x3c/0x538

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.776340] worker_thread from kthread+0xc8/0xe8

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.784789] kthread from ret_from_fork+0x14/0x2c

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.793240] Exception stack(0xe0e2dfb0 to 0xe0e2dff8)

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.802064] dfa0: 00000000 00000000 00000000 00000000

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.817741] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.833420] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000

Message from syslogd@colibri-imx6ull-06984422 at Feb 12 10:13:18 ...
kernel:[ 279.843842] Code: bf0a6bd4 0000012e bf0a6bf0 e2813a02 (e5933d24)

 

0 Kudos
Reply
1,536 Views
cdoumenc
NXP Employee
NXP Employee

Hello,

I am checking internally. I will let you know.

In the meantime, did you check User Manual UM11583 Getting Started with 88W9098/88Q9098 Evaluation Board – User manual you will find on product page https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/2-4-5-ghz-dual... (see chapter "7 Wi-Fi bring-up and testing") ?

Aren't the following commands matching your needs :
"ifconfig uap0 down"
"ifconfig mmlan0 down"
?

0 Kudos
Reply
1,475 Views
cdoumenc
NXP Employee
NXP Employee

Hello,

You can also use the parameters as below to disable mmlan0 and uap0 interface :
- SD9098_0 use drv_mode=1
- SD9098_1 use drv_mode=2

set drv_mode in a configuration file when loading driver (ex : modprobe moal mod_para=nxp/wifi_mod_para.conf) as the following :

Verified configurations:
SD9098_0 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=1
auto_ds=1
host_mlme=1
drv_mode=1
fw_name=nxp/sdiouart9098_combo_v1.bin
}

SD9098_1 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=1
auto_ds=1
host_mlme=1
drv_mode=2
fw_name=nxp/sdiouart9098_combo_v1.bin
}

1,384 Views
masakiyo
Contributor II

Sorry for the delay in checking. I solved it that way. Thank you !

0 Kudos
Reply