안녕하세요. 


MAF 센서를 청소하였습니다. Mass Air Flow Sensor 는 유입되는 공기량을 측정하는 센서로써, 연료와의 혼합비를 결정하는 중요한 센서입니다. 


상태가 안 좋으면 연비도 안 좋아지고, 힘도 안 좋아지고 차체 떨림도 발생하게 됩니다. 



준비물

  1. airflow sensor cleaner

    꼭 MAF 전용 클리너를 사용해야 합니다. 용기 있는분 WD40 으로 도전해 보세요. 지옥을 보게 될 겁니다. 

   


  2. 십자 드라이버


작업 순서

  1. 십자 드라이버를 사용해서 MAF 센서를 분리합니다. 





제 MAF 센서인데, 촛점이 나가긴 했지만 그래도 시커멓게 때가 꼈다는 게 한눈에 보이죠?


2. 청소하기

  클리너를 5초정도 뿌려 줍니다. 잠시 마르기를 기다렸다가 다시 뿌려주기를 5번 정도 해 주면 아래와 같이 깨끗하게 청소 됩니다. 




3.  분해의 역순으로 조립하면 됩니다. .



청소후에는 확실히 힘이 좋아졌네요. 

'일상사' 카테고리의 다른 글

How to create the AUX on LS430  (0) 2015.11.23
[카메이트] 무스원 사용기  (0) 2015.02.22
[소낙스] 브릴리언트 샤인 디테일러  (0) 2014.10.19
[글로스브로] 버블밤 후기  (0) 2014.10.19
놀러 가는거  (0) 2014.08.12
블로그 이미지

김유석0

,

Hi everyone. 


I'm have a luxury sedan that model is a LS430. 


LS430 is very nice car to me. Very silence and smooth riding.


But LS430 have a one bad thing. It is a not support MP3, Bluetooth and AUX input.


So, Many owner are try to find that How to create the AUX or install the MP3 or Bluetooth.


Some vendors are recommended the one way. This way is install mp3 device on LS430. 


The mp3 device is such as Yatour and etc.


So, I was bough the Yatour and install to my LS430. But not Satisfied. Because this device not support the title and lyrics.


Anyway, a few month past, I'm try to find the solution for create the AUX on my LS430.


This time. I'm get a service manual for head-unit. model name is a Pioneer FX-MG9106ZT/EW.


The service manual are include the schematic of head-unit and description of pin's.


My JOB is a programmer and have a hardware skills.


Last week I'm try to modified the my head-unit and finally successfully create a AUX input using the Tape DECK audio path.


I'm expect to help for you by my post.


1. Introduce

  This head-unit are have a 3 audio path.


  First. Path of Tape Deck

  Second. Path of CD

  Third. Radio


  I'm choice the path of Tape DECK. Because I'm not use this media.


2. How to create aux


  It is very simple.


  Tape audio line and CD audio line are mixed in the NJM2068MD AMP IC.


  So, My goal is a cut the TAPE DECK audio path before the NJM2068MD.

  And connect the AUX audio path to this point.

 

  See below schematic.



  R341 is Left Channel of TAPE DECK

  R342 is Right Channel of TAPE DECK


    Step 1. You must de-soldering Left side(Tape deck, Right side is mixer) of R341, R342.

    Step 2. connect the AUX L,R into desolded R341 and R342.

    Step 3. connect the AUX ground into the common ground of head-unit.

    Step 4. Enjoy.



















  Additional, You must insert the TAPE to deck. every time. 

  Because if not insert the TAPE to DECK. head-unit are not enable the TAPE deck. 


  If you want to without TAPE media, need a more step. But It is such a hassle for me.


Enjoy.






  









 

'일상사' 카테고리의 다른 글

How to clean-up MAF Sensor of LS430  (0) 2015.12.31
[카메이트] 무스원 사용기  (0) 2015.02.22
[소낙스] 브릴리언트 샤인 디테일러  (0) 2014.10.19
[글로스브로] 버블밤 후기  (0) 2014.10.19
놀러 가는거  (0) 2014.08.12
블로그 이미지

김유석0

,

openwrt

development 2015. 2. 24. 10:51

openwrt


소스 다운로드

  Trunk

    git clone git://git.openwrt.org/openwrt.git openwrt


  14.07 branch (Barrier Breaker)

    git clone git://git.openwrt.org/14.07/openwrt.git


필요 유틸들

  gcc

  binutils

  bzip2

  flex

  python

  perl

  make

  find

  grep

  diff

  unzip

  gawk 

  getopt

  subversion

  libz-dev

  libc-headers


Configure

$ > make menuconfig

$ > make kernel_menuconfig

=> initramdisk 를 사용할 수 있도록 커널 설정을 변경한다. 


