release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Search | Go
Wiki > Main > UartBoot (r9)

UART Boot Mod

About

The UART boot mod is a method to access and rescue your Archos (Player/ Studio, Recorder, FM Recorder, Recorder V2, Ondio 128/ 128 FM/ 128 SP) even if the flash content is completely garbled. It requires to open up your box and do some soldering to it. It also requires some additional hardware.

*Warning*: You should only attempt this if you are familiar with electronics. The authors take no responsibility for any damage you may cause to your box.

Theory

Archos boot sequence

There are two different ways an Archos boots, depending on whether it has a separate boot ROM (inside the CPU) or not. The majority of Archoses has a separate boot ROM, and btw. all Archoses with boot ROM found "in the wild" use an identical one.

Archos with boot ROM

  1. Boot ROM (inside the CPU)
  2. Code from the serial interface, if in a special mode, else:
  3. Flash ROM bootloader (copied into IRAM for execution)
  4. Flash ROM software image (copied into DRAM for execution)
  5. .ajz image on harddisk

Archos without boot ROM (ROMless)

  1. Flash ROM bootloader (copied into IRAM for execution)
  2. Flash ROM software image (copied into DRAM for execution)
  3. .ajz image on harddisk

ALERT! Note: This means that you are out of luck with a ROMless Archos if the flash content is completely garbled, as there is no way to gain access to it. However, if you tried first-time flashing rockbox and it crashed, with a bit of luck, the first few thousand bytes were already written. If so, minimon (see below) should be available from flash.

Booting Archos over the serial

So, before the Flash ROM is used for the first time, the box may already receive code from a serial interface. This allows to intercept and "work" with the box even if the Flash is garbled.

The "uart_boot" program is a rescue tool, allowing to download a monitor program (minimon) into the box and communicating with it. The monitor can in principle do anything. The uart_boot PC client is specialized mainly to read and write the flash content, but it can also download another program (e.g. Rockbox) and start it.

Not all boxes have a boot ROM, some start directly from flash. The rockbox flash bootloader contains minimon, since otherwise there would be no way to load it. You can check under Rockbox with Info -> Debug -> View HW Info. If it shows a ROM CRC value, you have a boot ROM. If it says "none", you don't have this safety feature. But "uart_boot" is still the application to use the flash loader built-in version of minimon.

Hardware hookup

You'll need two things: serial communication, and a way to cause the boot ROM to enter the special mode if you don't/ can't use minimon from a rockbox flash image.

The first thing requires to do the serial mod or an equivalent of it. You will also need a level converter, converting the +/- 12 V of a standard RS232 interface to the 0/ +3.3 V needed by the Archos (note the inverter function). This is something that low-level hackers have in their drawer, but else a bit difficult to get resp. recognize. Many mobile phone adapters should have what you need, you just don't know where to cut and tap it.

The archos boot ROM switches the LCD lines to input on boot, and then checks the input level. They're normally pulled high by pullup resistors, you need to pull 3 of them low (PB1..PB3) to cause the boot ROM to enter the special mode and start waiting for code from the serial interface.

There are two methods to achieve this:

  1. If the LCD line pullups are present as one resistor array, it is relatively simple. Cut away the common end of the array from Vcc, and connect it to a switch that allows to connect the common end to either Vcc or ground.
  2. If the LCD line pullups are single resistors (player/Studio), the only feasible method is to pull down "against" the fixed pullup resistors. This method should also include a way to switch off the pulldown, at least if you want to be able to use the LCD after UART booting. Because the pulldown resistors have to be relatively small, the CPU outputs are not strong enough to force the port pins high against the pulldown resistors.

Doing the mod

Player/ Studio

First, you need to open up the Archos and take apart the elecronics. On the main board, there is a convenient header carrying all the signals needed for UART boot:

UARTPadsMarked_s.jpg

I chose not to do the serial mod separately, but connect all needed pads to one 5-pin ribbon cable:

UARTCable_s.jpg

The I reassembled the boards, routing the ribbon cable to the outside through one of the square cutouts in the board adjacent to the USB socket. The white wire is ground.

MainUnit_s.jpg

The first two pins of the ribbon (TxD and RxD) cable were connected to the level converter. I needed a method to select pullup or pulldown for thhe other three pins (PB1..PB3). In order to pull down against the builtin 10 kOhm pullup resistors, I chose 1 kOhm resistors. I connected the 3 pins to a cheap DIL IC socket, and a set of three resistors to the ground wire. This way I could select between pulldown and pullup by plugging/ unplugging the resistors to the IC socket.

WholeUnit_s.jpg

You can see the resistors and the DIL socket at the bottom. The SUB-D9 plug at the top left contains the level converter.

JensArnold

Recorder V1

