-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
espefuse.py burn_custom_mac incompatible with 3/4 Coding Scheme #447
Comments
HI @filzek , Thanks for reporting this. We'll look into this ASAP. Can you please give us the output from |
Command run: $ ./espefuse.py --port com3 burn_custom_mac 49:4f:54:00:00:01 We confirmed BURN and BURN again, it finished without error, but when try to read custom mac or flash the firmware it cant read the custom $ ./espefuse.py --port com3 get_custom_mac $ ./espefuse.py --port com3 summary
|
Hi @filzek , Thanks. You have WROVER-B modules with the factory 3/4 Coding Scheme set, and probably this is the bug in espefuse.py. (Some explanation of 3/4 Coding Scheme.) Will let you know as soon as we have a solution. We will also look a way to still set a custom MAC on the modules which have been burned from espefuse v2.7. |
I Have read it, but those Wrover-B was order about 2 months ago direct from Espressif, we are finishing the mass production JIG and this is a huge problem now. Awaiting for you guidance |
Hi @filzek. I'm sorry for the week of silence but I was working on the solution. The fix will be published soon. I have good news regarding your already burned modules. If I'm not missing anything then a subsequent run with the fixed I can help you to determine the right MAC for a given device if you give me the content of Thank you for reporting the issue and sorry for the inconvenience. |
yes, I can send you the dumps and macs, but I think you could explain in the correction code for the efuse burning to solve it, I think the final address of mac shall fit in the final crc8 math, right? so the fix shall burn the missing part of the mac but the al mac must match to the current crc8 burned, is that right? can you send me your email address? |
Yes, you are right. Here is a simple script mac.zip which you can run to calculate the CRC. Using your example we get:
You can find as the first byte the CRC
That is why you cannot burn it to 49:4f:54:00:00:02 (or anything else) because the CRC of 49:4f:54:00:00:01 is already there only it was written without the least significant byte of 01. The fix will write
and correct the MAC. If you still want to send me anything then my address is removed. |
Hi @filzek. The fix is now in the master branch. Can you please pull it and confirm that it works? Please save all the logs and if anything goes wrong then report back to me immediately and don't try it on other devices. However, I've tested it and believe that it should work. Note that on the previously (partially) burned devices you need to use the |
./espefuse.py --port com3 burn_custom_mac AA:BB:CC:00:00:01
espefuse.py v2.7-dev
Connecting.....
CONFIRM BURN, AND BURN!
it ends normal without any warning, but there is a problem as it doenst burn correct macaddress and save in the flash.
$ espefuse.py --port com3 get_custom_mac
espefuse.py v2.7-dev
Connecting.....
Custom MAC Address is not set in the device.
./espefuse.py --port com3 burn_custom_mac AA:BB:CC:00:00:01
espefuse.py v2.7-dev
Connecting.....
A fatal error occurred: Custom MAC Address was previously burned (AA:BB:CC:00:00:00)!
IT is not AA:BB:CC:00:00:01 and also the esp-idf dev cant read the custom mac address from flash!!!
The text was updated successfully, but these errors were encountered: