Is there a way to stop while ubooting or I need to execute something like following?
adb reboot uboot
Is there a way to stop while ubooting or I need to execute something like following?
adb reboot uboot
I would only try to use an USB to serial cable and keep enter key pressed while the vim boots up
Unfortunately even if I hold ENTER, it boots Android⦠However, when I was holding POWER, then pressed RESET I was presented with Android Recovery menu, so I chose Reboot to Bootloader. Looks like Iām in uboot:
But now I canāt get out Reboot command keeps returning me back to this nasty bootloader and Android doesnāt bootā¦
Update:
Figured how to get out: from Android recovery choose to mount /system and then boot system - Android loads then.
Anyway, even though Iāve seen:
This MAC address is still not present on device when it boots
Interestingly only ethernet MAC address changes - it seems WLAN and Bluetooth addresses remains the same over reboots.
The only way I managed to successfully set up ethernet MAC address was executing following when Android was booted:
So the ethernet MAC was set, but it was reset after reboot
Hi, Gytis:
Any new process on this?
May be you can try with a new MAC Address, as some invalid address may not works.
Well, I generated MAC address using this generator and it still does not persist
kvim#setenv ethaddr ā99:EA:4F:10:DF:FDā
kvim#saveenv
Saving Environment to aml-storageā¦
mmc env offset: 0x27400000
Writing to MMC(1)⦠done
But after reboot itās again random ethernet addressā¦
kvim#setenv ethaddr ā99:EA:4F:10:DF:FDā
The ethernet address is invalid.
You can try to use the mac ā98:aa:fc:60:44:caā
Thanks.
Gytis:
kvim#setenv ethaddr ā99:EA:4F:10:DF:FDā
The ethernet address is invalid.
You can try to use the mac ā98:aa:fc:60:44:caā
Thanks.
Yes, that worked!
How do you know when ethernet MAC address is valid?
kvim#setenv ethaddr ā99:EA:4F:10:DF:FDā
The second bit must be even. You can try to set ethaddr following below list
Gytis:
kvim#setenv ethaddr ā99:EA:4F:10:DF:FDā
The second bit must be even. You can try to set ethaddr following below list
- 98:EA:4F:10:DF:FD
- 96:EA:4F:10:DF:FD
- 94:EA:4F:10:DF:FD
- 92:EA:4F:10:DF:FD
- 90:EA:4F:10:DF:FD
Just confirming that this method works as expected on built Ubuntu image as well
Any idea how to burn WLAN and Bluetooth MACs?
@Terry Any advice how to burn WLAN and Bluetooth MAC addresses?
Any advice how to burn WLAN and Bluetooth MAC addresses?
You can refer to following post. But the mac wasnāt parsed and you need to add source code to support it on Wi-Fi module and Bluetooth library.
Hi @Terry, I was looking into how to program MAC addresses and serial numbers so that they can survive complete firmware upgrades. Iāve found this thread: http://forum.khadas.com/t/duplicate-mac-addresses-and-serial-numbers What was the rationale for this commit? MAC addresses usually use 6 bytes, and UIDs 128 bits, so why did you change that to assign 12 bytes to all the keys? Do you know why mac, mac_bt, mac_wifi, and usid are in both efuse and unifykey? In unifykey, they are in the nā¦
About Wi-Fi mac address , You can see following line.
- #if WIRELESS_EXT < 19
- net->get_wireless_stats = dhd_get_wireless_stats;
- #endif /* WIRELESS_EXT < 19 */
- #if WIRELESS_EXT > 12
- net->wireless_handlers = (struct iw_handler_def *)&wl_iw_handler_def;
- #endif /* WIRELESS_EXT > 12 */
- #endif /* defined(WL_WIRELESS_EXT) */
- dhd->pub.rxsz = DBUS_RX_BUFFER_SIZE_DHD(net);
- memcpy(net->dev_addr, temp_addr, ETHER_ADDR_LEN);
- if (ifidx == 0)
- printf("%s\n", dhd_version);
- #ifdef WL_EXT_IAPSTA
- else if (!strncmp(net->name, "wl0.", strlen("wl0."))) {
- wl_android_ext_attach_netdev(net, ifidx);
- }
- #endif
- if (need_rtnl_lock)
Iām not sure if Iāve understood⦠What about burning WiFi and Bluetooth MAC addresses on Ubuntu (not Android) - some sources needs to be added?
If you only burn WIFI and Bluetooth MAC addresses with OTP or other, Itās invalid for now.
You need to modify source code to support it.
Thanks
Is it possible to set the MAC address in the source code so that it is different for every board and doesnt have to be changed via the uboot serial console? i.e. change something in the u-boot or kernel source code to set it. This works but it a long and difficult job for me to get to the header to put the serial connections on. Doing it in /etc/network/interfaces/eth0 is also tricky as the dhcp server gets very confused with all the mac addresses and have to do one at a time and wait between time (i have a rubbish router!). Im using ubuntu,
Can it be set to something based off part of the CPU serial number for instance?
Really want it to just be a case of burning a new image to the board via usb-c cable and not needing to get into u-boot.
thank you!
Hi Birty:
Another way is that the MCU on VIM2 support customizing serial number, you might intersting in:
The KBI is an abbreviation for Khadas Bootloader Instructions, which is developed based on the following purposes: Manage the programable MCU Do the low level hardware management Let developers rock all the features of Khadas VIM2 The document describes how to setup, configure and use the KBI. As the KBI is one of the U-Boot commands, so to get start you have to setup the Serial Debugging Tool first. To continue the reading, make sure you have boot into the U-Boot: normal power off boot wolā¦
https://docs.khadas.com/vim2/McuDevelop.html
Regarding the CPU serial number, @Terry will repsonse you.
Good day!
Thanks @Gouwa - that info will be useful as well! Need to get them all on a network without going board by board first ! Thanks
You need to modify source code to support it.
How exactly do I do that?
no solution for ubuntu?
setenv ethaddr ā00:15:18:01:81:32ā
setenv ethaddr ā00:15:18:01:81:32ā
comand setenv not foundā¦
can you develop this idea how should I do it? because you have not described anything because the pussy has to edit something somewhere.
bump! anyone know?..