Page is in English and describes my achievements until now. Hope to get feedback from around the globe, therefore in english. Mail comments to wifimaarten aaattt hotmail.com or add it yourself, its a wiki site! Don't complain about spelling and grammar (correct that yourself). My goal when writing was to share some information quickly.

Introduction

The Benq AWL500 is an Access Point. Unfortunatly it works only in managed mode so I decided to try to get a bit more out of the box. Running ucLinux should be possible.

Links

Links that inspired me http://sourceforge.net/projects/samsung-uclinux/,
http://opensource.instant802.com/,
http://linuxap.ksmith.com,
http://www.ucrouter.ru/english/ and
http://www.armlinux.net/Kor/solution/vls_4510_ap.htm.

Other interesting links:
http://seattlewireless.net/index.cgi/SamSung4510
http://reseaucitoyen.be/index.php?samsung4510

My goal

Getting ucLinux running on this wireless AP to extend the capabilities

Mainboard hardware and modifications

If you lift the hood you find a nice PCB:

CPU

S3C4510B

ARM7DTMI

http://www.samsung.com

SDRAM

16 M-BIT Hynix

HY57V16160DTC-7

143 MHz, 2Banks x 512Kbits x 16, LVTTL

specsheet

Flash Mem.

8M-BIT

29LV800BTC-90

1M x 8/512K x 16 CMOS SINGLE VOLTAGE

specsheet

Ethernet

Realtek RTL8201L

Wifi

PCMCIA Card

Benq AWL100 with external antenna

http://www.fcc.gov/oet/fccid/ has all PCB design drawings. FCCID: jwp , Equipment Product Code: awl500 .

Q. Are you sure that the FCCID is right? I can't find it on the FCC ID search page.

A: Yes, at the bottom of this page http://www.fcc.gov/oet/fccid/help.html fill the field of Examples 'jvp' (where it now says AA0] and at the second 'awl500'.

Further we find a 14 pin JTAG header preparation, a pre-soldered footprint for a MAX3244 and 9P-SUBD preparation.

http://members.lycos.nl/mjlsanders/thm_pict0029.jpg or Big. http://members.lycos.nl/mjlsanders/thm_awl5000003.jpg or Big.

Some overview pictures of the board

PCMCIA

Tested the card in laptop and it is AWL100 with external antenna. See also page PcmCia for linux instructions on the AWL100.

Antenna connector is accordign the specs a Hirose connector but the connector in my box says IPX. IPX is made by http://www.i-pex.co.jp/ and extremly similar to http://www.Hirose.de U.FL series connector. I-pex calls it MHF. Pigtail plus connector can be bought at http://www.Farnell.com/nl art.no. 3910659 only 5.29 euro. Or at http://www.netgate.com/product_pigtails.html.

JTAG interface

Hardware JTAG interface

If fitted a 14 pin header (drill the holes with a 1 mm drill and gently solder the header).

http://members.lycos.nl/mjlsanders/thm_awl5000006.jpg or Big. http://members.lycos.nl/mjlsanders/thm_awl5000007.jpg or Big.

Top and bottom view of header on board

Initially I built a parallel port interface from http://jtag-arm9.sourceforge.net/hardware.html. I modified it to match this design: http://bh.udev.org/filez/wireless/samsung4510/pasteleurs/ but did not try it yet. I changed the header connections (20 <> 14 pin) to:

PL2/4,6,8,10,12,14,16,18,20

PL2/2,4,6,8,10,14

PL2/1,2

PL2/1

PL2/5

PL2/5

PL2/7

PL2/7

PL2/9

PL2/9

PL2/13

PL2/11

14 Pin JTAG is:

1

Vcc

2

GND

3

nTRST

4

GND

5

TDI

6

GND

7

TMS

8

GND

9

TCK

10

GND

11

TDO

12

nRESET

13

Vcc

14

GND

From the origianl design I replaced the AC244, which was hard to get, for a 74HCT244N which works fine with the same pinout.

The nRESET circuit is modified: Instead of the DTC114 part I used a BC337 (-25) and because I ran out of resistors I used a 100k resistor instead of the 47k. Also did I connect PL2/15 to PL2/3 because 2/15 is not connected on the PCB.

I tested the interface with Macraigor Systems OCD Demon Flash Programmer and it works! I can read, don't dare to write yet. I am further focussing on using opensource software, see below.

