<?sphp $this->text('pagetitle') ?>
 
Home of the Squeezebox™ & Transporter® network music players.

Updating Squeezebox Controller Boot Loader

From SqueezeboxWiki

Revision as of 13:36, 17 June 2010 by Soulkeeper (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Updating Boot Loader

The below documents the process of updating the boot loader uboot on a Squeezebox Controller on a:

  1. Windows-based PC running HyperTerminal
  2. Keyspan USA-19HS USB-DB9 serial cable
  3. Squeezebox Controller breakout board serial-USB board

This process may render your Squeezebox Controller inoperable. Logitech assumes no responsibility for anyone following this procedure.

Step 1: Getting Ready

To get started, you need to copy this file to your Windows PC:

You then need to do the following:

  • Plug in the Keyspan 19HS into a USB port on your PC.
  • Connect the breakout board's DB9 serial port to the Keyspan
  • Remove the black plug on the bottom of the Squeezebox Controller
  • Plug in the breakout board into the bottom of the Controller

Step 2: Setting up HyperTerminal

  1. Open Hyperterminal
  2. Name your connection
  3. In the Connect To Window choose the “connect using COM3” option
  4. Press the configure button then change the following:
    • Bits per second: 115200
    • Flow control: Xon/Xoff
  5. Press OK

Step 3: Writing uboot to Flash

Power cycle Squeezebox Controller. When you see

Hit any key to stop autoboot 

quickly hit any key, you’ll only have a second. If you are not quick enough power cycle and try again.

At this point the screen should look like:

U-Boot 1.0.0 (Jun  5 2007 - 15:05:11)
U-Boot code: 33E00000 -> 33E1CB94  BSS: -> 33E207CC
IRQ Stack: 33e417c8
FIQ Stack: 33e427c8
DRAM Configuration:
Bank #0: 30000000 64 MB
NAND:Nand Flash Probe...
Nand Flash Configuration:
Page Size  :512 Bytes
Oob Size   :16 Bytes
Block Size :16 KB
*** Warning - bad CRC, using default environment
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  1 ___ 0 
SMDK2413 #

The important part here is the SMDK2413 # at the end.

Then carefully enter:

nande a 4096

It should say:

StartBlock 10 (0xa) : Size 16534 (0x4096)
Total Erase Blocks 1 (0x1)

Then carefully enter:

loadb 30008000

It should say:

## Ready for binary (kermit) download to 0x30008000 at 115200 bps...

In HyperTerminal click on the Send icon:

Send on Hyperterm

Select the u-boot.bin file, choose Protocol Kermit and hit the Send button:

Hyperterm and Kermit Protocol

You will get a progress box, it should take about 1 minute 30 seconds to send the file.

Then carefully enter:

nandw 0 28000 30008000


It should say:

NAND Flash writing
Source base address    =0x30008000
Target start block num =0
Target size            =0x28000
block writed :
0 
1 2 3 4 5 6 7 8 9

Step 4 Verifying Update

Power cycle Squeezebox Controller. When you see

Hit any key to stop autoboot 

quickly hit any key, you’ll only have a second. If you are not quick enough power cycle and try again.

At this point the screen should look like:

U-Boot 1.0.0 (Jun  5 2007 - 18:06:52)
U-Boot code: 33E00000 -> 33E1D038  BSS: -> 33E20C74
IRQ Stack: 33e41c70
FIQ Stack: 33e42c70
DRAM Configuration:
Bank #0: 30000000 64 MB
NAND:Nand Flash Probe...
Nand Flash Configuration:
Page Size  :512 Bytes
Oob Size   :16 Bytes
Block Size :16 KB
*** Warning - bad CRC, using default environment
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  1 ___ 0 
Jive #

Enter:

boot

Squeezebox Controller should now restart normally. If not, then you may have rendered your Controller inoperable.