Environment : 

OS : Ubuntu 12.04 64 bits

Target : STM32373C-EVAL


Download GCC ARM Toolchain :

Pre-built  GNU Toolchain from ARM Cortex-M4 은 다음 사이트에서 다운 받을 수 있다. 

https://launchpad.net/gcc-arm-embedded


$ wget https://launchpad.net/gcc-arm-embedded/4.8/4.8-2014-q2-update/+download/gcc-arm-none-eabi-4_8-2014q2-20140609-linux.tar.bz2


Download Eclipse :

Eclipse는 다음 사이트에서 다운받을 수 있다. 

http://www.eclipse.org/



64-bit PC이미로 Linux 64 bit를 클릭한다. 




Posted by eoseontaek

Unbuntu 10.04 64bits에 Octave 설치에 대하여 설명한다. 


Configuration  :

sudo apt-get install f2c gfortran libblas-dev liblapack-dev

sudo apt-get install libpcre3-dev libreadline-dev


Download :

http://www.gnu.org/software/octave/

$ wget ftp://ftp.gnu.org/gnu/octave/octave-3.8.1.tar.bz2


Extract & Build :

$ tar -xvjf octave-3.8.1.tar.bz2

$ cd octave-3.8.1

$ ./configure --with-curl --prefix=/home/steo/octave

$ make

$ sudo make install


Install Control Package

download octave package

http://octave.sourceforge.net/packages.php


$ cp control-2.6.5.tar.gz /home/steo/octave/bin

$ ./octave


octave:1> pkg install -global -auto control-2.6.5.tar.gz



Wiki :

http://wiki.octave.org/Octave_for_GNU/Linux


참 고 :

http://askubuntu.com/questions/138832/how-to-install-the-latest-octave

http://dogmas.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%9A%A9-Octave-%EC%84%A4%EC%B9%98%EB%B0%A9%EB%B2%95%EA%B3%BC-notepad%EC%9D%98-%EC%9D%B4%EC%9A%A9%EB%B0%A9%EB%B2%95

http://octave.1599824.n4.nabble.com/Installation-of-control-pkg-fails-with-octave-3-7-2-td4651001.html

http://octave.sourceforge.net/




'[Z-01] 참고 ' 카테고리의 다른 글

EDID란?  (0) 2012.12.21
VirtualBox에서 USB로 부팅하기  (0) 2012.12.04
[Site] NotePad ++  (0) 2011.11.24
[Site] pdf 암호제거 tool  (0) 2011.11.07
[site] JEDEC (DDR2, DDR3 Standard 문서를 얻을 수 있는 곳)  (0) 2011.10.14
Posted by eoseontaek


wpa-supplicant 설정을 좀더 편하게 하기 위한 script를 간단히 만들어 보았다. 


#!/bin/sh


function usage {

    echo "Usage : wireless.sh [authentication] [ssid] [password]"

    echo " - authentication : (1)wpa, (2)wep, (3)none"

    echo " - ssid : AP's SSID"

    echo " - password : AP's KEY"

    echo " - example : wireless.sh wpa steo 1234567890"

}


function reset_dev {

    echo "->Reset wifi device."

    iwconfig wlan0 essid ""

    killall -q udhcpc

    killall -q wpa_supplicant

    iwconfig wlan0 essid ""

    sleep 1

}



function auth_wpa {

    echo "->SSID: $1, KEY: $2"

    reset_dev

    wpa_passphrase "$1" "$2" > /etc/wpa_supplicant/wpa_supplicant.conf

    iwconfig wlan0 essid "$1"

    wpa_supplicant -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &

    udhcpc -i wlan0

}


function auth_wep {

    echo "->SSID: $1, KEY: $2"

    reset_dev

    iwconfig wlan0 essid "$1"

    iwconfig wlan0 key s:$2

    iwconfig wlan0 essid "$1"

    udhcpc -i wlan0

}


function auth_none {

    echo "->SSID: $1"

    reset_dev

    iwconfig wlan0 essid "$1"

    iwconfig wlan0 enc off

    iwconfig wlan0 essid "$1"

    udhcpc -i wlan0

}


case $1 in

    "wpa")

        auth_wpa $2 $3

        ;;

    "wep")

        auth_wep $2 $3

        ;;

    "none")

        auth_none $2

        ;;

    *)

        usage

        ;;

esac






Posted by eoseontaek



Makefile :


all: libnl openssl ncurses readln wpa_supplicant wireless_tools