build

 $ > make


결과물

$ > ls bin/at91

md5sums

openwrt-at91-AT91SAM9G25EK-rootfs.tar.gz

openwrt-at91-root.jffs2-128k

openwrt-at91-root.squashfs

openwrt-at91-vmlinux-initramfs.elf

packages/

uImage

openwrt-at91-9g25ek-uImage  openwrt-at91-root.ext4

openwrt-at91-root.jffs2-64k

openwrt-at91-rootfs.cpio.gz

u-boot.2010.06.bin

                

결과물에서 사용할 것은,


  uImge => kernel image

  openwrt-at91rootfs.cpio.gz => rootfs image

  at91sam9x25ek.dtb => fdt file(이건 하위 디렉토리 검색해서 찾아보면 됨)


인데, 아래와 같이 적당히 가공을 해 주어야 한다. 


cp uImge openwrt.kernel

cp at91sam9x25ek.dtb 3.10.dtb

mkimage -n "Ramdisk Image" -A arm -O linux -T ramdisk -C gzip -d openwrt-at91-rootfs.cpio.gz openwrt.rootfs


부팅

U-boot > tftp 0x21000000 poplinux/3.10.dtb

U-boot > tftp 0x22000000 poplinux/openwrt.kernel

U-boot > tftp 0x23000000 poplinux/openwrt.rootfs

U-boot > bootm 0x22000000 0x23000000 0x21000000

## Booting kernel from Legacy Image at 22000000 ...

   Image Name:   linux-2.6

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    7163428 Bytes = 6.8 MiB

   Load Address: 20008000

   Entry Point:  20008000

   Entry Point:  20008000

   Verifying Checksum ... OK

## Loading init Ramdisk from Legacy Image at 23000000 ...

   Image Name:   Ramdisk Image

   Image Type:   ARM Linux RAMDisk Image (gzip compressed)

   Data Size:    1542835 Bytes = 1.5 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 21000000

   Booting using the fdt blob at 0x21000000

   Loading Kernel Image ... OK

   Loading Ramdisk to 27c6b000, end 27de3ab3 ... OK

   Loading Device Tree to 27c63000, end 27c6aa3a ... OK


Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0

[    0.000000] Linux version 3.10.49 (poplinux@raw) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r4445

