TuxScreen on SourceForge TuxScreen CVS search the Wiki
Browsing -> Wiki -> Main -> [UpdatingInferno]
edit, info, topics, orphans, hubs and nodes, or recent changes in the Wiki create a new user or login

This page was originally http://erire.com/shannon/upgrade.html

updates are on http://www.TuxScreen.net/download/inferno/

ere are instructions to complete a shannon phone flash upgrade. I did this to an old TMS phone on 2000/03/08 and the phone ran much faster after the upgrade, the clock speed is at 133MHz and can be set to 206MHz for demos... The phone comes up with new everything in one shot (no need to copy kern2 and fs etc.) Check Shaggy's shannon page for information about what this upgrade will enable.

A student followed this to perform the upgrade (who knew nothing about Inferno nor IS2630): A bunch of IS2630 were successfully upgraded with no reject. Note however that There is absolutely no explicit or implied Warranty from folowwing this procedure. Use The following steps at your own risk. You could lose a Shannon -- If this happens do not throw it away, it is a piece of history. so give it away to your favorite museum.

[Note: the following 20 steps are overly detailled, this is "shannon flash upgrade for the dummies". Do not feel insulted by the excess details, skip every other step instead, and do it in 10 steps if you are up to it ;-]

  1. Open the memory flap under the shannon phone (use a grounding strip to serial connector ground).
  2. Remove the memory extension card.
  3. Solder two 15cm wires stripped on both ends 2mm and 6mm respectively to establish the flash protection override power connection.
    • Black wire on the left at bottom of board viewed through opening.
    • Red wire on the right side next to black one (see photo).
  4. Replace the memory extension card.
  5. Close the flap while running the wires on one side of the closing clip.
  6. Place phone back on workbench connect serial connector to serial link of your Inferno loader computer.
  7. Note: You can use a small finger size 12v battery (e.g. garage door open type).
    • Connect the black wire to (-) end of 12v battery with a piece of electric tape.
    • Do NOT connect the red wire yet.
  8. Insulate the red wire stripped end with a piece of electic tape (ready to tape on the (+) end of the battery when needed below.)
Check this picture before applying 12v to flash chip, here is the bottom view of the CPU board as seen through the ram expansion opening, check the location of the black and red wires that need to be soldered on the edge of CPU board:


[you can use a needle point soldering iron to perform this safely.]

An ascii version of this picture:

    o o o o
      o o o
 black    red - wires
 (GND)   (+12v)
[---------------------] <- bottom of board through memory extension hole

Note: to apply 12v you do not need a car battery ;-)

9. Startup Inferno rdp:

At the Inferno station (e.g. use your favorite Linux laptop or computer), boot a 2.2 kernel until 2.4 changes are integrated... Make sure the serial tty you will need are rw by the login you are using:

[inferno@erire.com]$ ls -l /dev/ttyS?
crw-rw-rw-    1 root     tty        4,  64 Apr 10 15:13 /dev/ttyS0
crw-rw-rw-    1 root     tty        4,  65 May 24 05:56 /dev/ttyS1
crw-rw-rw-    1 root     tty        4,  66 May  5  1998 /dev/ttyS2
crw-rw-rw-    1 root     tty        4,  67 May  5  1998 /dev/ttyS3

Download Inferno if you do not already have it installed, for example Check the free limited binary and source download from Vitanuova. Run the Inferno emulator (you can use a window environment for convenience wm/logon for example, login as inferno):

# Add the serial drivers (bind after /dev):

$ bind -a '#'t /dev

# run the rdp debugger (speed 57600 - no carriage return):

$ rdp -r -s57600
[[send reset]]
[... wait for sync-up]

10. Plug-in the power supply to the phone. (Place the phone power supply under UPS if you are not sure you will have stable power for >20 minutes. Also use a laptop to run Inferno rdp the battery power may become handy.)

11. Hold the escape key on remote keyboard while the phone boots up. If the phone has an older boot monitor, Enter Ctrl-A when prompted to enter debug mode.

[If the phone has a very ancient boot monitor you would need to enter Ctrl-D to disable autoboot. If the ancient sboot does not support c/u as a command you should not try this procedure without first upgrading the sboot to a more recent one.]

12. Check the flash partitions in the Inferno emulator window after rdp eventual sync-up

>>> P/m
00000000-00007fff (00008000) : f
00008000-0000bfff (00004000) : 0
0000c000-0000ffff (00004000) : f
00010000-0001ffff (00010000) : f
00020000-0003ffff (00010000) : f
00040000-0005ffff (00010000) : f
00060000-0007ffff (00010000) : f
00080000-0009ffff (00010000) : f
000a0000-000bffff (00010000) : f
000c0000-000dffff (00010000) : f
000e0000-000fffff (00010000) : f
00100000-0011ffff (00010000) : 0
00120000-0013ffff (00010000) : 0
003e0000-003fffff (00010000) : 0

13. Disable the flash write protection by applying 12v and doing: [12 v APPLIED - red wire connected to battery]

>>> P/u 0

14. Verify the protections are cleared by removing 12v:

    [12 v DISCONNECTED - red wire removed]
>>> P/m

[verify that ALL the above sectors listed by P/m indicate a value of: 0 if not try the procedure again with 12v applied and the P/u 0 command.]