The heart of the mod for a Recorder V1 A detail
Recorder_overview_s.jpg Recorder_detail_s.jpg

FM Recorder / Recorder V2

For FM PCB revision 2.1 (and maybe others as well), you find the serial at a kind of empty 2*3 header position close to the headphone jack. RX is the square pad, TX is across. The 4*10k pullup array which you temporarily have to change into a pulldown is right below the flash chip.

FM_Overview_s.jpg

Ondio

The serial port is used to communicate to with the MMC. So I've made an adapter, a MMC dummy from a piece of striped prototyping PCB. Nice non-intrusive interfacing.

We still have to bring the unit into boot mode, which does require to open it. This time I didn't bother to patch the pullup resistor array (it is located between the two boards, close to the top), but made a "universal" (good for all recorders, too) LCD replacement from a broken display.

Serial adapter LCD replacement to force boot mode (good for all recorders, too)
Ondio_bootcable_s.jpg LCD_dummy_s.jpg

Operation

There is a somewhat user-friendly tool to perform an UART boot - uart_boot. It's in cvs and it is currently implemented for Windows only, but it shouldn't be hard to port it to Linux or another OS.

Here's the basic order of steps:

  1. Connect everything ready to power up. It might be a good idea to power the Archos from a lab power supply, but that isn't required.
  2. Put the pullup/ pulldown circuitry in the pulldown position
  3. Power up the archos and the converter. It seems like it's best to power up both at the same time. If you power up the converter before the Archos, the Archos may get 'wild' voltage through the converter, and if powering up the converter later, this may cause a glitch at the Archos serial port. Both effects may lead to non-working communication later. You may need to experiment a bit.
  4. Wait some seconds to make sure the bootrom has checked the LCD lines
  5. Put the pullup/ pulldown circuitry back to normal pullup
  6. Load minimon and perform your tasks with uart_boot

When using minimon from flash, you only need to perform the last step, and you need to tell uart_boot not to load minimon again as it's already there.

Some hints for using uart_boot:

uart_boot prints its usage information to the shell when called without parameters. One important point is the -r (-recorder) switch. This switch determines the usable serial bitrate, and it depends on the Archos CPU clock. The important point is that an Ondio counts as a 'player' here. Simple rules:

  • For Player/ Studio and Ondio, do not use -r. Bitrate is 14400 bps.
  • For Recorder / FM Recorder / Recorder V2, use -r. Bitrate is 115200 bps.

Be prepared that especially the player operation is really slow. It is technically possible to use 38400 bps with the player, but that's somewhat more advanced stuff...

