[Prism54-devel] ISL 3893 and initialization

Erich Schubert erich@debian.org
Sat, 22 Nov 2003 23:10:11 +0100


Hi,
i'm developing for the ISL 3893 access point chipset, which basically is
an 389x integrated (!) with an ARM cpu (mmu-less).
The board we use (just to give you an overview; there might be different
realizations of the reference design; this is just the one we bought and
work with) has on WLAN and two ethernet boards, 16 MB ram and 8 MB flash.
We also got a "software development kit" from intersil, consisting of
a uClinux based OS for the router.

To be honest (hoping that i don't insult anybody) this SDK is the worst
peace of software i've yet seen. That is why i ask on this list for
hints - i try to get rid of as much of this SDK as i can.

My (replacement) web configuration frontend is running fine, so i'm now
focusing onto tieing that together with the hardware. And i'm stuck with
how to properly initialize the wireless interface.
I don't need to load firmware - it's already loaded by the bootloader
before the linux kernel is started - but i need to setup the proper
options using setoid.
For example the SSID setting appears to be locked somehow; using
"setoid eth1 10000002 ssid whatever" i cannot set the ssid.
And there is probably a couple more OIDs i need to set to get the
interface into host mode. :-(

Currently this is working using a set of proprietary software,
consisting of one big manage-all-configuration-data-through-SNMP monster
which is really hard to investigate, although i do have the source code
and one binary-only daemon for authenticating the users (i probably will
keep that one)

Can anyone help me with properly initializing the wlan port?

Do you have any information on the access-point mode of the 389x
chipset?

Greetings,
Erich Schubert

P.S. here's a list of reasons why i hate the SDK we got:
- the toolchain doesn't build on debian/sid, only on readhat
  and is very outdated. gcc 2.95.3 etc. buildling newer versions
  myself did result in non-working binaries. :-(
- it's based upon a ~1998 version of uClinux
- it uses a heavily modified kernel hard to update yourself
- many applications are buggy (boa has a bug in AddType i just fixed,
  busybox sh doesn't "source" other files correctly)
- the web configuration frontend uses snmp -> ssi -> javascript
  (which is about the ugliest web frontend code i've ever seen
  apart from two related bugs due to this mad design i found in
  the webfileset of our hw manufacturer. putting SNMP data via SSI
  into javascript tables and then generating HTML in the browser
  is about the worst thing you can do for compatibility...)
- every single app of uClinux is modified, but there is no clean "diff"
- all data is stored by this big (500k source) snmp process, which is
  non-linear but trigger-based and difficult to understand or debug

-- 
    erich@(vitavonni.de|debian.org)    --    GPG Key ID: 4B3A135C    (o_
  A polar bear is a rectangular bear after a coordinate transform.   //\
       Es gibt kein idiotensicheres Programm, weil Idioten so        V_/_
                      genial sind. -- E. Murphy