[MLB-WIRELESS] Re: Small Systems was BIPAC-743: ADSL, 802.11b, 4xEthernet (interesting stuff)

John Dalton john.dalton at bigfoot.com
Thu Mar 20 11:06:03 EST 2003


Relating to the StrongARM in particular, here is an application
note (PDF format) from Intel, titled "Memory Management on
the StrongARM SA-110".  I'm not sure how applicable it is
across the ARM range, but is is an interesting read.

http://www.intel.com/design/strong/applnots/27819101.pdf

At least from an MMU point of view, perhaps Debian's
ARM port might run on StrongARMs???

Even if this supposition is correct, there would still be
the question of driver compatibility.  Billion's firmware
comes in a file with a '.DLF' extension.  Here are some
examples from the BIPAC711ce software.  The first few lines
of one of these files, called 'bootrom.DLF', reads:

00000000  01 00 00 00 01 00 00 00  41 00 00 00 00 00 00 00  |........A.......|
00000010  62 6f 6f 74 72 6f 6d 2e  62 69 6e 00 00 00 00 00  |bootrom.bin.....|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 54 97  |..............T.|
00000030  04 00 5c 00 00 00 00 00  00 00 00 00 00 00 00 00  |..\.............|
00000040  00 02 00 a0 e3 0a 00 00  ea 43 6f 70 79 72 69 67  |.........Copyrig|
00000050  68 74 20 31 39 38 34 2d  31 39 39 38 20 57 69 6e  |ht 1984-1998 Win|
00000060  64 20 52 69 76 65 72 20  53 79 73 74 65 6d 73 2c  |d River Systems,|
00000070  20 49 6e 63 2e 00 10 0f  e1 3f 10 c1 e3 d3 10 81  | Inc.....?......|
00000080  e3 01 f0 29 e1 80 21 9f  e5 00 10 a0 e3 00 10 82  |...)..!.........|

Another file 'BIPAC-711cev0809_9s314.DLF' reads:

00000000  3c 00 00 00 01 00 00 00  78 0c 00 00 00 00 00 00  |<.......x.......|
00000010  72 65 76 69 73 69 6f 6e  2e 74 78 74 00 00 00 00  |revision.txt....|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 11 00  |................|
00000030  00 00 5c 00 00 00 00 00  00 00 00 00 00 00 00 00  |..\.............|
00000040  00 01 00 00 00 76 78 57  6f 72 6b 73 2e 7a 00 00  |.....vxWorks.z..|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000060  00 00 00 4b 8c 0c 00 5c  00 00 00 00 00 00 00 00  |...K...\........|
00000070  00 00 00 00 00 00 02 00  00 00 53 68 74 6d 2e 64  |..........Shtm.d|
00000080  6c 7a 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |lz..............|

The first few thosand bytes seems to be a file listing, suggesting the file
is a multiple file archive.  The list contains ths following filenames:

revision.txt
vxWorks.z
Shtm.dlz
Dll.reg
config.reg
factory.reg
/DOC
 adslspec.htm
 atm.htm
 bfww.htm
 bfww1.htm
 bootload.htm
 bridgef.htm
 adsl.htm
 adslconf.htm
 adsltemp.htm
 default.htm
 diagtest.htm
 diaghelp.htm
 dns_conf.htm
 doreboot.htm
 dorebt2.htm
 dosave.htm
 eth_mode.htm
 ftpload.htm
 home.htm
 index.htm
 lan1.htm
 lan_conf.htm
 mactable.htm
 misc.htm
 nat_conf.htm
 nat_sess.htm
 pppacct.htm
 pppconf.htm
 ppp.htm
 ppponr.htm
 pppww.htm
 pwdadmin.htm
 pwduser.htm
 rip_conf.htm
 rip_adv.htm
 rdbone.htm
 rbnosv.htm
 route.htm
 save.htm
 setvs.htm
 setvsww.htm
 special.htm
 syslog.htm
 svrdone.htm
 cp.htm
 toc.htm
 update.htm
 usb.htm
 utility.js
 wan.htm
 wan_adv.htm
 wan_conf.htm
/IMAGES
 logo.gif
 
Vxworks is mentioned in this archive and a copyright
message for Wind River Systems appears in the first
archive (containing bootrom.bin).  This suggests 'bootrom.bin'
is either the vxworks real time operating system kernel, or a program
built using the vxworks kernel.  Presumably vxworks has a
bunch of standard drivers, so it may be fairly easy to reverse
engineer the modem's memory map?  Even if the drivers are custom,
surely someone familar with vxworks could track down the driver
modules and write down a memory map from them?  Also, I guess the
processor tyep is limited to one that has a vxworks port (perhaps
every processor out there!?).

The main archive seems to be mostly html pages, possibly
compressed as the body of the archive is not plain text.
There are some extra files to start with, which could be
configuration files, or binary files. (vxWorks.z looks interesting.)


Looking at the FAQ (link below) Vxworks seems to have this thing called a
"board support package" (BSP).  This appears to be a form of hardware adaption layer, a
collection of all the drivers necessary to allow the standard vxworks
kernel to operate on a particular board.  A simplidtic strategy for getting
embedded debian onto a BIPAC modem might be:

1) Identify which parts of the binary are the vxworks kernal
   and which are the BSP.
2) Reverse engineer the BSP to obtain a memory map.
3) Write or adapt drivers for embedded debian.
4) Compile one's own .DLF file from GPLd source
5) Upload
6) Live happily ever after with full firewalling on your BIPAC-711
   or meshAP on your BIPAC-743.

More info from: http://www.zepa.net/hypermail/elug/2001/02/0118.html

"...Wind River uses the GNU tool chain (and use Cygwin for
development on Windows)."

"...a lot of VxWorks is based on BSD UNIX (largely the
networking aspects, but others as well)."

ie.  ***The BIPAC may be essentially running BSD Unix!***

This message is long enough, so I'll send it and write another one
as more information comes to light.  Has anyone got any comments
or more information on the above?

John


A vxworks FAQ: http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html

To unsubscribe: send mail to majordomo at wireless.org.au
with "unsubscribe melbwireless" in the body of the message



More information about the Melbwireless mailing list