How to read/write MAC address on Marvell 88W8801 wifi chip?

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

How to read/write MAC address on Marvell 88W8801 wifi chip?

569 Views
barry_HT_chen
Contributor I

I want to read/write the MAC address on Marvell 88W8801 wifi chip. 

Can you share the document to me. Thanks. 

0 Kudos
Reply
6 Replies

473 Views
barry_HT_chen
Contributor I

Thanks. As far as I know, we should write MAC and some RF data into bin file (sd8801_uapsta.bin). 

But I do not know the BIN file format and do not know how to write RF data into bin file. Is there any document describing the BIN file format?

0 Kudos
Reply

459 Views
cdoumenc
NXP Employee
NXP Employee

Are you using a module among https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/2-4-ghz-single... ?
For example, if you are using ublox module LILY-W131-00B, you will see on module page https://www.u-blox.com/en/product/lily-w1-series?legacy=Current#Documentation-&-resources in the Sw Integration Manual (direct link = https://www.u-blox.com/sites/default/files/LILY-W1_SIM_UBX-15027600.pdf) at chapter "3.7 Reserving MAC addresses" how to change default MAC addresses :

The default MAC address of the module can be changed using init_cfg.conf file: This file is provided along with the command options while loading the module.


File: /lib/firmware/mrvl/init_cfg.conf
# MAC address (interface: address)
mac_addr=mlan0: 00:50:43:20:12:34
mac_addr=uap0: 00:50:43:20:12:35
mac_addr=wfd0: 02:50:43:20:12:36


This is an example of changing the MAC addresses of the Wi-Fi interfaces. Change the init_cfg.conf file as per the requirements and also make sure that each interface is assigned a unique MAC address to avoid conflicts. The driver expects the init_cfg.conf file to be present in the /lib/firmware directory to access.


# modprobe command with init_cfg.conf file:
modprobe usb8801 cfg80211_wext=0xf init_cfg=mrvl/init_cfg.conf
# ifconfig –a | grep HWaddr
mlan0 Link encap:Ethernet HWaddr 00:50:43:20:12:34
uap0 Link encap:Ethernet HWaddr 00:50:43:20:12:35
wfd0 Link encap:Ethernet HWaddr 02:50:43:20:12:36

0 Kudos
Reply

454 Views
cdoumenc
NXP Employee
NXP Employee

RF data writing : if you are speaking of calibration, you are supposed to check with your module vendor. + see doc AN12112 on product page https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/2-4-ghz-single...

0 Kudos
Reply

433 Views
barry_HT_chen
Contributor I

I used the chip on board, not module. This project was a long time ago. I was missing the document how to write mac address in the bin file. I attach the BIN file. If you can, please share the document to me. Or it would be better if the document could describe the BIN file format.

 

 

0 Kudos
Reply

417 Views
cdoumenc
NXP Employee
NXP Employee

ok, I better understand your needs now.

I think the document you are referring to is AN12107 that you will find on product page https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/2-4-ghz-single...

Here is the direct link to it : https://www.nxp.com/webapp/Download?colCode=LABTOOL-USER-GUIDE0_06_AN12107&appType=license

0 Kudos
Reply

552 Views
cdoumenc
NXP Employee
NXP Employee

If your question is for Linux OS, you can check, as an example, doc UM11483 "Getting Started with NXP-based Wireless Modules on i.MX 8M Quad EVK Running Linux OS" on product page https://www.nxp.com/products/wireless-connectivity/wi-fi-plus-bluetooth-plus-802-15-4/2-4-ghz-single...
Especially chapter "5.7 Bring-up of 88W8801-based Murata module LBWA0ZZ2DS" which shows, after drivers modules have been loaded, the output of command "ifconfig -a" :


eth0: flags=-28669<UP,BROADCAST,MULTICAST,DYNAMIC> mtu 1500
    ether 00:04:9f:06:c5:a5 txqueuelen 1000 (Ethernet)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 0 bytes 0 (0.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
    inet 127.0.0.1 netmask 255.0.0.0
    inet6 ::1 prefixlen 128 scopeid 0x10<host>
    loop txqueuelen 1000 (Local Loopback)
    RX packets 140 bytes 10736 (10.4 KiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 140 bytes 10736 (10.4 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
mlan0: flags=4098<BROADCAST,MULTICAST> mtu 1500
    ether c4:ac:59:a4:51:47 txqueuelen 1000 (Ethernet)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 0 bytes 0 (0.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
p2p0: flags=4098<BROADCAST,MULTICAST> mtu 1500
    ether c6:ac:59:a4:51:47 txqueuelen 1000 (Ethernet)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 0 bytes 0 (0.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
uap0: flags=4098<BROADCAST,MULTICAST> mtu 1500
    ether c4:ac:59:a4:52:47 txqueuelen 1000 (Ethernet)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 0 bytes 0 (0.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

STA interface MAC is c4:ac:59:a4:51:47

uAP interface MAC is c4:ac:59:a4:52:47

0 Kudos
Reply