MFG test driver on BCM43364

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I have a BCM943364WCD1 Eval board which I'm trying to flash the mfg test FW on. My expectation is to see the label "(WLTEST)" when querying for the driver version through the wl application.

I have downloaded the WICED 3.7.0 SDK, and the "make" command I used to try to get the FW on there is "make test.mfg_test-BCM943364WCD1-ThreadX-NetX_Duo-SDIO". After this I navigate via the cmd line to where the wl applications are located and I start sending commands with the application wl43364A1.

Right now, when I send the command to get the driver version, I get the following response:

...> wl43364A1.exe --serial 6 ver

7.45 RC41.0

wl0: Jun 16 2015 11:58:55 version 7.45.41 (r554772) FWID 01-f160f50b

I expect to see in the response the label "(WLTEST)" to indicate that this is the proper manufacturing version. How do I achieve this? Is there a different make command I must use, or a different wl application?

0 Likes
1 Solution
Anonymous
Not applicable

Turns out I need to use a different make command to upload the manufacturing version of the driver onto the board. Putting it here for other's reference:

test.mfg_test-BCM943364WCD1 download download_apps run

Thanks to all who took the time to reply to this thread

View solution in original post

6 Replies
ShawnA_01
Employee
Employee
10 questions asked 5 comments on KBA First comment on KBA

Hi Jason,

The "wl ver" command is useful to verify the communications path between the main MCU and the MCU that is running down inside the WiFi device.

During WICED initialization, the main MCU downloads the radio binary firmware (usually over SDIO bus) down into the RAM on the WiFi device where a second MCU operates the WiFi radio.  There are actually 2 MCUs in the system!  (you have no control over the one running in the radio -- "wl ver" reports the version of firmware running down in the radio).

I haven't tried it, but use a binary file editor, and browse through the radio binary file associated with the WiFi chip you're using to search for the text (version 7.45.41).... example below:

pastedImage_0.png

Anonymous
Not applicable

Hi Shawn,

At the risk of inviting side-tracking, what would be a good binary file editor? I've tried loading the .bin file directly into Notepad++ and it just returns a bunch of junk characters.

0 Likes

You could also use the strings command. On MAC i do the following below.  The strings command find the strings in a binary file and then I pipe that to grep to get the actual version.

Venkats-MBP-4:WICED-SDK-MFi-3.7.0-3 venkat$ strings ./resources/firmware/43341/43341B0.bin | grep CRC

43341b0-roml/sdio-ag-pool-idsup-idauth-p2p-pno-pktfilter-keepalive-aoe-autoabn-sr Version: 6.49.2.0 CRC: 6b3b35ab Date: Wed 2015-11-25 14:05:07 PST Ucode Ver: 764.1134 FWID: 01-1302682f

I don't have a MAC, but have had great success with a Free Windows Utility called HEXEDIT from Catch22 Productions. You can get it here: Catch22 | Win32 Software & Programming Tutorials

Here is a screenshot of what I found in the ~WICED-SDK-3.7.0/WICED-SDK/resources/firmware/43364/43364A1-mfgtest.bin file:

pastedImage_0.png

You can see that some of the "fields" in the prinf() statement get filled it at run-time, not compile time.

Anonymous
Not applicable

I was able to find that exact set of text in that part of the file via HEXEDIT. I also found this at the end of the file:

43364A1-mfgtest_end-file.PNG

Not sure if it is relevant or not. In any case, the purpose of getting the correct manufacturing test version is to have certain commands enabled, such as "pkteng_start [MAC address] tx ..." among others (I assume there are other commands that will be enabled with "pkteng_start" when the correct driver is loaded.)

0 Likes
Anonymous
Not applicable

Turns out I need to use a different make command to upload the manufacturing version of the driver onto the board. Putting it here for other's reference:

test.mfg_test-BCM943364WCD1 download download_apps run

Thanks to all who took the time to reply to this thread