libnl:

    cd libnl-3.2.22; \

    chmod 755 configure; \

    ./configure --prefix=$(TARGET_ROOT)/usr/local --host=mipsel-linux --disable-static; \

    make;

    if [ ! -e "$(TARGET_ROOT)/usr/lib" ]; then \

        mkdir $(TARGET_ROOT)/usr/lib; \

    fi

    cp -af ./libnl-3.2.22/lib/.libs/libnl-3.so* $(TARGET_ROOT)/usr/lib/

    cp -af ./libnl-3.2.22/lib/.libs/libnl-genl-3.so* $(TARGET_ROOT)/usr/lib/


openssl:

    cd openssl-1.0.1e; \

    chmod 755 config; \

    ./config  --cross-compile-prefix=mipsel-linux- shared; \

    make;

    cp -af ./openssl-1.0.1e/libcrypto.so* $(TARGET_ROOT)/usr/lib/

    cp -af ./openssl-1.0.1e/libssl.so* $(TARGET_ROOT)/usr/lib/


ncurses:

    cd ncurses-5.9; \

    chmod 755 configure; \

    ./configure --prefix=$(TARGET_ROOT)/usr/local --host=mipsel-linux --with-shared; \

    make;

    cp -af ./ncurses-5.9/lib/libncurses.so* $(TARGET_ROOT)/usr/lib/


readln:

    cd readline; \

    chmod 755 configure; \

    ./configure --prefix=$(TARGET_ROOT)/usr/local --host=mipsel-linux --disable-static --enable-shared; \

    make; \

    make install;


wpa_supplicant:

    make -C ./wpa_supplicant-2.0/wpa_supplicant/

    if [ ! -e "$(TARGET_ROOT)/usr/bin" ]; then \

        mkdir $(TARGET_ROOT)/usr/bin; \

    fi

    cp -af ./wpa_supplicant-2.0/wpa_supplicant/wpa_passphrase $(TARGET_ROOT)/usr/bin/

    cp -af ./wpa_supplicant-2.0/wpa_supplicant/wpa_supplicant $(TARGET_ROOT)/usr/bin/


wireless_tools:

    cd wireless_tools.29; \

    make; \

    make install;

    cp -af ./wireless_tools.29/lib/* $(TARGET_ROOT)/usr/lib/

    cp -af ./wireless_tools.29/sbin/* $(TARGET_ROOT)/sbin/


clean:

    make -C ./libnl-3.2.22 clean

    make -C ./openssl-1.0.1e clean

    make -C ./ncurses-5.9 clean

    make -C ./wpa_supplicant-2.0/wpa_supplicant clean

    make -C ./wireless_tools.29 clean





Posted by eoseontaek

Makefile

all: iperf


iperf:

    cd iperf-2.0.5; \

    chmod 755 configure; \

    ./configure --build=i686-linux --host=mipsel-linux; \

    make;

    if [ ! -e "$(TARGET_ROOT)/usr/lib" ]; then \

        mkdir $(TARGET_ROOT)/usr/lib; \

    fi

    cp -af ./iperf-2.0.5/src/iperf $(TARGET_ROOT)/usr/bin/



clean:

    make -C ./iperf-2.0.5 clean



Posted by eoseontaek

Ethernet Compliance Test를 위해 Ethernet PHY 에서 특정 신호를 출력할 수 있게 설정해 주어야 한다.

Ethernet PHY(Broadcom B50612E)의 datasheet를 참조한다. 




testmode.c

 /*

 * Test Mode 

 *

 * The BCM5461 can be placed in one of four transmit test mode by writing bits [15:13] of the 1000BASE-T control register.

 * The transmit test modes are defined in IEEE802.3ab. When read, these bits return the last value written. For test modes 1,

 * 2, and 4 the PHY must have auto-negotiation disabled, forced to 1000BASE-T mode and auto-MDIX disabled.

 *

 * Disable auto-neg and force to 1000BASE-T mode (write to register 00h = 0x0040)

 * Disable auto-MDIX (write to register 18h, shadow value 111, bit 9 = 0)

 * Enter test mode s (write to register 09h, bits[15:13] = the test mode you want)

 *

 */


#include <linux/mii.h>

#include <net/if.h>

#include <linux/sockios.h>

#include <sys/types.h>          

#include <sys/socket.h>

#include <sys/ioctl.h>

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <string.h>

#include <errno.h>


/* Ethernet dev */

