#!/usr/bin/python3

import binascii

# Fetch and trim whitespace from the wlan mac
with open('/sys/class/net/wlan0/address') as mac_address_file:
    mac_address = mac_address_file.read().strip()

# Split the address on :, reverse the order, rejoin and convert to binary.
# This gives it to us in the proper endianness to write into the EEPROM.
mac_address_bin = binascii.a2b_hex(''.join(reversed(mac_address.split(':'))))

# Overwrite the EEPROM at the correct offset.
# With this as a real value instead of zeroes, the bluetooth driver
# will use the address instead of generating a random one.
with open('/lib/firmware/EEPROM_MT7668.bin', 'r+b') as eeprom:
    eeprom.seek(0x384)
    eeprom.write(mac_address_bin)