15. P/m now shows all 0 values for the flash sectors. The phone is now ready for upgrade this may take 1/2 hour or 1 hour based on the serial link speed. MAKE SURE the download does not get interrupted although since the final stage (flash write) is critical.

Mike Skarzynski provided me with a IS2630 at the end of the venture days. This device had two outstanding features: a minitel implementation and the latest versions of sboot, styxmon and partition. I made a backup copy of this software just in case and I keep it under the Inferno tmp directory on my Linux laptop: Fall 1999 French Minitel version (2.3Mb).


>>> c/u D!/tmp/all_1999.gz F!all
flash: id=1/49 (AMD Am29LV160BB), ss=20000 fs=400000 w=2 b=0-20000 f=5

[nothing is printed on this screen until ready do uncompress the image and copying it to the flash. On the phone, the blue debug screen displays a progress bar at bottom, reading from 0 to 2402816 by chunks.]

[Actually the installation time is similar to downloading a kernel plus at file system at 57600 speed on the serial port. Thist just took about 15 minutes to complete.]

2402816 -> 4194304
[the monitor has just decompressed the gz file it downloaded]
flash: 0-7fff erasing/writing... flash: erasing boot area! (0-7fff)

This is the last message you will get from the old phone. DO NOT PANIC!!! BUT WAIT PATIENTLY 2 MINUTES AT LEAST, the monitor is erasing and writing each sector one by one and unfortunately it's been erasing itself as well - I lost my good old phone by interrupting this process too early the first time...]

16. Exit rdp on the Inferno loading station.

Now its time to type: "Ctrl-]" Enter and then "q" Enter at the rdp prompt to end the rdp session.

17. Now reset the phone. If you press the reset button that does not do anything - bummer the screen is dark! DO NOT PANIC!!! (get your towel handy).

You need to remove the power plug from the phone and plug it back in. Hold the escape key down as the Inferno logo screen starts coming up. At the debug prompt enter "-". You have a new phone, so this time you need to enter "-" to put it into the rdp debug mode.

You get the black screen waiting for the remote debugger to contact the phone.

18. Reconnect the rdp debugger

Now on the Inferno station.

$ rdp -r

[you don't need high speed this time -- use the default speed so the message will print readably.]

[you may have to kick rdp a few times before it syncs up and the phone brings up a new blue debugger window. If you do not exit rdp cleanly with the escape sequence "Ctrl-]" and 'q', you may have rdp processes still holding the serial device open, you need to kill them -- you can kill by name: 'kill Rdp']

At the rdp debugger prompt you eventually see. Success!

sboot 2.6-d (shannon)
- Inferno BooStrap Loader
flash@80000000: id=1/49...
>>> P/m
[all sectors at value : 0]
>>> P

[a new partition with bigkern and bigfs is now available thanks to shaggy's last work...] Reference: Shaggy's shannon page

19. Re-enable flash protection

[-> APPLY 12V to the phone]

>>> P/p styxmon
[1 line]
>>> P/p demon
[1 line]
>>> P/p styxmon2
[1 line]
>>> P/p sboot
[1 line]
>>> P/p partition
[1 line]

20. Finally check the protection status

[DISCONNECT 12V (just the red wire if you are not sure you are done.)]

>>> P/m
00000000-00007fff (00008000) : f
00008000-0000bfff (00004000) : 0
0000c000-0000ffff (00004000) : f
00010000-0001ffff (00010000) : 0
00020000-0003ffff (00010000) : f
00040000-0005ffff (00010000) : 0
00060000-0007ffff (00010000) : 0
00080000-0009ffff (00010000) : 0
000a0000-000bffff (00010000) : 0
000c0000-000dffff (00010000) : 0
000e0000-000fffff (00010000) : 0
00100000-0011ffff (00010000) : 0
00120000-0013ffff (00010000) : 0
003e0000-003fffff (00010000) : 0

[If the values read anything different that '0' or 'f' start the procedure again.]

[This is my preference I don't think it's worth protecting config, and kern1. If you protect "all" then everything is protected and you can't replace the kernel or the file system without applying 12v first. I think the phone should be safe now. The monitor partition is protected (demon, styxmon, stxymon2) so it should be safe to upgrade the phone with new kernels, fs, etc.]

>>> P
dev       base     size perm flgs name____________ (max=16 boot=20000)
F!-2:     3e00      200  644    0 partition
F!-1:        0   400000  644    0 all
F!0 :        0     3e00  444    0 styxmon
F!0 :     4000     3c00  444    0 demon
F!1 :     7c00      400  444    0 config
F!2 :     8000     1000  644    0 plan9.ini
F!3 :     9000     1000  644    0 spare1
F!4 :     a000     2000  644    0 spare2
F!5 :     c000     4000  644    0 styxmon2
F!6 :    10000    10000  644    0 logo
F!7 :    20000    20000  444    0 sboot
F!8 :    40000    a0000  644    0 kern1
F!9 :    e0000    c0000  644    0 kern2
F!10:   1a0000   260000  666    0 fs
F!11:    40000   160000  644    0 bigkern
F!13:    e0000   320000  666    0 bigfs
F!14:    40000   3c0000  666    0 big

[The new phone is ready to boot.]

>>> b

[The phone boots with new sboot and styxmon, you have a new shannon phone or "ephone".]

I am always looking for IS2630 devices, let me know if you have supply available mail oclar@home.com for comments/updates.

SourceForge Content of these pages are owned and copyrighted by the poster. SourceForge