SqueezeOS Upgrades
From SqueezeboxWiki
SqueezeboxController firmware is being updated nightly. (The usual caveats apply for pre-production, pre-release software. However, there are no known incidents of an update rendering your SqueezeboxController inoperative.)
Contents |
Firmware Update
It can be updated in one of three ways:
- Over a wireless network
- By inserting an SD card (not supplied) into the SqueezeboxController. You’ll need an SD card reader (not supplied) to do this.
- By copying the firmware file (via scp) to the SqueezeboxController.
Any of the above procedures work pretty well. Wireless updates are less work, though.
Wireless Firmware Update
- Start up SqueezeboxController and select /Settings/ from the /Jive Home/ menu.
- Choose /Controller Settings/ from the /Settings/ menu.
- Scroll to the bottom of the /Controller Settings/ menu and select /Advanced Settings/.
- Scroll down and select /Software Update/ from /Advanced Settings/.
- Select /Update from server/ from /Software Update/.
- If a message is displayed about the battery being low, place the SqueezeboxController into the battery charger and continue the firmware update.
- The firmware updates starts promptly once the option is selected. This should take approximately 90 seconds to complete, depending on the quality and speed of your wireless connection. If it appears to stop during this process, you can try again by removing and reinserting the battery. If it continues to stop prematurely, try using the SD card update procedure.
- Once the update completes, Jive will automatically reboot.
Firmware Update with SD Card
- Download firmware file /jive.bin/ to your PC from http://www.slimdevices.com/downloads/nightly/latest/7.0/jive.bin. This location is temporary and subject to change. /Note: depending on how you download this file, it may download to your machine as "jive.bin.zip". If this happens, rename it to "jive.bin" (i.e. remove the ".zip" from the end of the name). Do not unzip the file before copying it to the SD card./
- The SD card should be formatted with a partition table and a single FAT partition (should be the norm for SD cards). Recent firmware updates have improved SD compatibility significantly. See ControllerSDCards for a list of tested SD cards.
- Copy firmware image onto SD card. This must be a /file/ (not a folder) named /jive.bin/. /(See download note above.)/
- Remove the battery door from the back of SqueezeboxController and remove the battery.
- At the top of the battery compartment is cutout shaped like an upside-down T. This is the SD card slot.
- Insert the card contacts-first and with the label facing up. Push it all the way in. The SD card’s edge should be flush with the top lip of the battery compartment.
- Put the battery back into SqueezeboxController and close the door to the battery compartment.
- If the battery does not fit, then the SD card may not be pushed all the way in.
- Start up SqueezeboxController and select /Settings/ from the /Jive Home/ menu.
- Choose /Controller Settings/ from the /Settings/ menu.
- Scroll down the /Controller Settings/ menu and select /Advanced Settings/.
- Scroll down and select /Software Update/ from /Advanced Settings/.
- Select /Update from SD card/ from /Software Update/. If you do not see this option, then Jive can not see the SD card. This could possibly be due to an incompatible brand or size of SD card or the SD card does not contain a firmware image.
- If a message is displayed about the battery being low, place the SqueezeboxController into the battery charger and continue the firmware update.
- The firmware updates starts promptly once the /Update from SD card/ option is selected. This should take approximately 90 seconds to complete. If it appears to stop during this process, you can try again by removing and reinserting the battery.
- Once the update completes, Jive will automatically reboot. You can remove the SD card any time after the reboot begins.
- It may help to remove the SD card if you insert your fingernail into the indentation at the top of the SD card first.
Firmware update via SSH
- No SD card required for this method.
- Enable remote access on Platform by turning on SSH via the menus: /Controller Settings > Advanced > Remote Login > Enable SSH/. The root password and the IP address of the Platform are displayed. Keep the Platform on this screen as reference for the next steps.
- scp (or equivalent) the jive firmware to /mnt/mmc/jive.bin
- Follow steps 10-16 above from section /Firmware Update with SD Card/ above.
- Make sure to delete the jive.bin file from the /mnt/mmc directory. If you don't, the Platform may not successfully complete subsequent firmware updates. To do so, find out the root password again using step 2 above, log in as root, and delete the file.
Firmware problems
- If you need to return your Squeezebox Controller to its factory default settings, there is a 'Factory Reset' option in Settings -> Advanced -> Factory Reset.
- If you need to turn your Squeezebox Controller off or reboot it, you can hold down the 'power/home' button for 4 seconds.
- If the firmware is badly locked up, holding down the 'power/home' button for 10 seconds will trigger a hardware power-off.
- Removing and replacing the battery also works, of course.
- If you have somehow upgraded to an unusable firmware, the Squeezebox Controller stores a copy of the previous firmware. You can revert to the previous firmware by holding the 'volume up' button while rebooting, either by removing and replacing the battery, or by the power off methods listed above.
Using the SqueezeboxController for Software Development
The SqueezeboxController contains what you need to program within the Jive Software Environment. The SqueezeboxController is Linux 2.6.22-based with applets written in Lua.
To program in Lua, you’ll need a LUA programming manual, such as /Programming in Lua/ by Roberto Ierusalimschy. See SqueezeOS Build Instructions for instructions on building the Jive software to run on the BDK.
Serial Development
Early versions of the SqueezeboxController included a hardware adaptor that provided a serial port and other connectivity (audio in/out, usb, etc.) via the expansion connector on the bottom of the device. Software development can be done via SSH for most applications, but low-level and hardware developers may benefit from having this adaptor. Contact mickey_gee@logitech.com if you need one of these.
To develop and debug on the SqueezeboxController via serial connection, you’ll need to connect the BDK hardware to a terminal-emulation package running on a Mac or PC.
- The bottom of your SqueezeboxController has a cellphone-style connector. Plug in the SqueezeboxController serial-DB9 adapter into it.
- Remove the hex tighteners from the DB9 male-female adapter and plug this adapter into the SqueezeboxController serial-DB9 adapter. The DB9 male-female adapter allows the Keyspan DB9-USB adapter to mate securely.
- Plug in the Keyspan DB9-USB adapter into the DB9 male-female adapter.
- Plug in the USB cable into the Keyspan adapter and into a USB port on your PC.
- Start a terminal emulation package on your Mac or PC. Use Hyperterm if on a Windows PC, ZTerm works great on the mac. Ensure that it is reading a COM port mapped to USB.
- Be sure the serial port settings for the terminal emulation package are as follows:
- 115Kbps
- 8 data bits, no parity, 1 stop bit
- XON/XOFF flow control
- Power on SqueezeboxController.
- When you see the message /Please press Enter to activate this console./, press Enter. You will be logged in as root.
- Plug in a Squeezebox AC adapter into the SqueezeboxController serial-DB9 adapter to provide uninterrupted power to SqueezeboxController.
- Jive currently displays lots of status messages on the terminal. Currently, there is no simple way of turning them off without terminating the Jive process. To temporarily turn off these messages, find the ID of the Jive process and terminate that process.