Well,I just wonder why we have to set mac address first to make the advertise function normal,since the bluez stack assigned a random address already. And also, why command advertise on take efforts but hcitool commands can not. So many differences between hcitools and bluetoothctl, Hope anyone can give an accurate explanation.