Gateworks Avila GW234x

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 02:03, 16 January 2008 (edit)
Samueldg (Talk | contribs)
(WDS Station and WDS AP)
← Previous diff
Revision as of 02:23, 16 January 2008 (edit) (undo)
Samueldg (Talk | contribs)
(Turbo Mode)
Next diff →
Line 266: Line 266:
You are warned about these, is somebody know better than me how each parameter works: please be free in modify this page to put the corrected information. You are warned about these, is somebody know better than me how each parameter works: please be free in modify this page to put the corrected information.
 +====Antenna Gain====
 +Don't know why you need to use this, but I think that '''ddwrt atheros driver''' use it for some type of optimization. Perhaps any developer can explain this better than me (or anybody that know that).
 +
====Turbo Mode==== ====Turbo Mode====
You can use a real x2 speed (108Mbps) doubling the needed band in a non standar way. You can use a real x2 speed (108Mbps) doubling the needed band in a non standar way.
Line 280: Line 283:
2) This is not a standar mode, be warned. 2) This is not a standar mode, be warned.
 +
 +====Extended range====
 +Please, sombody that knows what is this, explain here.
 +
 +====Super G Compression====
 +Don't know, but appears to be some special mode when SuperG is enabled.
 +
 +I think this mode is similar to '''afterburned''' in broadcom chipsets, but don't know yet.
 +
 +====Super G Fast Framing====
 +Don't know yet, but appears to be some special mode when SuperG is enabled.
 +
 +====Outdoor Band====
 +The '''ddwrt atheros driver''' allow you to select only indoor channels or only outdoor channels with this option.
 +
 +Appears to be useful when you play with outdoor configurations.
 +
 +====Diversity====
 +Don't know. Appears to be a bit confuse parameter with TX and RX antenna parameters.
 +
 +====Channel Width====
 +I know that with 20Mhz channel bandwidth, the A channels don't overlap, but I don't know why we can change this parameter. Perhaps is anything related to SuperG mode or Turbo modes.
 +
 +Please, if anybody know why I need to change this parameter, explain here!!
 +
 +====OFDM SIFS Time====
 +Don't know yet. Any physical parameter to adjust the modulated signal.
 +
 +====OFDM Preamble Time====
 +Don't know yet. Any physical parameter to adjust the modulated signal.
 +
 +====Sensitivity Range (ACK Timing)====
 +Adjust this when you have point to point links (WDS) to allow some driver internals optimization.
===Configuration examples=== ===Configuration examples===

Revision as of 02:23, 16 January 2008

Contents

Avila Gateworks

Thanks to

Brainslayer (Sebastian) to all the help send to me (and the patient he has) to explain many things about this topic (and others).

All developer team for this great firmware.

Gateworks for this device.

Preeliminary notes

DDWRT v24 Firmware

DDWRT v24 RC 6.2 (20080102)

Web GUI problems
  • When you change some parameters in Wireless -> Setup Basic page that will change some combo box lists, is not working. You must change the value, save it, apply changes, go to other page, return to Wireless -> Setup Basic page.
  • Bandwidth monitor not include the wds links status and the wireless graphics are not really real when you have been configure some wds links.
  • The help is not very usefull with GW234X devices, because many modes and parameters are not explained fine (Wireless modes, Bonding settings, etc.).
  • Wireless status page show WDS links as clients. Perhaps you don't know this info with atheros drivers.

¿DDWRT v24 RC 7?

Not exists yet this version, but I expects many bugs were solved.

DDWRT v24 FINAL

Soon ... I think.

Prerequisites

RedHat 5 or similar

I'm using CentOS 5 to write this.

I have been installed minicom, tftp-server and telnet packages (and their dependences) previously and copied zImage and root.fs to /tftpboot/.

Then I configure /etc/xinetd.d/tftp file as this:

  $ cat /etc/xinetd.d/tftp
  # default: off
  # description: The tftp server serves files using the trivial file transfer \
  #       protocol.  The tftp protocol is often used to boot diskless \
  #       workstations, download configuration files to network-aware printers, \
  #       and to start the installation process for some operating systems.
  service tftp
  {
          socket_type             = dgram
          protocol                = udp
          wait                    = yes
          user                    = root
          server                  = /usr/sbin/in.tftpd
          server_args             = -s /tftpboot
          disable                 = no
          per_source              = 11
          cps                     = 100 2
          flags                   = IPv4
  }

And verified that xinetd daemon is runing after the configuration:

  $ service xinetd restart
  Parando xinetd:                                            [  OK  ]
  Iniciando xinetd:                                          [  OK  ]
  $ service xinetd status
  Se está ejecutando xinetd (pid 10353)...

Windows

See: Intall into GW2348

Accesing via telnet

By default you can access the device using a serial port cable (not null-modem) or using telnet.

Using TELNET

1) Configure your ethernet to have the 192.168.3.1/24 ip address

  $ ip addr add 192.168.3.1/24 brd 192.168.3.255 dev eth0 label eth0:3

Where eth0 is your ethernet interface and eth0:3 is the alias (used if you have more than one IP assigned to the interface).

If you have an address assigned to the 192.168.3.0/24 subnetwork, delete it previously:

  $ ip addr del 192.168.3.1/24 brd 192.168.3.255 dev eth0 label eth0:3

Will be usefull you clear the ARP entry for 192.168.3.2:

  $ arp -d 192.168.3.2

And you add the correct MAC for that IP (you gain some milliseconds with this):

  $ arp -s 192.168.3.2 00:D0:12:02:81:48

You must do it when you need to change cable to another GW234X device (for example).

2) Open a terminal window (a window better than a tab in some terminals programs) and send a ping to the GW234X.

  $ ping 192.168.3.2
  PING 192.168.3.2 (192.168.3.2) 56(84) bytes of data.

3) Open a new terminal window and prepare to do the telnet to the GW234X. Very important is that you don't hit RETURN yet.

  $ telnet 192.168.3.2 9000

Where 192.168.3.2 is the default GW234X ip for access RedBoot and 9000 is the default port where RedBoot has a telnet daemon listening.

4) Go to the TELNET terminal and prepare de RETURN key and the CTRL+C combination.

5) Take in view the 2 terminal windows to see when the GW234X is answering the pings and plug-off/plug-on the power to the GW234X.

6) When the ping has the first answer pres RETURN and very quickly the CTRL+C keys.

7) If you were lucked, you can see the RedBoot Prompt:

  $ telnet 192.168.3.2 9000
  Trying 192.168.3.2...
  Connected to 192.168.3.2 (192.168.3.2).
  Escape character is '^]'.
  == Executing boot script in 2.490 seconds - enter ^C to abort
  ^C
  RedBoot> 

8) If you were too slow hitting CTRL+C or hitting RETURN you will not have the RedBoot prompt and will need to go to step 3.

Using MINICOM

1) Configure MINICOM with the default values: 115200,8,N,1 without hardware/software flow control.

2) Save configuration (usefull to not reconfigure the access next time).

3) Connect a serial cable (DB9 MALE to DB9 FEMALE) from your PC to the GW234X.

4) Plug-off and plug-on the power to the GW234X.

5) Remember that you will need to hit CTRL+C keys, but now you, really, not need to do it quickly.

6) Play with RedBoot.

RedBoot

Commands summary

General

Here is it:

  RedBoot> help
  Manage aliases kept in FLASH memory
     alias name [value]
  Set/Query the system console baud rate
     baudrate [-b <rate>]
  Manage machine caches
     cache [ON | OFF]
  Display/switch console channel
     channel [-1|<channel number>]
  Compute a 32bit checksum [POSIX algorithm] for a range of memory
     cksum -b <location> -l <length>
  Display disks/partitions.
     disks 
  Display (hex dump) a range of memory
     dump -b <location> [-l <length>] [-s] [-1|2|4]
  Execute an image - with MMU off
     exec [-w timeout] [-b <load addr> [-l <length>]]
          [-r <ramdisk addr> [-s <ramdisk length>]]
          [-c "kernel command line"] [<entry_point>]
  Manage FLASH images
     fis {cmds}
  Manage configuration kept in FLASH memory
     fconfig [-i] [-l] [-n] [-f] [-d] | [-d] nickname [value]
  Execute code at a location
     go [-w <timeout>] [-c] [-n] [entry]
  Help about help?
     help [<topic>]
  Display command history
     history 
  Set/change IP addresses
     ip_address [-l <local_ip_address>[/<mask_len>]] [-h <server_address>]
  Load a file
     load [-r] [-v] [-d] [-h <host>] [-p <TCP port>][-m <varies>] [-c <channel_number>] 
          [-b <base_address>] <file_name>
  Dump information on PCI devices
     lspci 
  Compare two blocks of memory
     mcmp -s <location> -d <location> -l <length> [-1|-2|-4]
  Copy memory from one address to another
     mcopy -s <location> -d <location> -l <length> [-1|-2|-4]
  Fill a block of memory with a pattern
     mfill -b <location> -l <length> -p <pattern> [-1|-2|-4]
  Network connectivity test
     ping [-v] [-n <count>] [-l <length>] [-t <timeout>] [-r <rate>]
          [-i <IP_addr>] -h <IP_addr>
  Reset the system
     reset 
  Set/Read MAC address for NPE ethernet ports
     set_npe_mac [-p <portnum>] [xx:xx:xx:xx:xx:xx]
  Swap bytes in 16-bit or 32-bit words in a block of memory
     swab -b <location> -l <length> [-2|-4]
  Display RedBoot version information
     version 
  Display (hex dump) a range of memory
     x -b <location> [-l <length>] [-s] [-1|2|4]

fis

  RedBoot> fis
  *** invalid 'fis' command: too few arguments
  Usage:
    fis create -b <mem_base> -l <image_length> [-s <data_length>]
        [-f <flash_addr>] [-e <entry_point>] [-r <ram_addr>] [-n] <name>
    fis delete name
    fis erase -f <flash_addr> -l <length>
    fis free 
    fis init [-f]
    fis list [-d]
    fis load [-b <memory_load_address>] [-c] name
    fis lock [-f <flash_addr> -l <length>] [name]
    fis unlock [-f <flash_addr> -l <length>] [name]
    fis write -f <flash_addr> -b <mem_base> -l <image_length>

Basic procedures

Install dd-wrt firmware

See: Intall into GW2348 I'll not repeat the good explanation there.

Upgrade dd-wrt firmware

Brainslayer explain to me the upgrade method very basically and it works very fine:

  load -r -b 0x00800000 zImage
  fis create linux
  load -r -b 0x00800000 root.fs
  fis create ramdisk

Unbreak dd-wrt firmware

Mmmm, the reason why I wrote this section.

Sometimes, detected playing with v24 RC 6.2 and perhaps is a bug inside this version and not in the release, when you SAVE and APLY under certain circunstances in the webpage, your GW234X finish to response to you and goes into a reboot and try to load cicles.

Fine, the solution I found is to erase the NVRAM:

1) Access to RedBoot.

2) Type:

  RedBoot> fis list
  Name              FLASH addr  Mem addr    Length      Entry point
  RedBoot           0x50000000  0x50000000  0x00080000  0x00000000
  linux             0x50080000  0x00800000  0x00200000  0x00800000
  ramdisk           0x50280000  0x00800000  0x00520000  0x00800000
  mampf             0x507A0000  0x507A0000  0x00020000  0x00800000
  nvram             0x507C0000  0x507C0000  0x00020000  0x00800000
  FIS directory     0x507E0000  0x507E0000  0x0001F000  0x00000000
  RedBoot config    0x507FF000  0x507FF000  0x00001000  0x00000000

3) See where are your nvram and what is the size of it.

4) Erase it:

  RedBoot> fis erase -f 0x507C0000 -l 0x00020000
  ... Erase from 0x507c0000-0x507e0000: .

5) Plug-off and plug-on your GW234X. It will answer your questions.

WiFi Configurations

Wireless modes

AP (Access Point)

The wifi interface is turned into a MASTER mode and synchronizes all wireless clients that connect to it. You need to configure the acces parameters to allow clients to connect (or not) to it. You must configure the ESSID, authentication and cipher parameters.

The wifi interface is bridged to an ethernet interface to allow cable access to the wireless LAN.

Client bridge

The same as AP but the wifi interface is turned into a MANAGED mode and you use the device to connect many computers using LAN to the WIFI LAN.

You must configure the same values in ESSID, auth and cipher to allow connect it to the APs in the wifi LAN.

The WIFI MAC is proxied to allow connect many PCs using only one device to the wifi LAN.

If you use the special ESSID any you will allow to connect to any wireless network that shares the auth and cipher configuration with your device.

Client

Called routed client too.

The wifi interface is turned into a MANAGED mode and will connect to any AP that shares the ESSID, authentication and cipher configuration with it.

The wifi interface has the rol of another ethernet interface and will be used as the WAN port of the router.

AdHoc

Really is a routed adhoc client. The same as client routed but the wifi interface only will connect to another ad-hoc devices that shares the same auth and cipher configuration.

AdHoc bridge

Is not impletented by DD-WRT firmware (and don't know why).

The ideal implementation is to be used as client bridge without ARP PROXY, to allow the point to point links to eat all the band.

Here is some information about this:

http://madwifi.org/wiki/UserDocs/AhdemoInterface

WDS Station and WDS AP

See: http://madwifi.org/wiki/UserDocs/WDSBridge

Please, somebody that really know how to use this two modes with ddwrt, write here. I don't know how to use them because AP could be use to WDS links and WDS links works fine with AP mode.

Drivers Parameters

Important notes

As BrainSlayer remark to me, the madwifi driver inside dd-wrt is not the madwifi-ng.

I remember he had a trunk from an old madwifi driver and began to work into it to make it stable, full featured and usefull from the firmware point of view.

The explanation about the parameters are based on the oficial madwifi documentation and many of them our own experiences configuring and testing GW234X using the diferent parameters.

You are warned about these, is somebody know better than me how each parameter works: please be free in modify this page to put the corrected information.

Antenna Gain

Don't know why you need to use this, but I think that ddwrt atheros driver use it for some type of optimization. Perhaps any developer can explain this better than me (or anybody that know that).

Turbo Mode

You can use a real x2 speed (108Mbps) doubling the needed band in a non standar way.

In this way, only Atheros devices can connect to it using the same operation mode and channel.

When you configure this mode you can see that the channel selection list is not the same as the original one, because the frequency used are in the middle of 2 standar channels.

See: http://madwifi.org/wiki/UserDocs/TurboMode and http://madwifi.org/wiki/UserDocs/802.11a_channels

Notes:

1) When you configure GW234X using this mode, you can't see it using kismet or any other sniffing tool. I don't play with this much time, but I think you can put the kis0 interface in your sniffer machine in this mode and adapt the kismet.conf to allow kismet to see this type of AP's.

2) This is not a standar mode, be warned.

Extended range

Please, sombody that knows what is this, explain here.

Super G Compression

Don't know, but appears to be some special mode when SuperG is enabled.

I think this mode is similar to afterburned in broadcom chipsets, but don't know yet.

Super G Fast Framing

Don't know yet, but appears to be some special mode when SuperG is enabled.

Outdoor Band

The ddwrt atheros driver allow you to select only indoor channels or only outdoor channels with this option.

Appears to be useful when you play with outdoor configurations.

Diversity

Don't know. Appears to be a bit confuse parameter with TX and RX antenna parameters.

Channel Width

I know that with 20Mhz channel bandwidth, the A channels don't overlap, but I don't know why we can change this parameter. Perhaps is anything related to SuperG mode or Turbo modes.

Please, if anybody know why I need to change this parameter, explain here!!

OFDM SIFS Time

Don't know yet. Any physical parameter to adjust the modulated signal.

OFDM Preamble Time

Don't know yet. Any physical parameter to adjust the modulated signal.

Sensitivity Range (ACK Timing)

Adjust this when you have point to point links (WDS) to allow some driver internals optimization.

Configuration examples

Normal AP WDS configuration between 2 GW2347 and 1 GW2348

This case we'll connect 3 LAN using 2 GW2347 and 1 GW2348 and they will be transparent for the direfent Ethernet subnets.

  GW2347_0 - - - - - GW2348 - - - - - - GW2347_1
     |                 |                   |
    LAN               LAN                 LAN

Because this is a bit extense document (with some screenshots) is writen into this page: Normal AP WDS configuration between 2 GW2347 and 1 GW2348