/======================================================/
    README

    Aerial : Linux 2.6 Driver for Rohm WiFi chipset

    * Copyright (C) 2009-2011 Rohm Co.,Ltd.
/======================================================/

1. Introduction
---------------

This "Aerial" software contains a Linux kernel driver for 
Rohm Wireless LAN chipset.
This README roughly explains each procedure to build, 
install, configure the Aerial & Rohm Wi-Fi chipset.


2. Building and installing the driver
-------------------------------------

  2.1. Decompress the Aerial packege
       tar zxvf aerial_v303.tar.gz

  2.2. Build the Aerial for SDIO or USB2.0
       ( Makefile in the directory ~/aerial_v303/ )

      - for USB
      make clean
      AERIAL_DEVICE=USB make

      - for SDIO
      make clean
      AERIAL_DEVICE=SDIO make

  2.3. If build is succeeded, then following ko(kernel object) is generated.

      - for USB
      ~/aerial_v303/src/aerial_usb.ko

      - for SDIO
      ~/aerial_v303/src/aerial_sdio.ko

  2.4. Insert the ko file into the kernel as the network driver module.
       (This procedure needs the super user authorisation.)

      - for USB
      cd ~/aerial_v303/src
      insmod aerial_usb.ko

      - for SDIO
      cd ~/aerial_v303/src
      insmod aerial_sdio.ko

  2.5. Insert ROHM Wi-Fi adaptor.
      - for USB
      Insert ROHM Wi-Fi adaptor in USB Port

      - for SDIO
      Insert ROHM Wi-Fi adaptor in SDIO Port


3. Using the Aerial driver (Basic configuration)
------------------------------------------------

  3.1. Load the firmware running the Rohm WiFi device
       ( The firmware binary file is in the ~/aerial_v303/bin.)

      - for USB
      cd ~/aerial_v303/bin
      cat fwimage400r_STA_USB.bin > /sys/module/aerial_usb/rohm0/firmware
      iwpriv rohm0 fwload
      ##### Wait for device ready only USB
      ##### Default : sleep 1sec
      ##### Case to set tkip OR AES with WPS : sleep 30sec
      sleep 1
      iwpriv rohm0 fwsetup

      - for SDIO
      cd ~/aerial_v303/bin
      cat fwimage400r_STA_SDIO.bin > /sys/module/aerial_sdio/rohm0/firmware
      iwpriv rohm0 fwload
      iwpriv rohm0 fwsetup

  3.2. Configure the Rohm WiFi device

      - set Infrastructure mode
      iwconfig rohm0 mode Managed

      - set ESSID
      iwconfig rohm0 essid rohm_wifi

      - set encryption mode("None" means the security less connection.)
      iwpriv rohm0 set_cryptmode NONE

  3.3. Configure the network interface card(NIC name is "rohm0")
       (This procedure needs the super user authorisation.)

      - set IP address and run the NIC
      ifconfig rohm0 192.168.0.235 up

  3.4. Check the network conncetion by ping to another station.

      ping 192.168.0.1


4. Enhanced configuration
-------------------------------------

  * BSS type

      - BSS(Infrastructure mode)
      iwconfig rohm0 mode Managed

      - IBSS(Independent ad-hoc mode)
      iwconfig rohm0 mode ad-hoc


  * Channel(for IBSS)

      iwconfig rohm0 channel 7


  * Transmission rate

      #72.2M
      iwpriv rohm0 set_n_s_gi_20_e 1
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 72.2M

      #57.8M
      iwpriv rohm0 set_n_s_gi_20_e 1
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 57.8M

      #43.3M
      iwpriv rohm0 set_n_s_gi_20_e 1
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 43.3M

      #28.9M
      iwpriv rohm0 set_n_s_gi_20_e 1
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 28.9M

      #21.7M
      iwpriv rohm0 set_n_s_gi_20_e 1
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 21.7M

      #14.4M
      iwpriv rohm0 set_n_s_gi_20_e 1
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 14.4M

      #7.2M
      iwpriv rohm0 set_n_s_gi_20_e 1
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 7.2M


      #65M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 65M

      #58.5M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 58.5M

      #52M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 52M

      #39M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 39M

      #26M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 26M

      #19.5M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 19.5M

      #13M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 13M

      #6.5M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 1
      iwconfig rohm0 rate 6.5M


      #54M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 54M

      #48M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 48M

      #36M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 36M

      #24M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 24M

      #18M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 18M

      #12M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 12M

      #9M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 9M

      #6M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 6M


      #11M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 11M

      #5.5M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 5.5M

      #2M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 2M

      #1M
      iwpriv rohm0 set_n_s_gi_20_e 0
      iwpriv rohm0 set_n_enable 0
      iwconfig rohm0 rate 1M


  * ESSID

      #in case of "rohm_wifi"
      iwconfig rohm0 essid rohm_wifi


  * Security setting (WEP/WPA/WPA2)

      # None security
      iwpriv rohm0 set_cryptmode NONE

      # WEP64, key="12345"
      iwconfig rohm0 enc 3132333435
      iwpriv rohm0 set_cryptmode WEP64

      # WEP128, key="1234567890123"
      iwconfig rohm0 enc 31323334353637383930313233
      iwpriv rohm0 set_cryptmode WEP128

      # WPA-TKIP, pass phrase=12345678
      iwpriv rohm0 set_psk 12345678
      iwpriv rohm0 set_cryptmode WPA-TKIP

      # WPA-AES, pass phrase=12345678
      iwpriv rohm0 set_psk 12345678
      iwpriv rohm0 set_cryptmode WPA-AES

      # WPA2-AES, pass phrase=12345678
      iwpriv rohm0 set_psk 12345678
      iwpriv rohm0 set_cryptmode WPA2-AES


  * WPS (Wi-Fi Protected Setup)

      iwconfig rohm0 mode Managed  ( set BSS type with Infrastructure)
      # WPS PBC (Push Button Control)
      iwpriv rohm0 set_wpsdmd 0    ( set WPS mode with Stand alone mode)
      iwpriv rohm0 set_wpsst 2     ( start WPS PBC )

      (Push AP's WPS PBC button before or after set_wpsst with 2.)


      iwconfig rohm0 mode Managed      ( set BSS type with Infrastructure)
      # WPS PIN (PIN identified)
      iwpriv rohm0 set_wpsdmd 0        ( set WPS mode with Stand alone mode)
      iwpriv rohm0 set_wpspin 77613110 ( set PIN code as AP's desired)
      iwpriv rohm0 set_wpsst 1         ( start WPS PIN )

      (Make sure if AP's WPS PIN is enabled before set_wpsst with 1.)


  * Network scanning

      - for USB
      cat /sys/module/aerial_usb/rohm0/scanning

      - for SDIO
      cat /sys/module/aerial_sdio/rohm0/scanning