#define NET_DEV "eth1"


/* PHY id */

#define PHY_ADDR   (0)


/* Register Map (Broadcom B50612E) */

#define PHY_MII_CTRL_REG (0x00) /* 1000BASE-T/100BASE-TX/10BASE-T MII Control Register */

#define PHY_CTRL_REG (0x09) /* 1000BASE-T Control Register */

#define PHY_MISC_CTRL_REG (0x18) /* 1000BASE-T/100BASE-TX/10BASE-T Miscellaneous Control Register */


int main(int argc, char *argv[])

{

struct ifreq ifr; 

struct mii_ioctl_data *mii;

int nSockFD;

int mode;


if (argc < 2)

{

printf("* Usage : ./testmode [mode] \n");

printf("* mode : \n");

printf(" 0 - Normal operation\n");

printf(" 1 - Test mode 1 (Transmit waveform test) \n");

printf(" 2 - Test mode 2 (Master transmit jitter test) \n");

printf(" 3 - Test mode 3 (Slave transmit jitter test) \n");

printf(" 4 - Test mode 4 (Transmitter distortion test) \n");

return -1;

}


printf("\n==== 1000BASE-T Control Test ====\n\n");


nSockFD = socket(AF_INET, SOCK_DGRAM, 0);

if( nSockFD < 0) 

{    

printf("Failed to create socket (errno: %d)", errno);

return -1;

}   

memset(&ifr, 0, sizeof(ifr));

strcpy(ifr.ifr_name, NET_DEV);

mii             = (struct mii_ioctl_data *)&ifr.ifr_data;

mii->phy_id     = PHY_ADDR;


/*

* 1000BASE-T/100BASE-TX/10BASE-T MII Control Register

*   Bits [6,13]: 10 = 1000 Mbps

*   Bits [12] : 0 = Auto-negotiation Disabled

*/


mii->reg_num = PHY_MII_CTRL_REG;

mii->val_in = 0x0040; 

printf("STEP 1. Disable auto-neg and force to 1000BASE-T mode. (Address : %02Xh) \n", mii->reg_num);

if (ioctl(nSockFD, SIOCSMIIREG, &ifr) < 0) 

{    

perror("Failed to write register value");

close (nSockFD);

return -1;

}



/*

* 1000BASE-T/100BASE-TX/10BASE-T Miscellaneous Control Register

*     Bits [9] : 0 = Auto-MDIX is disabled when autonegotiation is disabled

*/


mii->reg_num   = PHY_MISC_CTRL_REG;

mii->val_in = 0x01E7;


printf("STEP 2. Disable auto-MDIX (Address : %02Xh) \n", mii->reg_num);

if (ioctl(nSockFD, SIOCSMIIREG, &ifr) < 0) 

{    

perror("Failed to write register value");

close (nSockFD);

return -1;

}


/*

* 1000BASE-T Control

*     Bits[15:13] : 1 X X = Test mode 4—Transmitter distortion test

* 0 1 1 = Test mode 3—Slave transmit jitter test

* 0 1 0 = Test mode 2—Master transmit jitter test

* 0 0 1 = Test mode 1—Transmit waveform test

* 0 0 0 = Normal operation

*/


mii->reg_num   = PHY_CTRL_REG;

mode = atoi(argv[1]);

printf("STEP 3. Enter test mode (Address : %02Xh) (Test Mode : %d)\n", mii->reg_num, mode);

switch (mode)

{

case 0 :

mii->val_in = 0x0200; /* Normal operation */

break;

case 1 :

mii->val_in = 0x2200; /* Test Mode 1 */

break;

case 2 :

mii->val_in = 0x5A00; /* Test Mode 2 */

break;

case 3 :

mii->val_in = 0x7A00; /* Test Mode 3 */

break;

case 4 :

mii->val_in = 0x8200; /* Test Mode 4 */

break;

default : 

printf("Invalid mode (mode : %d)!!", mode);

close (nSockFD);

return -1;

break;

}


if (ioctl(nSockFD, SIOCSMIIREG, &ifr) < 0) 

{    

perror("Failed to write register value");

close (nSockFD);

return -1;

}


mii->reg_num   = PHY_CTRL_REG;

if (ioctl(nSockFD, SIOCGMIIREG, &ifr) < 0) 

{    

perror("Failed to get register value");

close (nSockFD);

return -1;

}   

printf("1000BASE-T Control Register(Address : %02XH), (Value : %04XH)\n",mii->reg_num, mii->val_out);



close (nSockFD);



return 0;

}


