[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