[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177



BusyBox v1.22.1 (2015-02-24 12:13:29 KST) built-in shell (ash)

Enter 'help' for a list of built-in commands.



  _______                     ________        __

 |       |.-----.-----.-----.|  |  |  |.----.|  |_

 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|

 |_______||   __|_____|__|__||________||__|  |____|

          |__| W I R E L E S S   F R E E D O M

 -----------------------------------------------------

 BARRIER BREAKER (Barrier Breaker, r44441)

 -----------------------------------------------------

  * 1/2 oz Galliano         Pour all ingredients into

  * 4 oz cold Coffee        an irish coffee mug filled

  * 1 1/2 oz Dark Rum       with crushed ice. Stir.

  * 2 tsp. Creme de Cacao

 -----------------------------------------------------

root@OpenWrt:/#



Buildroot

외부 컴파일러 사용

외부 컴파일러를 사용하는 목적은 크게 두가지입니다. 


  1. 여러 개발자들이 개발환경을 동일하게 사용하기 위해서.

  2. 컴파일러를 빌드하는 시간을 아끼기 위해서.


우선, openWRT 를 full-build 합시다. full-build 를 하게 되면 staging_dir 디렉토리 밑에 tool-chain 이 생성됩니다. 

생성된 tool-chain 을 아래와 같이 원하는 디렉토리로 복사합니다. 


$ openWRT > cp -arf staging_dir/toolchain-arm_arm926ej-s_gcc-4.8-linaro_uClibc-0.9.33.2_eabi /usr/local/sdk/atmel/sdk/


tool-chain 복사가 끝났다면, 아래와 같이 설정을 잡아 줍니다. 


$ openWRT > make menuconfig

  [*] Advanced configuration options (for developers)  --->

      [*]   Use external toolchain  --->

        [ ]   Use host's toolchain

          (arm-openwrt-linux-uclibcgnueabi) Target name

          (arm-openwrt-linux-uclibcgnueabi-) Toolchain prefix

          (/usr/local/sdk/atmel/sdk/toolchain-arm_arm926ej-s_gcc-4.8-linaro_uClibc-0.9.33.2_eabi) Toolchain root

          (uclibc) Toolchain libc

          (./usr/bin ./bin) Toolchain program path

          (./usr/include ./include) Toolchain include path

          (./usr/lib ./lib) Toolchain library path



새로운 팩키지 추가 방법

참조 사이트 : http://wiki.openwrt.org/doc/devel/packages


디렉토리 생성


$ openWRT > mkdir package/hello

  

Makefile

# rules.mk 를 최상단에 무조건 삽입해야 한다. include $(TOPDIR)/rules.mk # 패키지에 대한 기본 정보를 설정한다. PKG_NAME:=hello PKG_VERSION:=1.0 PKG_RELEASE:=1 # 팩키지를 어느 디렉토리에서 빌드할 것인지 지정한다. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) # 팩키지의 소스가 어디인지를 지정한다. PKG_SRC_DIR:=$(TOPDIR)/package/hello/src # tmp/.config-package.in 을 자동 생성하는데 사용된다. # help 항목으로 저장됨. PKG_MAINTAINER:=kay.kim # package.mk 를 반드시 삽입해야 한다. include $(INCLUDE_DIR)/package.mk ################################################################################################### ################################################################################################### ################################################################################################### # For create "tmp/.config-package.in" # 아래 정보는, tmp/.config-package.in 을 자동 생성하는데 사용된다. # SECTION : 별 의미 없는 것으로 보임. # CATEGORY : "test" 라는 상위 메뉴에 소속됨을 알림. => menu "test" 로 변환됨 # TITLE : "................................... hello example" 로 변환됨 # URL : help 항목으로 저장됨. define Package/hello/Default SECTION:=test CATEGORY:=test TITLE:=hello example URL:=test.net endef # tmp/.config-package.in 을 자동 생성하는데 사용된다. # help 항목으로 저장됨. define Package/hello/Default/description This is just sample for "How to add new project to buildroot" endef # tmp/.config-package.in 생성과정에서 필요한 정보를 정의한 "Package/hello/Default" 를 호출해준다. define Package/hello $(call Package/hello/Default) endef # tmp/.config-package.in 생성과정에서 필요한 정보를 정의한 "Package/hello/Default" 를 호출해준다. define Package/hello/description $(call Package/hello/Default/description) endef ################################################################################################### ################################################################################################### ################################################################################################### # 실제 빌드에 관련된 동작을 관장하는 부분입니다. # 소스 설치등의 컴파일 이전에 필요한 내용을 준비합니다. define Build/Prepare @echo "[S]==========================================" @echo "[package/hello] : Build/Prepare" $(TOPDIR)/scripts/src_link.sh $(TOPDIR) $(BUILD_DIR) $(PKG_SRC_DIR) $(PKG_NAME) package @echo "[E] Build/Prepare====================" endef # ./configure 를 지원하는 소스일 경우엔, 아래 부분에서 진행하게 됩니다. # 이 예제에서는 사용하지 않습니다. define Build/Configure @echo "[S]==========================================" @echo "[package/hello] : Build/Configure" endef # 빌드시 사용할 추가 설정등을 지정합니다. TARGET_CFLAGS += \ -I$(STAGING_DIR)/usr/include MAKE_FLAGS += \ CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ -j4 # 아래 섹션을 사용할 경우엔, 컴파일 방법을 원하는 대로 설정할 수 있습니다. #define Build/Compile # @echo "[S]==========================================" # @echo "[package/hello] : Build/Compile" # @echo "[E] Build/Compile============================" #endef # 컴파일이 끝난후, rootfs 나 staging dir 에 설치하는 방법을 지정하는 곳입니다. define Package/hello/install @echo "[S]==========================================" @echo "[package/hello] : Package/hello/install" $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/hello $(1)/usr/bin/hello @echo "[E] Package/hello/install====================" endef # 위에서 설정한 모든 내용은, 아래의 BuildPackage 함수를 호출해야 동작되며, # ARG 로 프로젝트의 이름(디렉토리 이름) 을 전달해 주어야 합니다. # 여기서 전달된 이름은 tmp/.config-package.in 에서 "config PACKAGE_hello" 로 변환됩니다. $(eval $(call BuildPackage,hello))


새로운 팩키지 적용

  make menuconfig 실행시, 출력되는 메뉴는 tmp/.config-package.in 파일을 참조해서 만들어 지게 되는데, 

  .config-package.in 파일은 최초 make menuconfig 실행시에 자동으로 생성된다.

  만약 중간에 새로운 팩키지를 추가했다면, 아래와 같이 tmp/.config-package.in 파일을 새로 생성해 주어야 한다. 


$ openWRT > make prepare-tmpinfo

$ openWRT > make menuconfig








'development' 카테고리의 다른 글

[gcc] -march, -mtune 옵션  (0) 2016.01.08
[gcc] __attribute__((......)) 키워드  (0) 2016.01.06
[network] nat 설정법  (0) 2015.01.15
[linux] debug fs 사용법  (0) 2015.01.07
[driver] ipTime N150UA-4dBi  (8) 2014.09.16
블로그 이미지

김유석0

,