Makefile

CC = mipsel-linux-gcc

INC =

LIBS = 

CFLAGS = -g -Wall

OBJS = testmode.o

SRCS = testmode.c

TARGET = testmode 

all : $(TARGET)


$(TARGET) : $(OBJS)

$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS)

clean :

rm -rf $(OBJS) $(TARGET)



참 고 : 

Tektronix TDSET3 Ethernet Compliance Test Software

TDSET3.pdf






Posted by eoseontaek

The current SDK has five default CPU profiles (400 MHz, 600 MHz, 800 MHz, 1000 MHz,

and 1200 MHz).


To manually set the CPU frequency, disable dynamic CPU frequency and voltage scaling by

running the following command:

$ echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor


Then set the CPU frequency by running the following command:

$ echo 400000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed


Where, 400000 is in kHz. That is, the CPU frequency is set to 400 MHz. Note that the CPU

voltage is also synchronized to the preset stable voltage that supports this frequency.

'[C-13] Hi3719C' 카테고리의 다른 글

[Hi3719C] DVFS 설정  (0) 2014.02.05
[Hi3719C] Development Compilation  (0) 2014.01.15
Posted by eoseontaek


DVFS (Dynamic Voltage and Frequency Scaling )


Enable dynamic CPU frequency and voltage scaling

$ echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

file : \device\hisilicon\Hi3719CV100\etc\init.Hi3719CV100.sh


Disable dynamic CPU frequency and voltage scaling

$ echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor



'[C-13] Hi3719C' 카테고리의 다른 글

[Hi3719C] Setting the CPU Frequency  (0) 2014.02.06
[Hi3719C] Development Compilation  (0) 2014.01.15
Posted by eoseontaek

http://www.vim.org/scripts/script.php?script_id=102



DirDiff.vim : A plugin to diff and merge two directories recursively. 


 Usage:   <Enter>/'o'=open,'s'=sync,'\dj'=next,'\dk'=prev, 'q'=quit

 Options: 'u'=update,'x'=set excludes,'i'=set ignore,'a'=set args

 Diff Args: -r --brief -x".svn" -x"CVS" -x"*.class" -x"*.exe" -x".*.swp"


Posted by eoseontaek

Configuring the Environment


$ source build/envsetup.sh

$ lunch Hi3719CV100-eng


[All Images]

Run the following command in the code root directory

$ cd ~/Android-K/src

$ make bigfish -j16 2>&1 | tee bigfish.log


[Kernel Image]

Kernel Directory : 

./device/hisilicon/bigfish/sdk/source/kernel/linux-3.4.y


Run the following command in the code root directory

$ make kernel –j16 2>&1 | tee kernel.log


Modifying Android Kernel Configuration :

$ make kernel_menuconfig


[System Image]

Run the following command in the code root directory:

$ make ext4fs -j16 2>&1 | tee ext4fs.log


[Fastboot Image]

fastboot directory : 

./device/hisilicon/bigfish/sdk/source/boot/fastboot


Run the following command in the code root directory:

$ make hiboot -j16 2>&1 | tee hiboot.log


Deleting Compilation Results


Run the following command in the code root directory:

$ make clean



Modifying the HiSilicon SDK Configuration File


The SDK configuration file is stored in the following directory:

device/hisilicon/bigfish/sdk/configs/


Go to the SDK directory by running the following command:

$ cd device/hisilicon/bigfish/sdk


Run the following command to modify the corresponding configuration file:

$ make menuconfig SDK_CFGFILE=configs/hi3719cdmo1b_hi3719cv100_android_cfg.mak






'[C-13] Hi3719C' 카테고리의 다른 글

[Hi3719C] Setting the CPU Frequency  (0) 2014.02.06
[Hi3719C] DVFS 설정  (0) 2014.02.05
Posted by eoseontaek

Install tools

$ sudo apt-get install sox

$ sudo apt-get install libsox-fmt-mp3


Exchange

$ sox -V 035_girlsday.mp3 -b 16 -r 44100 -c 1 -s 035.wav

Channels       : 1 (mono)

Sample Rate    : 44100 Hz

Precision      : 16-bit



Options

-V : Set verbosity

-b : The number of bits  in each encoded sample.

-r : sample rate

-c :  The number of audio channels in the audio file

-s : the encoding types ( signed-integer )



Reference

http://sox.sourceforge.net/

