iBeacon Firmware Error

Hi Estimote team,

I'm trying to change the major and minor values of my beacons, from what I've read I need to update my firmware, but when I try to read the firmware information of the beacons I get an error: "Error Domain= Code=404 "Firmware info not available" UserInfo=0x16e7c830 {NSLocalizedDescription=Firmware info not available}".

How do I update the firmware?

Thank you in advance

I have discussed the issue with Ivan via email, and we managed to resolve the situation. In case you encounter similar problems, remember to:

  1. Use the latest version of our software. You can get it from here: https://itunes.apple.com/us/app/estimote-virtual-beacon/id686915066
  2. Use the latest version of our SDK. You'll find it on GitHub: https://github.com/Estimote/
  3. Set the Beacon's delegate

As for firmware updates: It's possible with the latest version of our app. At the moment of writing, for iOS, it's version 2.1.


Followed your information above and still getting 404, "major info not available"

  • (IBAction)writeMajor:(id)sender {

    // call the major write function
    [self.beacon connectToBeacon];
    [self.beacon.delegate self];

    NSNumberFormatter* formatter = [NSNumberFormatter new];
    [formatter setNumberStyle:NSNumberFormatterDecimalStyle];

    NSNumber* number = [formatter numberFromString:self.majorTextInput.text];

    [self.beacon writeBeaconMajor:[number unsignedShortValue] withCompletion:^(unsigned short value, NSError* error) {
    if (error) {
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Estimote write error"
    message:[error localizedDescription]

        [alert show];
        self.oldBeaconLabel.text = [NSString stringWithFormat:@"%hu", value];
        [self.beacon disconnectBeacon];


Hi Jgervin,

I'm sorry for late answer.

If you want to change any parameter of the beacons you need to successfully connect to the beacon first. You need to remember that connection to the beacon is asynchronous operation. You can not modify parameters immediately after connection. You need to wait for ESTBeacon object response for connection request using beaconConnectionDidSucceeded or beacon:didDisconnectWithError: delegate method. When connection operation was successful you can modify parameters of the beacons.

I hope this will help you out.