http://members.lycos.nl/mjlsanders/thm_pict0030.jpg or Big. http://members.lycos.nl/mjlsanders/thm_pict0031.jpg or Big.

The JTAG parallel port interface

Software JTAG interface

I tried the jtag linux software at http://openwince.sf.net/jtag. It could replace the windoze Flash Programmer ... Start jtag and load the jtag cable that you've:

jtag> cable parallel 0x378 WIGGLER
jtag> detect

I was a bit succesfull. 'detect' returns:
IR length: 4
Chain length: 1
Device ID: 00011111000011110000111100001111
Unknown manufacturer!
Chain.c(110) part 0 without active instruction
Chain.c(133) part 0 without active instruction
Chain.c(110) part 0 without active instruction
Unknown manufacturer is correct (see [openwince.sourcefore.net/] lists).

But if I do:
'jtag> include samsung/s3c4510b/s3c4510b'
and I try to read memory e.g.:
'jtag> peek 0x0080'

I get some value. If I try again (other address or the same) the AWL500 sort of hangs, the WLAN led goes off and I get the same value for every address I try.

I need to check the nTRST circuit. I did check the functioning of the nTRST pin by setting pin 2 of the 25 p SUBD high for 200u seconds; this did reset the AWL500 completly. Maybe timings are critical since I did use not exactly the same parts (100k<>47k). Also, http://seattlewireless.net/index.cgi/SamSung4510 reports the arm9 circuit is buggy. Also there is a patch I have not yet applied at the openwince project pages.

Serial port

From the fcc scheme's and careful inspection (U806)) I found MAX3244 from http://www.maxim-ic.com could do the serial port job. I got hold of a SSOP MAX3244CAI chip, soldered it with a tiny, tiny tip. A great help was the pre-soldering of the PCB; no extra solder needed.

http://members.lycos.nl/mjlsanders/thm_awl5000002.jpg or Big. http://members.lycos.nl/mjlsanders/thm_awl5000005.jpg or Big. http://members.lycos.nl/mjlsanders/thm_awl5000008.jpg or Big.

Close up of MAX3244 on board and SUBD connector

Finally I fitted a 9P SUBD. When I powered the AP I did not see any activity on my serial port though I verified there was 3.3V on the MAX3244. I see these options:

  1. I burned the MAX3244
  2. I did not solder well enough
  3. The firmware doesn't initialize the serial port

4. One (or two) of the required Capacitors for the charge bridge are not in place ?

S3C4510B

On the PCB R216 and R217 are not present. Because of absence of these the S3C4510B is in Big Endian. It could be an option to fit the board at R216 with a 10k resistor to see if Little Endian works. Little Endian appears to be used more frequently, at least at Samsung ucLinux pages. A first try fitting the board with a 10k resistor did not work out, reading and writing data from flash was no longer possible. I removed the 10k resistor and will start setting up a big endian development environment.

Software

This will be the most difficult part; I don't know much about microprocessors and because this board is not a development board. So, I don't know what kind of bootloader is used. Actually, I am not even sure if I need a bootloader.

Registers

According to the User Manual the s3c4510b has 16 System Manager registers. They might tell me a bit more about the configuration. The expected binary value is ordered from bit 31 to bit 0.

Registers

Hex Value

Binary

Expected Binary

SYSCFG

0x270C80E2

0010 0111 0000 1100 1000 0000 1110 0010

1110 01xx xxxx xxxx xxxx xxxx xxxx xxxx xxx0

CLKCON

0x3500000A

0011 0101 0000 0000 0000 0000 0000 1010

0xxx ....

EXTACON0

0x01CA46E2

0000 0001 1100 1010 0100 0110 1110 0010

...

EXTDBWTH

0x010000EA

0000 0001 0000 0000 0000 0000 1110 1010

... xxx1 1xxx

Known values are:

  1. SYSCFG bit 31;1 S-DRAM Module, bit 30:26;11001 Product ID S3C4510B , bit 0;0 defined 0
  2. CLKCON bit 31;0 defined 0
  3. ROMCON0 bit 5:4;11, because BOSIZE[1:0]=11, means databuswidth 32 bit for rom bank 0

Cross Compiling for arm

You can install a complete cross-compiling toolchain for this samsung 4510. You need to install the following things:

  1. binutils:
  2. arm-linux-gcc:
  3. arm-elf-gcc:
  4. etc... to be continued....

BenqAwl500 (last edited 2009-09-28 06:29:40 by localhost)