http://blog.naver.com/untilok?Redirect=Log&logNo=25791730


'[C-11] Hi3716C' 카테고리의 다른 글

[Hi3716C] adb command  (0) 2013.12.19
[Hi3716C] Kernel module build  (0) 2013.12.16
[Hi3716C] sample_e2prom  (0) 2013.12.06
[Hi3716C-Kernel] tags, cscope  (0) 2013.11.28
[Hi3716C-Kernel] Kernel Build command  (0) 2013.11.26
Posted by eoseontaek

# adb kill-server

# adb start-server

# adb connect [target's ip address]:[target's port]

# adb shell

# adb push [local 파일] [target의 저장 위치]

# adb pull [target의 파일] [local 파일명]:


참 조 : 

http://eaglos.tistory.com/8




'[C-11] Hi3716C' 카테고리의 다른 글

[Hi3716C] mp3 파일을 wav 파일로 변경  (0) 2013.12.20
[Hi3716C] Kernel module build  (0) 2013.12.16
[Hi3716C] sample_e2prom  (0) 2013.12.06
[Hi3716C-Kernel] tags, cscope  (0) 2013.11.28
[Hi3716C-Kernel] Kernel Build command  (0) 2013.11.26
Posted by eoseontaek

$ cd ./device/hisilicon/godbox/driver/sdk

$ make -f mpi.mk

'[C-11] Hi3716C' 카테고리의 다른 글

[Hi3716C] mp3 파일을 wav 파일로 변경  (0) 2013.12.20
[Hi3716C] adb command  (0) 2013.12.19
[Hi3716C] sample_e2prom  (0) 2013.12.06
[Hi3716C-Kernel] tags, cscope  (0) 2013.11.28
[Hi3716C-Kernel] Kernel Build command  (0) 2013.11.26
Posted by eoseontaek

Modify

host$ vi ./device/hisilicon/godbox/driver/sdk/sample/ecs/sample_hmc_e2prom.c


host $ vi ./device/hisilicon/godbox/driver/sdk/sample/ecs/Android.mk

include $(CLEAR_VARS)

LOCAL_MODULE:= sample_hmc_e2prom

LOCAL_CFLAGS := $(CFG_CFLAGS)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../msp_base/common/include

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../msp_base/mpi/include

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../msp_base/ha_codec/include

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../common

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../msp_base/ecs/include

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../../../../packages/apps/SettingTV/jni

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../msp/ha_codec/include

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../msp/component/hiflash/include

LOCAL_SHARED_LIBRARIES :=libsample_common libhi_flash libhi_common libhi_mpi libc libhi_ecs libdl libtde libhi_jpegfmw

LOCAL_SRC_FILES := sample_hmc_e2prom.c

LOCAL_MODULE_TAGS := eng

include $(BUILD_EXECUTABLE)



Build

host$ cd ./device/hisilicon/godbox

host$ mm


Install to Android board

host$  cd ./out/target/product/godbox/system/bin/

host$ adb connect 111.111.111.77

host$ adb push sample_hmc_e2prom /mnt/sda/sda1/


Run executable

target$ insmod /system/lib/modules/hi_e2prom.ko

target$ cd /mnt/sda/sda1

target$ ./sample_hmc_e2prom







'[C-11] Hi3716C' 카테고리의 다른 글

[Hi3716C] adb command  (0) 2013.12.19
[Hi3716C] Kernel module build  (0) 2013.12.16
[Hi3716C-Kernel] tags, cscope  (0) 2013.11.28
[Hi3716C-Kernel] Kernel Build command  (0) 2013.11.26
[Hi3716C-fastboot] Build commands for fastboot  (0) 2013.11.26
Posted by eoseontaek


$ make tags ARCH=arm

$ make cscope ARCH=arm



Posted by eoseontaek

Step 1 Switch to the kernel source code directory.

$ cd ./kernel


Step 2 Configure the kernel configuration file.

$ make hi3716c-android_defconfig


Step 3 Compile the kernel.

$ make uImage


Step 4 Copy the generated file to the out directory.

cp -avf arch/arm/boot/uImage ../out/target/product/godbox/kernel


Clear the kernel compilation result by running the following command:

$ make distclean



Posted by eoseontaek

Step 1. Switch to the fastboot source code directory.

$ cd bootable/bootloader/fastboot3.0/


Step 2. Obtain the configuration file corresponding to the board.

