Heirloom BT pairing setup
Procedure used to prime Novena Heirloom laptops
This is run on the Novena Heirloom laptops prior to shipping to pair the BT keyboard.
- Extract the heirloom hardware kit, and assemble the hardware for booting.
- Pull out motherboard, long flex cable, PCIe card, hard drive. Return other items to box.
- Use ESD bag to line workspace.
- Attach PCIe card using a temporary screw.
- Label PCIe card with box number.
- Attach front panel board with matching numbered board
- Attach fan to front panel board
- Attach temporary speakers to front panel board
- Attach LCD panel adapter
- Label BT keyboard with corresponding box number
- Label hard drive with corresponding box number
- Attach hard drive
- Boot into temporary environment using external SD image (to avoid spoiling the first boot experience primed on the SSD)
- Insert SD card for heirloom init
- Short across the P_EXT header
- Attach temporary battery board. This should power on the system.
- It should boot to a login screen, and not a blue screen with a text menu on it
- Plug in a USB keyboard to the front panel board
- Type in 'root' and 'kosagi' to log in
- Configure BT in the temporary boot environment with the new keyboard
- Start a terminal window
- type 'bluetoothctl'. You will now be in the bluetooth shell. Here, you will pair and trust the keyboard.
- In the BT shell, type 'power on'
- In the BT shell, type 'agent KeyboardOnly'
- In the BT shell, type 'default-agent'
- In the BT shell, type 'pairable on'
- In the BT shell, type 'scan on'. At this point, flick the switch on the right hand side of the BT keyboard. You should see within a few seconds the keyboard show up, with an MAC ID starting with 90:...
- In the BT shell, type 'pair 90:' and hit tab. This should tab-complete the whole BT keyboard MAC ID.
- Follow the instructions (e.g. typing into BT keyboard the 6-digit PIN followed by enter key). If there is no prompt to pair using a PIN code, allow the pairing to abort, and try again. Do not proceed with next steps until you've been prompted to enter a PIN code.
- After typing in the PIN, the system should indicate the keyboard is paired.
- In the BT shell, type 'trust 90:' and hit tab.
- In the BT shell, type 'connect 90:' and hit tab.
- In the BT shell, type 'quit'
- You should now be back in the main terminal window environment.
- Copy the BT configuration from the temporary boot environment onto the permanent SSD environment
- Mount the SSD with 'mount /dev/sda3 /mnt'
- Install BT firmware with 'dpkg –root=/mnt -i Downloads/firmware-atheros_0.43_all.deb'
- Copy BT configuration with 'cp -a /var/lib/bluetooth /mnt/var/lib'
- Update the firmware on the target
- Insert the USB drive with firmware update into the front panel board
- mount the USB drive to 'mount /dev/sdb1 /mnt2'
- go to the drive directory with 'cd /mnt2'
- run update using 'dpkg --root=/mnt -i *.deb'
- manually install /boot contents because you can't do that on a /mnt environment
- run 'mount /dev/sda1 /boot'
- cp novena.dtb /boot; cp zimage /boot
- umount /boot
- test audio by playing a song. 'mplayer -ao pulse::1 test.mp3'. You will need to unmute audio using alsamixer. Run 'alsamixer', select the imx audio device using F6, and unmute any channels that are muted.
- unmount USB drive wtih 'umount /mnt2'
- Set the hardware EEPROM with heirloom flag
- use novena-eeprom to update the heirloom flag: 'novena-eeprom -f es8328,senoko,edp,pcie,gbit,hdmi,eepromoops,sataroot,heirloom -w'. A script called eeprom-cmd.sh was created for convenience.
- Unmount SSD with 'umount /mnt'
- Test the suspend function
- Select suspend from the power menu
- Use the wake-up switch to power the system back on again. Verify the BT keyboard still talks to the system.
- Remove bluetooth config on the temporary boot environment
- type 'systemctl stop bluetooth'
- type 'rm -rf /var/lib/bluetooth'
- Test the configuration
- Shutdown the system with 'shutdown -h now'
- Remove the SD card from the external SD card slot
- Reboot the system using the power button (to test the button). It should go to a blue screen with a text menu on it.
- Flick the right switch on the BT keyboard to re-initiate pairing.
- Hit the space bar on the bluetooth keyboard. It should automatically associate, and you can tell it's working by using the up/down arrow keys to navigate the menu.
- Turn the system off. You are now done