black jack poker psp series world internet black jack poker psp series world online black jack poker psp series world jack black poker psp series world free black jack poker psp series world black jack online poker psp series world play black jack poker psp series world casino poker poker psp series world online casino poker poker psp series world bingo casino gambling online poker poker psp series world casino poker chips poker psp series world internet casino poker poker psp series world poker casino game poker psp series world free poker poker psp series world free online poker poker psp series world free poker game poker psp series world free strip poker poker psp series world free video poker poker psp series world full poker tilt poker psp series world full tilt poker poker psp series world internet poker poker psp series world internet poker game poker psp series world internet casino poker poker psp series world internet poker software poker psp series world internet poker site poker psp series world free internet poker poker psp series world best internet poker poker psp series world play internet poker online poker psp series world internet poker tournament poker psp series world internet poker software developer poker psp series world online casino poker psp series world online casino gambling poker psp series world best online casino poker psp series world free online casino poker psp series world best online casino gambling poker psp series world online casino review poker psp series world online casino game poker psp series world best online casino directory poker psp series world free online casino game poker psp series world 10 best online casino poker psp series world online casino bonus poker psp series world top online casino poker psp series world online casino poker psp series world online casino gambling poker psp series world best online casino poker psp series world free online casino poker psp series world best online casino gambling poker psp series world online casino review poker psp series world online casino game poker psp series world best online casino directory poker psp series world free online casino game poker psp series world 10 best online casino poker psp series world casino casino.com gambling.always online poker psp series world online casino bonus poker psp series world top online casino poker psp series world pacific poker poker psp series world 888 pacific poker poker psp series world pacific poker download poker psp series world pacific poker .com poker psp series world paradise poker poker psp series world paradise poker scam poker psp series world paradise poker bonus code poker psp series world paradise poker net poker psp series world party poker poker psp series world party poker bonus poker psp series world party poker bonus code poker psp series world party poker cheat poker psp series world free party poker poker psp series world poker party supply poker psp series world party poker stats poker psp series world party poker com poker psp series world party poker companion poker psp series world party poker cheat software poker psp series world poker theme party poker psp series world party poker player stats poker psp series world multiplayer sex poker party poker psp series world link online.musicbox1.com party poker poker psp series world poker party model poker psp series world party poker .com poker psp series world play poker poker psp series world play online poker poker psp series world play free poker poker psp series world play free poker online poker psp series world learn how to play poker poker psp series world play video poker poker psp series world play poker for fun poker psp series world play money poker poker psp series world play poker game poker psp series world play poker on line poker psp series world free texas holdem poker play poker psp series world chip poker poker psp series world chip poker set poker psp series world chip clay poker poker psp series world chip custom poker poker psp series world chip poker trick poker psp series world casino chip poker poker psp series world chip personalized poker poker psp series world case chip poker poker psp series world chip fantasy poker poker psp series world chip poker wholesale poker psp series world chip free poker poker psp series world buy chip poker poker psp series world poker game poker psp series world online poker game poker psp series world free poker game poker psp series world free online poker game poker psp series world poker card game poker psp series world video poker game poker psp series world strip poker game poker psp series world free video poker game poker psp series world poker game download poker psp series world poker game rule poker psp series world online video poker game poker psp series world free strip poker game poker psp series world crazy game of poker poker psp series world free online video poker game poker psp series world texas holdem poker game poker psp series world poker hands poker psp series world winning poker hands poker psp series world rank poker hands poker psp series world best poker hands poker psp series world ranking of poker hands poker psp series world texas holdem poker hands poker psp series world poker hands rule poker psp series world poker room poker psp series world online poker rooms poker psp series world online poker room review poker psp series world poker room review poker psp series world free poker rooms poker psp series world poker room software poker psp series world las vegas poker rooms poker psp series world best online poker room poker psp series world poker room .com poker psp series world poker rule poker psp series world holdem poker rule texas poker psp series world game poker rule poker psp series world poker rule tournament poker psp series world em hold poker rule texas poker psp series world play poker rule poker psp series world poker rule stud poker psp series world dealer poker rule poker psp series world omaha poker rule poker psp series world poker software poker psp series world party poker cheat software poker psp series world free poker software poker psp series world online poker software poker psp series world internet poker software poker psp series world poker room software poker psp series world poker software developer poker psp series world internet poker software developer poker psp series world poker software development poker psp series world poker star poker psp series world poker star net poker psp series world poker star .net poker psp series world poker star .com poker psp series world poker star cheat poker psp series world poker star download poker psp series world poker super star poker psp series world poker table poker psp series world poker table supply poker psp series world poker table top poker psp series world how to build a poker table poker psp series world poker table plan poker psp series world poker table for sale poker psp series world folding poker table poker psp series world custom poker table poker psp series world poker table felt poker psp series world cheap poker table poker psp series world texas holdem poker table poker psp series world poker tournament poker psp series world online poker tournament poker psp series world free poker tournament poker psp series world free online poker tournament poker psp series world las vegas poker tournament poker psp series world poker tournament rule poker psp series world atlantic city poker tournament poker psp series world freeroll poker tournament poker psp series world world poker tournament poker psp series world poker superstars invitational tournament poker psp series world strip poker poker psp series world free strip poker poker psp series world video strip poker poker psp series world online strip poker poker psp series world strip poker game poker psp series world free online strip poker poker psp series world free strip poker game poker psp series world community poker strip type poker psp series world live strip poker poker psp series world strip poker story poker psp series world holdem poker texas poker psp series world free holdem poker texas poker psp series world holdem online poker texas poker psp series world holdem poker rule texas poker psp series world game holdem poker texas poker psp series world free game holdem poker texas poker psp series world free holdem online poker texas poker psp series world download free holdem poker texas poker psp series world free holdem play poker texas poker psp series world holdem poker table texas poker psp series world holdem poker strategy texas poker psp series world video poker poker psp series world online video poker poker psp series world free video poker poker psp series world video strip poker poker psp series world poker video poker psp series world video poker game poker psp series world free video poker game poker psp series world free online video poker poker psp series world online video poker game poker psp series world poker series world poker psp series world 2005 poker series world poker psp series world 2005 poker result series world poker psp series world game poker series video world poker psp series world game poker series world poker psp series world 2006 poker series world poker psp series world poker ps2 series world poker psp series world 2005 poker series winner world poker psp series world event main poker series world poker psp series world cheat poker series world poker psp series world poker psp series world
I Attachment Action Size Date Who Comment
uart_boot.zipzip uart_boot.zip manage 21.5 K 20 Sep 2005 - 20:28 JoergHohensohn uart_boot executable, together with minimon
Edit | Attach | Print version | History: r11 | r10 < r9 < r8 < r7 | Backlinks | View wiki text | More topic actions...
r9 - 27 Jan 2006 - 20:45:18 - AliRose?
Copyright by the contributing authors.