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.
Solved! Go to Solution.
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
}
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)
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"
?
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
}
Sorry for the delay in checking. I solved it that way. Thank you !