uCLinux on Samsung S3C4510B (ARM7TDMI) based wireless router

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I need to warn you all first.. I am completely, Linux ignorant (outside of
being able to navigate around a bash shell a little bit)... I apologize, but
I haven't had the time or the real need to wrangle with it long enough to
learn it, sorry but as a small business computer consultant, the bulk of my
potential clients are on Windows based systems... gotta go where the money
is, but that's neither here nor there... suffice to say, I know Linux is the
superior OS (never hurts to suck up to the Linux gurus hehe).  anyway.  I
have a situation where I need the capabilities that a linux based wireless
router will offer.... (ie stock firmware from Wind River Systems, Inc. sucks
and won't let the router work the way I want it to work, as a bridge,
router, access point and print server, all at the same time, preferably with
some sort of web based configuration like it has now [gee, I don't want
much, do I... but I'm certain some form of Linux is up to the task])

I've been looking at the various xAP (openap, opensta, linuxap, openap-ct
and openap-ng) options as well as uCLinux.

First some background on the hardware I'm trying to configure to use
embedded Linux.

I got a smoking deal ($20 each through TigerDirect as "open box") on a
couple Siemens (Efficient Networks) SpeedStream 2623 802.11b DSL Routers,
they work perfectly, within the limitations of the stock firmware... they'd
work a heck of a lot better if I could change the firmware to one of the xAP
variants.  I'm using the routers to offer a simple free hotspot.  I want one
of the routers to have the broadband connection and serve as the DHCP
server, which it does stock now, so I suppose I could leave one of them
stock?   The other, I want to be able to act as a bridge to the first
router, and any other AP's I may add, while at the same time allowing
clients.  ie multi-point to multi-point.

I've done some research on this router (including cracking the case open),
and they have a Samsung S3C4510X01-QER0 (ARM7TDMI based) processor and
utilize a Eumitcom WL11000-1 PCMCIA card for the wireless radio.  The Flash
RAM in this box is an Intel Flash TE28F800-B3B90  which I believe is a 512k
x 16... I 'THINK' the router will accept a new kernel from a BOOTP server
(www.speedstream.com says most of their routers will, to recover from a
failed flash I assume)  This router is equiped with a serial port (for dial
up backup it says, but I assume one could hook up a nul modem cable for a
terminal connection too), a printer port (print server, which I'd like to be
able to use once/if Linux is installed), and 3 wired LAN ports as well as a
WAN uplink port (WAN port won't currently be used, but may be used in the
future to provide greater bandwidth, needs to support PPPOE connection if it
is hooked up).

Since they were so cheap, I can afford to do a little experimenting on one
of the units... although I'd rather avoid toasting it, since I doubt I can
get any more at that price.

Doing a little further research, I was able to find this little blurb on the
uCLinux site.....

[Wiscore Inc. (Taipei, Taiwan) announced an ARM7TDMI evaluation kit that
includes a uClinux operating system. Previously available exclusively in
Taiwan, the "NET-Start!" kit is intended for use by system developers,
instructors, and students, the company said.

According to Wiscore, the hardware/software kit features a single-board
computer based on a 50 MHz Samsung S3C4510B (ARM7TDMI) system-on-chip
processor, with uClinux preinstalled. Both binaries and sources for the
uClinux (with uClibc) OS are included, providing the ability to easily
tailor the system to fit specific requirements, Wiscore said. Other features
of the hardware include 16MB SDRAM, 2MB Flash memory, 10/100 Base-T Ethernet
interface (RJ-45), dual RS232 serial ports, I/O expansion interface (wich
can be used to add an additional Ethernet interface daughter board), JTAG
port, real time clock, watchdog timer, 7-segment display, programmable LEDs,
DIP switch inputs, and push buttons. Required power and interface cables,
power supply, software, and documentation are also included.]

So aparantly there is a uCLinux binaries and source available out there for
the Samsung S3C4510B processor like what is in this router....And seems they
make their uCLinux Kernel v2.0.38 and uClibc 0.9.5 source code available for
download (which I have downloaded) don't know how significantly helpful that
info is or not.

So... with all this useful or useless information.... can anybody help me
with this project?

I truly know nothing from this point... I have got cygwin installed on my
windows machine so I can at least play around in a linux type environment to
start learning some things.  I'm going to try compiling a uCLinux kernel
later tonight, but again, being Linux ignorant, have no idea what I'm doing.
I don't know if once I have a kernel I'm going to need some sort of boot
loader for it to work on the Samsung chip or what.  Linux is new territory
for me... and embedded Linux even more so.

Any and all help is MOST appreciated.

Re: uCLinux on Samsung S3C4510B (ARM7TDMI) based wireless router
I hope I won't disappoint you too much. To begin a embed project from
scratch is hard.
First, you need a way to put your new stuff into the board(flash ram) but
You need a back door to allow you to do so. For eample, a JTAG connect to
serial port or printer port, or a network download(TFTP). But how to switch
the original system mode to download mode? It's the first issue. Maybe you
will say, well how about the firmware upgrade? Most of the firmware upgrade
only allow you to touch a certain data but not all. For example, I will cut
my flash to three part: bootloader, kernel and system. Firmware upgrade will
only replace my system but not my kernel or bootloader. Only the original
developer know how to open the back door. Lucklly, if you know how, then
next step...
Second, you need a new boot loader to replace the original one to support
linux(debug or kernel loading...) You have to write yours to support JTAG
initialization or init serial or network device. Because you are dealing
with an embed system no BIOS. If you want JTAG, you have to write serial
port support on your bootloader or similar function code.
If you want to use BOOTP(TFTP) you need to initialize your network device at
boot time...
If you can do those two step, then you will have the chance to think about
linux or further.
So, good luck!


ps. I will suggest you to begin a project on x86 system first(ex. XBOX
project). Because no BIOS is really a pain.

Quoted text here. Click to load it

Re: uCLinux on Samsung S3C4510B (ARM7TDMI) based wireless router
Quoted text here. Click to load it

I'm fairly certain I've got this covered... SpeedStream's knowledge base
advises by pushing the reset button at a particular point during bootup, it
will prompt the router to download a new kernel from a BOOTP server.

Quoted text here. Click to load it

This could be the problem... the bootloader.... Not sure if the BOOTP
process above will take in a new bootloader (so I don't have to boot with
BOOTP every time) probably not is  my guess... although then I'm wondering
if once I have the kernel loaded once, that will give me a way to load in a
new ready made (see next comment) bootloader.

Quoted text here. Click to load it

I've seen linux bootloaders for this particular chip in my searches on the
web, so I'm hopeful I won't have to write one (I doubt my programming skills
would be up to the task)

Quoted text here. Click to load it

hehe... Thanks... Unfortunately, this isn't just a "I'm bored, lets start a
new project and learn how to embed linux in whatever I can find" sort of
thing... This is a specific need that has prompted me to even consider this
project.   ie the need for the features that only a Linux based wireless
router can provide.

Re: uCLinux on Samsung S3C4510B (ARM7TDMI) based wireless router
Quoted text here. Click to load it
Quoted text here. Click to load it

Right... The PCMCIA wireless card in this router is in fact a Prism 2, so I
know if I can only get Linux into the router firmware, I can use the HostAP

Re: uCLinux on Samsung S3C4510B (ARM7TDMI) based wireless router
Quoted text here. Click to load it

You do know that you need to do this under GPL and thus need to deliver
any source code you write with the binary and/or the devices ?!?!


Re: uCLinux on Samsung S3C4510B (ARM7TDMI) based wireless router
A little more info, not sure how helpful or relevent this is.... The
existing firmware is by Wind River Systems, so I'm assuming uses VxWorks.

Site Timeline