$ cp ./lowlevel_reg_info/hi3716cdmoverb_hi3716cv100_ddr3_1gbyte_8bitx4_4layers.reg ../.reg


Step 3. Compile the fastboot

$ make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- godbox_config

$ make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- 


Delete the fastboot compilation result

$ make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- distclean


Step 4. Burn into SPI Flash

fastboot# tftp 0x81000000 fastboot-burn.bin

fastboot# sf probe 0

fastboot# sf erase 0 0x00070000

fastboot# sf write 0x81000000 0 0x00070000


'[C-11] Hi3716C' 카테고리의 다른 글

[Hi3716C] Kernel module build  (0) 2013.12.16
[Hi3716C] sample_e2prom  (0) 2013.12.06
[Hi3716C-Kernel] tags, cscope  (0) 2013.11.28
[Hi3716C-Kernel] Kernel Build command  (0) 2013.11.26
[Hi3716C] Setting Up a Local Development Environment  (0) 2013.10.31
Posted by eoseontaek

File : parse-iwlist.awk

BEGIN { OFS = "\t"; } # OFS is a field separator used for "print"
/\<Cell/ {
    # New cell description has started, so we need to print a previous one.
    # Detect security mode first.
    if (wpa) { security = "wpa" } else { if (wep) { security = "wep" } else { security = "none" }}
    if (essid) print essid, security, quality;
    # Reset security flags.
    wep = 0; wpa = 0;
}
/\<ESSID:/ {
    essid = substr($0, index($0, ":") + 1);
    essid = substr(essid, 2, length(essid) - 2) # discard quotes
}
/\<Quality/ {
    # We should support several output formats from iwlist scan (from
    # wireless_tools package):
    #
    # 1) Quality:30/70
    # 2) Quality=20/100
    # 3) Quality:60
    #
    # Quality might be separated with '=' or with ':' and we might have maximal
    # value present or not. This depends on the driver used.
    #
    split($1, q, "[:=]"); # after split: q[1] -> "Quality", q[2] -> quality value
    split(q[2], qvalues, "/");
    if (qvalues[2]) {
        quality = int(qvalues[1] / qvalues[2] * 100); # we have both parts, divide
    } else {
        quality = qvalues[1]; # we have only one part, use it as-is
    }
}
/\<Encryption key:(o|O)n/ { wep = 1 }
/\<IE:.*WPA.*/ { wpa = 1 }
END {
    # handle last cell
    if (wpa) { security = "wpa" } else { if (wep) { security = "wep" } else { security = "none" }}
    if (essid) print essid, security, quality;
}


Command :
# iwlist wlan0 scan | awk -f parse-iwlist.awk
iptime_2 wpa 100 lab2 wep 100 PRODEA none 100 HMC_HW wep 98 kotech wpa 41 portthru none 44 orbotech wpa 58 beseto-1 wpa 58 PCMM_HMK wpa 50 Air_net_ct wpa 47 KT_WLAN wep 47 000D0B836EA6 wep 35 NHTECH_ceo wpa 41 netis wpa 47 3Team wpa 47 golf19 wpa 58 EE_2F wpa 52 FREE2USE none 41 HNB200_2G none 55 myLGNet wep 38 zero none 47 chemkosc wep 50 KT_WLAN_5D5A wpa 52 iptime none 41


Link :





Posted by eoseontaek
Posted by eoseontaek

Atheros AR9300  PCI Wireless module의 driver를 porting하였다. 


Kernel Config : 

# make menuconfig-linux

...

Bus options (PCI, PCMCIA, EISA, ISA, TC)  --->    

    [*] Support for PCI controller

...

[*] Networking support  ---> 

    -*-   Wireless  --->

        <*>   cfg80211 - wireless configuration API

        <*>   Generic IEEE 802.11 Networking Stack (mac80211)

...

Device Drivers  --->

    [*] Network device support  --->

        [*]   Wireless LAN  --->

            <*>   Atheros Wireless Cards  --->

                <*>   Atheros 802.11n wireless cards support

                 [*]     Atheros ath9k PCI/PCIe bus support         


Rebuild 후, Driver가 제대로 probe 되는지 확인한다. 


Wifi 동작 테스트 : 

아래 링크를 참조하여 WIFI 환경을 설정한다. 

http://eoworld.tistory.com/entry/BCM7231-WIFI-usage-with-wirelesstoos-and-wpasupplicant


Link : 

http://wireless.kernel.org/en/users/Drivers/ath9k

Posted by eoseontaek