1. USB 충전기 구입

  : 유니콘정보시스템 PW07  - http://www.eunicorn.co.kr/kimsboard7/_product.php?inc=pw07

    -> 포트당 최대 2.0A 출력, 30W 라서 5V, 6A 까지 가능함.     

  : AC 전원 입력에 접지가 없어서 USB 충전 시 따끔거림

    -> AC 코드를 접지가 있는 3구로 변경함.


2. USB 충전기의 충전 방식

  : USB는 데이터 전송용으로 개발되었기에 모바일 기기가 최대 500mA 이상 출력을 뽑지않도록 제한함. 

   -> 모바일 기기가 USB 충전기에 연결되었다는 것을 모바일기기에 알려주어 500mA 이상 출력을 뽑게함.

  : USB 충전기는 USB D+/D- 에 사전에 규정된 timing, 저항, 전압 등을 인가하여 모바일기기가 USB 충전기

   연결되었다는 것을 인식시킴.

   -> D+/D- 를 해당 모바일기기에 따라서 적절히 변경해주는 IC가 존재함.(예, MA5889, MA5887 등)

  : 모바일기기가 USB 충전기에 연결되었다는 것을 인식하면 충전기에서 높은 전류를 인출함.

   흔히 이야기하는 'fast charging' 또는 'quick charging (Qualcomm 브랜드명)' 등이 이것을 의미함.  

    (예, Battery Charging 1.2 (BC 1.2) DCD 1.5A, [참고] http://forum.falinux.com/zbxe/...=lecture_tip

         Apple iOS iphone 1.0A/iPad 2.4A , Galaxy TAB 2.0A 등이 있음.)    

 

3. PW07 USB 충전기의 구성

  : MA5889 로 1번/2번포트, MA5887로 3번 포트를 구성되어 있어서 연결된 기기에 따라서 

   USB의 D+/D-를 해당기기에 맞게 구성함

  : 4번/5번 포트는 D+/D- 가 저항으로 고정되어 있음. -> 어떻게 구성된 것인 지는 확인 중

  : 모바일 기기는 해당기기에 맞게 전류를 출력하나, PW07 기기의 정격이 채널당 2.0A, 전체 6.0A 임. 

   -> iPAD, Galaxy Tab 연결시 2.0A 로 제한됨. 또, 5개포트의 전체 전류합이 6.0A 넘지 않게 제함됨. 

Posted by 옴팡진
,

알리 익스플레스에서 Mini MX S905 구매함 (구매 링크)


1. 사양



Item

Description

System Config.

CPU

Amlogic S905 Quad-core 64-bit ARM® Cortex™-A53 up to 2GHz

GPU

Penta-core ARM® Mali™-450

RAM

DDR3 1GB

ROM

Onboard eMMC Flash 8GB

Bluetooth

BT4.0

Expand Memory

Micro SD Card (Maximum support 32GB)

Antenna

Built-in antenna for WIFI

Media

UHD 4K×2K

Yes Support

Full HD 1080P

Yes Support

HEVC H.265

Yes Support

Video/Picture Decoding

Supports *.mkv,*.wmv,*.mpg, *.mpeg, *.dat, *.avi, *.mov, *.iso, *.mp4, *.rm and *.jpg file formats

Audio format

Support: MP3, AAC, WMA, RM, FLAC, OGG

Communication

Ethernet

1000M LAN

WIFI

IEEE 802.11b/g/n

IEEE 802.11b/g/n, WiFi compliant

2.400 GHz ~ 2.497 GHz (2.4 GHz ISM Band)

Sensor/Motor

IR Sensor

1*IR

Indicator

Power LED

1* power LED with two - color

Button & Ports

Button

Not Power Button

Operating system updates(via USB port/TF Card Slot)

USB2.0

2* Standard USB

DC-in

1*DC in Jack

HD

1*HD A Type

SPDIF

1*S/SPDIF (2CH,  5.1CH)

RJ45

1*RJ45

TF Card Slot

1* Micro SD card slot

Power management

Adapter

5V 2A

Software Config.

OS

Android 5.1

Language

Multi -language

Keyboard

Qwerty keyboard

Features

Miracast/DLNA

Support

UI

Support original ecology and AZW custom UI


2. Home Mini Server 구성 : Linux + ethernet 외부 + wifi 내부 로 구성 

1) Linux 설치 : Armbian On S905

    - multi-boot setting :   

     a) micros SD FAT32로 포맷 

     b) 하기 사이트 참조해서 aml_autoscript, aml_autoscript.zip을 micro SD 복사

     c) 안드로이드로 부팅 후, 앱에서  update & backup 에서 위의 파일을 선탱하여 update 함. 

        리부팅되면 적용된 것임(#리셋버튼을 (작은 구멍에 이쑤시개로) 누르고 부팅하는 '똥침신공' 참고)

      [참고 사이트]

      http://blog.naver.com/garyang/220834386235

      http://freaktab.com/forum/tv-player-support/...-openelec-on-mxq-pro-dual-boot-via-sd-card

      https://forum.armbian.com/index.php/topic/2419-armbian-for-amlogic-s905-and-s905x/


    - Armbian 부팅 micro SD  제작

     a) armiban에서 필요한 image 다운로드함. S905용이 없고 S905x 만 있음. 

        (S905X 를 다운로드 받고 s905용 dtb.img 파일을 root 디렉토리에 옮겨서 사용할 것임.)

         예) Armbian_5.24_Amlogic-s905x_Debian_jessie_3.14.29_desktop_20161215.img.xz

     b) 7zip으로 ~~.img.xz 압축을 품

        예) Armbian_5.24_Amlogic-s905x_Debian_jessie_3.14.29_desktop_20161215.img

     c) Win32DiskImager-0.9.5-install.exe 로 microSD에 img 를 써서 booting micro SD를 만듬

     [참고 사이트]

     http://freaktab.com/..-linux-from-sd-card-or-usb-flash-drive-using-balbes150-method-and-files

     https://forum.armbian.com/index.php/topic/2419-armbian-for-amlogic-s905-and-s905x/


    - dtb files for S905 mini MX

      dtb file 이란 (참조 http://chiccoder.tistory.com/48) 하드웨어의 정보를 define 한 파일 인듯, 

      linux 시스템의 공용 파일은 그대로 사용하고 하드웨어 파일만 root 디렉토리에 옮겨서 부팅시 참조함.

       a) img를 구운 micro SD는 fat16와 linux 부팅 파티션 으로 나뉘어 있는 것 같음. 

       b) fat16 파티션이 윈도에서 접근가능하므로 dtb디렉토리에 있는  gxbb_p200.dtb 파일을

           dtb.img로 바꾸고 root 디렉토리로 옮김 (S905에서 부팅가능 함)

            ( https://github.com/150balbes/Amlogic_s905 에 있는 mini mx 용 dtb.img 사용시 부팅불가 )

       c) dtb 파일 선택 발췌 :  https://forum.libreelec.tv/thread-2347.html

           S905: First look for device tree with your box name in it. In case there is no such image,
                     download generic one. Device trees for S905 boxes start with gxbb.

                     ex) for a box with 2GB of RAM and 100Mbit Ethernet ->  gxbb_p200_2G_100M.dtb

                     ex) for boxes with Gigabit Ethernet -> gxbb_p200_1Gbit.dtb

                     ex)  for boxes with Realtek WiFi (e.g. K1 Plus or K2 Pro) -> RealtekWiFi in name

           S905X: Device trees for these boxes start with gxl. You can leave a tree that is already present 

                     on SD card (fresh install only) or choose one according to your RAM amount.

           * Important: Do not use device trees from previous build! You also cannot use device tree from
                             Android firmware as in 99% cases it won't work

       d) dtb file extraction 

           http://www.cnx-software.com/2014/05/12/how-to-extract-a-device-tree-file-from-android-...


    - Kodi 설치 

      : 설치 방법 : [참고] http://kodi.wiki/view/HOW-TO:Install_Kodi_for_Linux

      : kodi-bin 의존성 에러 : [참고] http://forum.kodi.tv/showthread.php?tid=270675&page=3

      : 부팅 후 자동 Kodi 실행 : [참고] http://kodi.wiki/view/HOW-TO:Autostart_XBMC_for_Linux

          -> x-window 위에 kodi 실행되어  동영상실행 테스트시 끊김으로 사용불가

     

    - LibreElec

      : kodi 구동을 위하여 최소화하여 OS를 구성하고 KODI를 실행시키는 mediacenter OS

      : OpenElec과 유사하나,  개발자들이 한명을 제외하고 모두 나와서 LibreElec 을 개발한다고 함.

      : S905 Image가 있음. apt-get install 등이 막혀있고, Add-on을 통하여 프로그램 확장가능함. 

         -> S905는 Armbian 으로하여 Server로 하고,  S805에는 LibreElec 설치하기로함

       

        [참고 사이트] 

         Libreelec : https://libreelec.tv/ ,  https://forum.libreelec.tv/thread-2347.html  (설치 및 DTB 설명) 

         openElec : http://amlinux.ru/image/ http://cafe.naver.com/mk802/18956


    - 계정 설정

      부팅 완료 후 root (pw : 1234)로 접속하여 root 암호 재설정.  이어서 root 이외의 user를 등록하게 됨.


    - H/W 설정

     a) 디스플레이 :  화면이 짤려서 나옴 

        - 화면이 짤림 ->  X-window 해상도 변경이 아니라 TV 설정에서 외부입력 화면설정을 원본크기로 함


     b) Network 설정 

        - 별도의 설정없이 유선랜 eth0 으로 잘 잡힘

        - 무선랜 wpa2-psk 로 암호화 되어있는 라우터 환경에서 접속하도록 설정,  sudo nmtui 로 설정

           /etc/networking/interface에 아래와 같은 주석이 있음. 

           # Armbian ships with network-manager installed by default. To save you time

           # and hassles consider using 'sudo nmtui' instead of configuring Wi-Fi settings

           # manually. 

        - 다중네트워크로 구성하려고 하였으나,  eth0과 wlan0 이 모두 동일한 공유기에 물려 있어서, 

           wlan0을 올리면 네트워크 사용이 불가. 활용하려면 라우팅 테이블과 ARP응답 설정이 필요함.

           * IP는 인터페이스가 아니라 호스트에 물림, 동일 subnet에 2개의 인터페이스가 있으면 ARP시

            응답하는 인터페이스가 모호해져서 네트워크 불가. 별도의 설정 필요

           * multiple interface on the same sub net : [참고] https://access.redhat.com/solutions/30564

           * 다중네트워크 라우팅테이블 : [참고] http://snoopybox.co.kr/m/1630

            https://blogs.technet.microsoft.com/sankim/2007/10/28/multi-homed-network2-nic-tcpip/

           https://access.redhat.com/solutions/30564


    c) 다중네트워크 : eth0 및 wlan0 설정

       - Asus RT-N56U - IPTV STB port 지정으로 etch0 은 상위 subnet과 Vlan구성

       - wlan0은 하위 subnet 구성하여 내부 접속용으로 구성. 

       - 구성완료 후 Asus라우터 리부팅하여 함.  

         -> port forwarding 이 안됨. 별도로 셋팅하기 보다는 RJ45 Y Splitter 를 제작 하여 벽에 직결하기로 함.

            제작시까지는 wlan0을 죽이고 eth0만 사용함.


    d) Sound/Bluetooth + SPDIF 출력 : Alsa/Pulse Audio 설정 필요. 현재 사용하지 않아 설정하지 않음

   

2) 서비스 구성

     a) 한글화 및 서버타임 설정

         - locale 설정. [참고] https://www.joinc.co.kr/w/Site/Linux/Locale

         - puTTy, filezillar  등의 프로그램에서 UTF8 설정(예, filezillar, 사이트관리자 문자셋 UTF-8강제설정)

         - 이외에 별도의 한글화 필요성을 못느끼겠음. x-window 한글 입력기등은 확인안함.

         - time zone : asia/seoul 로 설정하여 .profile에 적용.  [참고] http://ngee.tistory.com/643 

            (예, echo "TZ='Asia/Seoul'; export TZ" >> .profile)

             -> (중요) 위와 같이만 하면 system의 timezone이 달라서 cron이 다른 시간에 진행됨. 

                          system timezone도 변경필요 : sudo timedatectl set-timezone Asia/Seoul

                  [참고] http://www.christopherirish.com/.../how-to-set-the-timezone-on-ubuntu-server/

         - 서버 타임 동기화는 rdate 를 이용. [참고] http://www.tutorialbook.co.kr/entry/Ubuntu-...

         - 서버 삼바 설정후 windows 에서 시작 메뉴에서 아래 정도로 하여 윈도우 시간도 동기화함. 

            (예, timeSync.vbs로 저장후 시작메뉴에 두어 부팅시 실행하게 함. )

                   Set WshShell = WScript.CreateObject("WScript.Shell")

                   wshShell.run "net time \\삼사서버명 /set /yes", 0

                   Set WshShell = nothing 


     b) USB 외장 HDD Mount + Idle time setting

         - UUID 로 Mount 하도록 fstab 수정 

           : uid,gid는 vfat 처럼 uid 개념이 없는 filesystem에 사용. 마운트 후 chwon 으로 계정변경

            (예, UUID=758fa35e-6c8d-4097-850e-88760c47854e /common ext3 defaults 0 0)

             [참고] https://www.cyberciti.biz/faq/linux-finding-using-uuids-to-update-fstab/

                       http://rafi.inha.ac.kr/~wbstory/tc/wbstory/149

           : fstab에 option nofail, x-systemd.device-timeout=1 추가, 외장HDD가 없어도 부팅시 에러없도록.

             -> 부팅시 1초 응답 기다린 후 디바이스 없으면 무시하고 부팅 진행. 

              [참고] https://wiki.archlinux.org/index.php/fstab

           : 부팅시 무결성 검사 안하는 것으로,  0 0 

              (예, UUID=... /common ext3    defaults,nofail,x-systemd.device-timeout=1      0 0)             

         - hdparm 으로 HDD 셋팅 : [참고] http://egloos.zum.com/nemonein/v/5294120

           : 속도 check, S905가 USB2.0 만 지원함

                  root@amlogic-s905x:~# hdparm -tT /dev/sda

                  /dev/sda:

                  Timing cached reads:   1846 MB in  2.00 seconds = 922.85 MB/sec

                  Timing buffered disk reads: 118 MB in  3.02 seconds =  39.08 MB/sec

           : Idle Time setting -> UUID로 할 것, 부팅때마다 설정하도록  /etc/rc.local 등에 넣을 것

              예) sudo /sbin/hdparm -B 127 -S 200 /dev/disk/by-uuid/758fa35e-...-88760c47854e

                   APM (advanced Power Management ) Level = 127, spin down after 16min+40s 


     c) 디렉토리 구성

         - 미디어 관리용 별도의 사용자 계정을 생성하고, 신규 HDD를 사용자 계정으로 마운트함.

         - samba 및 ftp를 guest 사용을 금지하고 별도로 생성한 계정을 통해서만 접속하게 함.

              

     d) samba 설정

         - 여기를 따라서 설치 및 설정 : 

           [참고] http://behonestar.tistory.com/83, 일반 http://hamonikr.org/board_bFBk25/16609

         - 계정 및 암호 인증으로 통하여 접근 (security = user)

         - user 추가함 (예, sudo smbpasswd -a 계정명) [참고] http://maximer.tistory.com/182

        

     e) ftp 설정

         - vsftpd 로 결정, 여기를 따라서 설정함 : [참고] http://webdir.tistory.com/199

           https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-users...

           : # standalone mode, listening from both IPv6 and IPv4 : listen=NO, listen_ipv6=YES

         - kodi 에서 접속할 수 있도록 passive mode를 켬 : [참고] http://blog.daum.net/mygunsan/92

           : kodi가 ftp://id:passwd@ip:port 같이 웹브라우저로 접속하여 디렉토리가 보이는지 확인 

         - 외부에서 접속할 수 있도록 ASUS 라우터 에서 지원하는 ddns를 설정하고 해당 포트를 포워딩함

           active port 뿐만 아니라 passive port 도 포워딩해야함. [참고] http://blog.daum.net/mygunsan/92

           (주의) 참고 인용 "오픈 포트중 ftp_data_port 로 하나를 꼭 지정해야만 파일질라에서 접속 가능"

         - chroot 관련 OOPS-vsftpd-refusing-to-run-with-writable-root-inside-chroot-에러-해결방법

           [참고] http://www.tutorialbook.co.kr/entry/OOPS-vsftpd-...-chroot-에러-해결방법

         - /common 디렉토리를 만들고 더 상위 디렉토리로는 못가게 설정함.

           (예, /etc/vsftpd.conf 에 local_root=/common, chroot_local_user=YES 추가함.)

         - file 생성 권한은 samba 등의 다른 application 과 동일하게 맞춤

         

     f) transmission  설정

         - transmission 설치 및 설정 : [참고] https://help.ubuntu.com/community/TransmissionHowTo

           : 5/10 현재, ppa:transmissionbt/ppa 의 transmission-common이 2.92로 되어 있어, 

             transmission-daemon, transmission-cli는 2.83 요구하여 의존성 에러. repository 추가없이 설치

             (예, sudo apt-get install transmission-cli transmission-common transmission-daemon

           : daemon을 멈추고 sudo service transmission-daemon stop  

           : 설정 파일 위치 /var/lib/transmission-daemon/info/settings.json 에 설정 할 것

             [참고] http://www.php5.me/blog/transmission-환경-설정-가이드-my-cloud/

         - transmission을 실사용자 계정으로 변경하여 실행

           : 아래 2개의 데몬 파일 내의 User항목을 변경하고, 관련 파일의 소유권을 변경

             (예, USER=debian-transmission -> USER='사용자계정')   

             (변경할 daemon) /etc/systemd/system/multi-user.target.wants/transmission-daemon.service  

                                     /etc/init.d/transmission-daemon 

           : user home dir  ~/.config/transmission-daemon 밑에 settings.json의 설정을 변경. 

           : 데몬이 종료할 때 기존 설정으로 설정파일을 변경하므로 daemon을 stop 하고 변경함. 

              [참고] http://zelkun.tistory.com/96 , https://github.com/.../wiki/Editing-Configuration-Files

           : /etc/transmission-daemon/settings.json 계정 settings.json을 심볼링 링크함.

         - 자동 리스트 삭제 설정 : 다운로드를 완료하면 리스트를 자동삭제하는 스크립트를 작성하여 설정 

           파일의 다운로드 완료시 실행될 수 있도록 연결함. [참고] http://www.jhem.kr/41

         - watch-dog 디렉토리 설정 : [참고] https://jun2.org/archives/16

           : 토렌트에 올리면 *.added 가 붙음. 위의 완료시 실행되는 스크립트에 삭제하도록 추가함

               (예, echo "/bin/rm -rf  '설정한 watchdog_directory' " >> AutoDelete.sh)

         - 자동 다운로드 : RSS + Flexget이 transmisisonrpc 로 걸어줌. 

           : flexget과 transmissionrpc는  pip install 로 설치해야 함

           : 설치 : [참고] https://flexget.com/InstallWizard/Linux

             (sudo apt-get install python(armbian 5.24는 python 2.7)- > sudo apt-get install python-pip

              -> sudo pip install --upgrade setuptools -> sudo pip install flexget 

              -> pip install transmissionrpc)

           : 설정 : [참고] http://egloos.zum.com/mizane/v/5892524 에 저장된 뽐뿌에서 발췌한 글 참조

              -> daemon mode로 안돌리고 corntab에 넣어서 명령을 실행함

                       [참고] http://blog.muka.kr/71

           : RSS는 성인광고가 안들어가는 사이트를 웹파싱하도록 작성된 클리앙 '고기상자'님의 스크립 사용.

             파일 4개를 web 서버 루트 디렉토리에 두고 사용법에 따라서 웹서버에서 불러옴.

              [참고] 스크립트 http://www.clien.net/cs2/bbs/board.php?bo_table=cm_nas&wr_id=401..., 

                        사용법   http://www.clien.net/cs2/bbs/board.php?bo_table=cm_nas&wr_id=41924...

                        애니 게시판 에러 수정 http://www.clien.net/cs2/bbs/board.php?bo_table=cm_..

                        고기상자님 rss 파일 첨부 : 고기상자님_rss.7z

           : RSS를 만들기 위하여 web server 설치 : [참고] http://beatsloth.tistory.com/111             

              -> 스크립트가 curl을 사용하여  php-curl 설치 필요. 설치 후 웹서버 재시동, 

                  phpinfo(); 페이지를 보았을 때 curl support enable 이 확인 되면 정상 설치된 것임.

                  (예, sudo apt-get install php-curl  -> service apache2 restart)

              -> apache2 재시작시 도메인 네임 없음 경고. name base virtual host에서 문제를 만들수 있음.

                  ServerName 으로 localhost로 fqdn.conf 작성하고 apache2 conf. enable 시킴 

                  [참고] https://askubuntu.com/...not-reliably-determine-the-servers-fully-qualified-domain-n

              -> 재시작시 /var/log/apache2 가 없어서 시작 못하는 경우, log2ram 확인

                  [참고] https://forum.armbian.com/index.php?/topic/3445-a...reboot-debian-8/

           : Web GUI crash (미해결) 

              -> 다운로드 스피드를 18 MB/s 정도로 줄였으나 해결안되어 원복

              -> Max peer per torrent, Max peer overall을 기존의 50%로 줄였으나, 해결안되어 원복 


     g) rsync to Tablet : 집 SSID wifi 연결 + 전원 연결시 server의 파일을LG V410 외장메모리로 옮김

         - 외장 메모리에 직접 쓰기 위해서는 루팅이 필요함 : 

            [참고] http://m.ppomppu.co.kr/new/bbs_view.php?id=androidtab&no=92339

            [참고] 곰돌롬 설명 : http://juniecho.ivyro.net/?page_id=7

                     롬 다운로드 http://gomdolight.com/?page_id=459#dload

         - rsync 서버 설정 : [참고] http://blog.pages.kr/49

           : 글로벌 설정 : /etc/default/rsync 에서 글로벌 설정

              ->  RSYNC_IONICE='-c3' 설정. IO가 idle 상태일 때만 rsync backup 진행함) 

                  [참고]  https://serverfault.com/questions/381488/rsync-ionice-destination     

           : Config 설정 : /etc/rsyncd.conf 신규 파일 작성, [참고] http://blog.pages.kr/49       

           : 데몬시작(예, sudo service rsync start) 및 시스템 서비스 등록  (예, sudo systemctl enable rsync)

         - V410 android tablet rsync client 설정                

           : 안드로이드 rsync client 설정 : --remove-source-files 옵션적용하여 파일이동 후 삭제

             (한개 파일을 전송완료하고 삭제하는 것이 아니라, 모든 파일을 전송완료하고 모든 파일을 지움)

           : sshelper : 안드로이드용 sshd, ssh 접속하여 rsync 함. (예, bash 쉘 스크립트 활용)

               [참고] https://arachnoid.com/android/SSHelper/

         - 집 SSID 연결 + 전원연결 시 rsync 실행 

           :  llama : 설정한 조건이 되면 특정 작업을 실행 시키는 안드로이드용 앱. Tasker 유사이나 무료

              [참고] http://caleb1783.tistory.com/935

           : rsync 용 안드로이드 앱을 못찾겠음. (찾아서 추가 수정할 것) -> 일단 ssh로 접속해서 수동백업

              [참고] 안드로이드를 서버로 백업함. https://guysoft.wordpress.com/...backups/

 

     h) WEBDAV 설정

         - apache2 설정 : [참고] http://zetawiki.com/wiki/우분투_아파치_WebDAV_설정

           : 계정디렉토리 실행권한 설정에서 apache 2.4는 directory설정을 Require all granted로 해야함.

              http://stackoverflow.com/.../apache2-ah01630-client-denied-by-server-configuration

         - WebDAV 디렉토리 권한은 웹서버 계정 www-data가 쓰기 가능해야함.

         - 가상서버로 사용자 계정에 설치가능하나, default 디렉토리에 링크로 대신함.

         - WebDAV 클라이언트 : 별도의 프로그램도 많으나, 레지스트리 수정후 네트워크 드라이브 연결함.

            [참고] http://takuma99.tistory.com/222


     i) TVheadend

         - IPTV는 IGMP(Internet Group Management Protocol)로 하나의 송신지에서 여러 수신자에게 TV 

           프로그램을 전달함. 그렇지 않으면 1:1로 전송해야해서 송신지는 감당할 수 없는 대역폭이 필요함.  

           [참고] IGMP 작동원리 http://www.netmanias.com/ko/?m=view&id=blog&no=5673

         - 아파트 랜 구성 : 2 Pair-UTP로 아파트내 라인이 깔려 있어서 GiGa Compact (500Mbps)만가능

           이를 위해 KT는 E5624/C204K 솔루션 사용 : [참고] http://www.ubiquoss.com/...

           : 아파트 주차장에 E5624 L3 switch, 집안 단자함 C204K L2 switch가 있음. 

         - 라우터는 Asus RT-N65R로 C204K 밑에 물려있고,  IPTV 단말기는 IGMP 포트및 IGMP snooping

           기능이 설정되어 IPTV를 시청 중임.

           :  IGMP 포트 설정은 해당 포트를 라우터 앞단으로 vlan을 형성하는 역할. 즉 IPTV 단말은RT-N65

              IGMP 포트를 통해 C204K 의 sub-net을 형성하고 있고, C204K가 IGMP snooping을 처리함. 

              [참고] vlan :http://egloos.zum.com/light99/v/5068914 

         - Tvheadend 설치 -> IP주소 확보 -> 채널정리 -> 채널등록 -> EPG 설정 순으로 진행함.

           전체 흐름 : [참고] http://wiserain.net/1032  

           전체 설치 경험기 :[참고] http://clien.net/cs2/bbs/board.php?..._nas&wr_id=37075

                                   [참고] http://www.clien.net/cs2/bbs/board.php?..._nas&wr_id=30164

         - TVheadend 설치 및 설정 : 

           : 설치 - repository 등록하여 설치 [참고]  http://tvheadend.org/.../AptRepository

           : /etc/default/tvheadend 에서 user 및 group 과 config directory 등을 설정함.

         - IP주소 확보  : OMVS 설치 및 포트 스캔

           : 설치 - [참고] https://bitbucket.org/ohhara/ohmulticastvideoscanner/s...t

           : IGMP 특성에 따라서, L2 스위치에 물려야 함.

              -> Asus RT-N65R IGMP 포트 설정하고 scan 하였으나 missing이 많고 속도가 느림

              -> 내부단자함 스위치에 물려서 포트 스캔완료

           : S905 CPU 처리 능력을 고려하여 한개 포트씩 sleep 시간과 time out 시간을 충분히 줌

              sleep 5초, time out 5초 정도부터 안되면 늘여가면서 조정

              (예, ./omvs -i 0 -j 1 -s 5000 -t 5000 233.x.x.x/24 )

         - channel 정리 : TVhelper 사용. [참고] https://blog.riceworld.info/archives/148

           : 채널등록 및 EPG 설정을 위하여 meta 정보를 넣고 m3u 파일을 정리하기 위함.

           : 채널리스트와 영상을 보고 어떤 채널인지를 하나씩 모든 채널을 설정함. (ㅠㅠ;;)

           : 프로그램 아래의 m3u 저장하기로 정리된 채널리스트가 생성됨. 

              (* 창 크기가 조절이 안되어 디스플레이가 작을 경우 아래 파일저장하기가 안보임) 

           : TVhelper 1.4.1은 FHD, SD 해상도별로 채널 저장이 가능하므로 별도로 리스트를 작성함.             

           : 동일 해상도의 1개의 채널에 여러 개의 접속 주소가 있는 경우 중복 주소를 모두 삭제함.           

         - Channel 등록 : [참고] http://psychoria.tistory.com/...Tvheadend-채널-...-추가

           :  m3u 파일은 서버의 적당한 위치에 두고 (예, Tvheadend 설정 디렉토리 정도)

              file:// 후 절대경로로 하여 지정함. 

               (예,  file:///home/[user]/.confign/Tvheadend/playlist.m3u. 주의 'file :///' /가 3개임.)

           : S905 처리능력을 고려하여 Maximum # input streams : 1, Maximum time out(seconds) : 30

           : 해상도 별로 채널을 정리된 m3u를 각각 Mux 등록하고, configuration -> Channel/EPG -> 

             Bouquets 에서 enable 시킨 mux의 4번째 컬럼에 channel offset을 주어 접속 계정별로  

             접근할 수 있는 해상도를 제한하여 접속환경에 따라서 시청할 수 있도록 설정함.

               (예, FHD channel 0 ~ , SD offset 1000, channel 1000~ 로 설정하여 구별함.)

         - EPG 등록 : XMLTV 소켓으로 등록함 [참고] http://psychoria.tistory.com/504  

           : epg2xml.py 를 사용하기 위한 lxml이 PIP으로 설치시 에러가 나서 python-lxml 을 설치함.

              (예, sudo apt-get install python-lxml) 

         - User 등록

           : Configuration -> Users -> Access Entries 에서 user name 및 권한 등록하고,

           : Configuration -> Users -> Passwords 에서 사용자별 password를 설정함.

           : 사용자에 따라서 접근할 수 있는 channel을 설정할 수 있음.

             -> FHD/SD 해상도에 따른 사용자를 구별하고 SD channel 번호를 offset을 주었으므로,

                 SD 해상도 사용자는 접근할 수 있는 channel을 offset 만큼 올려서 SD만 접근하도록 함.

           : (Bug) HTS Tvheadend 4.2.2-36~g60e440921~xenial에 사용자 로그인 이슈가 있음.

             사용자 이름/암호를 맞게 넣었는데 인증이 안됨. 

         - Tvheadend Client 설치 후 TV 보기 : [참고] http://psychoria.tistory.com/507

           : 라우터에 포트 포워드 설정함. (2개 포트 web gui: 9981, HTSP player: 9982)

           : S805 Kodi에 Tvheadend HTSP Client 설치 후 , 주소, 포트 및 계정 등록

           : Kodi 설정에 TV 사용함 체크하면 TV 메뉴가 생기면서 시청가능

         - 사용 환경 최적화 (작성중)

           : KT IPTV 셋탑을 켜거나, 2개의 서로 다른 단말에서 접속하면 버퍼링 심해지며 화면 정지 

             -> KT IPTV 셋탑은 Asus RT-N65R IGMP 포트 설정으로 L2 switch 아래로 Vlan 구성, 

                 다른 2개 단말(S805 Kodi, 안드로이드 태블릿)은 wifi 2.4GHz로 라우터 아래 lan 구성됨.

           : S805 Wifi (IEEE 802.11 b/g/n)전송속도 문제?

             -> speedtest-cli 설치하여 전송속도 테스트. [참고] https://pypi.python.org/pypi/speedtest-cli/

                 (* S805 liebreElec이 wget 및 Python 사용가능)

             -> Download 47.16 Mbps Upload 49.35 Mbps 로 확인. IPTV 대역폭 대비 여유 있음. 

                  (*  IPTV 해상도별 네트워크 대역폭 UHD 27Mbps, FHD 14Mbps, SD 7 Mbps 정도)

                      [참고] http://www.netmanias.com/ko/?m=view&id=blog&no=7515

           : (완료) 라우터 처리문제임을 확인 

             ->S905를 C204K L2 switch에 직결하면, 2개 이상 시청해도 이상 무

             -> Asus RT-N65R으로 IGMP 포트로 설정해도 2개이상 무리 

             -> C204K에 직결하기로 함. 


     j) EBS recording + crontab

         - 설정 및 crontab 등록 [참고] http://usemodj.com/2016/02/16/ebs-radio-녹음하기-ubuntu

         - (1차) 설정한 시간과 다른 시간에 녹음됨. -> 서버 시스템의 Time zone이 UCT로 설정되어 있었음.

                   Asia/Seoul로 변경. (예, sudo timedatectl set-timezone Asia/Seoul)

         - (2차) 녹음하려던 것과 다른 프로그램이 녹음됨 -> FM라디오와 인터넷라디오의 편성시간이 다름.

                   (예, EBS Power english는 FM 라디오는 7:40 이나, 인터넷라디오는 10:40 로 다름.) 


    k) Mp3 Tag 한글 깨짐 

         - Mp3 Tag UTF-8이 아니라서 Kodi 에서 볼때 한글깨짐

            -> mutagen 사용하여 UTF-8로 변환, [참고] https://mutagen.readthedocs.io/en/latest/

               (설치 예, sudo pip install mutagen)

         - 변환 방법 : http://stove99.tistory.com/165 

Posted by 옴팡진
,

알리 익스플레스에서 MK809IV, S805. H.265 구입, (구매 링크)


1. 사양  : 

MK809IV Plus, 1080P(Full-HD), 

CPU Amlogic S805 Quad-Core 1.5G (Cortex-A5), GPU Quad-Core Mali-450 GPU

RAM DDR3 1G, ROM Onboard Flash 8G, Micro SD (Max 32GB), Internal antenna for WiFi, Bluetooth

Android 4.4


2. 구성

     동일한 제품은 아니지만 아래와 동일한 포트 구성을 하고 있음. 

System Config.

CPU

Amlogic  S805 Quad-Core 1.5G (Cortex-A5)

GPU

Quad-Core Mali-450 GPU

RAM

DDR3 1G

ROM

Onboard Flash,8G

Expand Memory

Micro SD Card(Maximum support 32GB)

Antenna

Intenna for WiFi

Media

Video format

Support multiple video decoding, HW decoder H.265

Picture format

JPEG/ BMP/ GIF/ PNG/TIF

Communication

WIFI

Support 802.11 b/g/n

 

Indicator

Power LED

1* Blue LED

Button & Ports

Button

1*Update Button(via one pin hole)

USB2.0

1* Standard USB(HOST)

1*Mini USB with OTG

HDMI

1* HDMI out 1.4b 

TF Card Slot

1*TF card slot

Power management

Adapter

5V 1.5A,2A Max

Accessories

HDMI Cable

1*HDMI Cable

OTG  Cable

1*OTG

User Manual

1*User Manual

USB Cable

1*USB Cable

Adapter

1*Adapter, 5V,1.5,2A Max

Software Config.

OS

Android 4.4

Language

Multi-language

Keyboard

Qwerty keyboard

Pre-install Software

 

By request

...

 

Features

Miracast/DLNA

Support

Work Environment

5°C--35°C,30%--90% Humidity

Storage Environment

-20°C--60°C,10%--90% Humidity


3. LibreElec 설치

    - LibreElec for S805 :  https://forum.libreelec.tv/thread-200.html 

       a) 위 쓰레드의 release 항목의 download link (현재,  http://kszaq.libreelec.tv/s805/7.0.3.3/ ) 

       b) SD or Update -> MXQ version 다운로드 

           예) LibreELEC-S805.MXQ.arm-7.0.3.3c.img.gz 다운로드

       c)   7zip으로 ~~.img.xz 압축을 품

           예) LibreELEC-S805.MXQ.arm-7.0.3.3c.img

        d) Win32DiskImager로 microSD에 img 를 써서 booting micro SD를 만듬

            micro SD card 에는 aml_autoscriptKERNEL.IMG and SYSTEM 3개의 파일이 있음.

        e) SD card slot에 넣고 reset 버튼을 누른 채 파워 온, 10초 후에 reset 누름 해제

            LibreElec 으로 부팅 하여 초기 셋팅 후 재부팅하여 wifi 등의 kodi를 설정함.

         f) libreelec은 /etc 가 read only 로 마운트되어 설정을 변경할 수 없음.  

            /storage/.config/ 의 설정파일을 변경하면 부팅 스크립트가 /etc 설정보다 먼저 읽어와서 적용함. 


4. 서비스 구성

   - S905는 linux로 서버로 S805를 Kodi 전용으로 사용하기로함.

   - 기본적인 특성(H265 도 확인완료)은 모두 지원하여, Kodi 프로그램내 설정으로 함. 


    a) Sound 설정 : S805 모든 사운드는 리시버로 보내도록 설정함.  

        - 자체적으로 optical output이 없음 -> optical output을 가지는 저렴한 USB DAC 구매 ($4~$5@알리)

          USB DAC은 단순히 USB audio -> SPDIF로 변환만 시킴

        - Kodi의 오디오 설정에서 기본출력을 usb digital SPDIF로 하고, AC3, DTS pass-through 설정 후 

          소스를 usb digital SPDIF 로 설정함. -> USB DAC optical cable - 리시버연결      

        - Airplay : [참고] http://kodi.wiki/view/AirPlay

          : 설정 Tab에서airplay 지원으로 설정하고 비디오와 사진지원은 안함으로 설정함.  

          : 애플사가 변경으로 iOS 9.0 이상은 audio만 지원함.

            -> iOS 기기에서 출력기기를 Kodi(Libreelec)으로 연결하면 기본설정된 output audio로 출력됨

          : 기본출력을 usb digital SPDIF로 하였기 때문에 리시버만 키면 airplay 스피커처럼 활용됨.

        - Bluetooth 설정 :  [참고] https://wiki.libreelec.tv/index.php?title=Pulseaudio

          : 기본적으로 libreelec bluetooth는 headset 연결처럼 source로 설정되어 있어서 sink 로 하려면 설정필요

          : bluetooth로 소리를 내는 pulseaudio의 default sink를 위 site 내용에 따라서 usb-dac으로 설정함.

          : pulseaudio setting은 libreelec은 /etc 가 readonly 이어서 수정이 불가능하여 별도의 설정파일을 만듦.

            -> ~/.config/pulse-daemon.conf.d 에서 설정파일을 두면 pulseaudio가 실행하도록 되어있음.

            (예, sudo cp /etc/pulse/client.conf /etc/pulse/daemon.conf ~/.config/pulse-daemon.conf.d/

                client.conf 의 default sink를 usb-dac으로 설정함.

          : Bluetooth 연결은 pulseaudio가 담당하여 passthrough를 하려면 별도의 설정을 해주어야 함.

            [참고] http://kodi.wiki/view/PulseAudio 

          : Bluetooth로 연결시 소리가 안나면 Bluetooth on/off 하고 재연결하면 소리가 남.

        - [의문] 출력을 alsa usb-digital SPDIF로 하여 bluetooth가 안되어야 하는데.. 소리가 남.(^^;;)

          (* bluetooth는 pulseaudio 가 담당하는 것이 아닌가? 일단 그냥쓰고 다음 셋팅할때 다시 공부하기로함.)

           pactl info : Default Sink: alsa_output.usb-Burr-Brown_from_TI_USB_Audio_DAC-00.analog-stereo

                       Default Source: alsa_input.platform-aml_m8_sound_card.4.analog-stereo

 

    b) Optical Pass-Through (DTS) : DTS는 잘 나는데, DD 5.1 640 kbps (AC3)만 소리가 안남 

        - DD 5.1 640kbps (AC3) 소리안남. ( 해결방법 찾는 중)

         : 파일 이상무 <- 해당 파일이외에 Dolby Digital 샘플영상에서도 소리 안남

         : 리시버 AC3지원 확인(STR-DE845) <- blueray player passthrough 정상 AC3 디코딩

         : Kodi. 17.3에서도 AC3 소리 안남.

         : DD 5.1 384 kbps 이상없음. (* Android에서 DD 5.1 640kbps에서 error가 있다고 하는데.. 확인필요)


    c) HDMI-CEC : 

        - 참고 사이트에 잘 정리되어 있음. [참고] http://naturis.kr/2169

        - 안타깝게 집의 TV가 지원하지 않음. -> Kodi Remote App을 쓰기로 함.


    d)  Kodi Remote Control App : iOS, Android용 다 있음.

        - Kodi 설정 -> 앱 접속 서버입력, 참고 사이트에 잘 정리되어 있음. [참고] http://ibblog.tistory.com/35      

        - (추가) iOS Kodi 공식 앱에서 "Find Kodi" 로 하려면 (키보드 없다면 Kodi IP를 알 수 없으니 꼭 해야함)

           관계없어 보이는 'proxy 를 사용함'으로 설정하였음. (버그인가? 포트문제? Kodi ver 16.1) 


    e) 외장하드 연결 :

        - 2.5" USB 외장 HDD를 연결하였으나 인식을 못함. 

        - TV stick 에서 외장 HDD로 충분한 전력으로 공급하지 못하는 전원문제로 micro USB to USB Y cable로

          별도로 전원을 공급함 (외장HDD - micro USB - USB (main) - S805 Stick+USB (전원) - 보조배터리 )

        - 유전원 USB 허브 사용가능


    f) 바이두(Baidu) 클라우드 설정 ( Kodi + Baidu Cloud)

        - 바이두 [참고] http://w3tech.tistory.com/208

        - 여기를 따라서 설치함. [참고] http://sarangmarket.tistory.com/1539

        - 로그인시 한자 캡챠가 있음 

           -> 네이버 중한 번역기에서 필기체 입력하고, 발음기호 보고 중국어자판으로 한자입

        - 로그인이 자주 풀려서 한자 입력을 매번해야함. 속도도 느려서 잘 사용하지 않게됨


    g) Google Music

        - 여기를 따라서 설치함. [참고] http://forum.kodi.tv/showthread.php?tid=200640

        - 최소 1개의 안드로이드 기기가 등로되어 있어야함.

        - PlayList를 하루에 한번 update 하기로 설정됨. 한시간마다 update하기로 Addon설정에서 변경


    h) DLNA

        - 기본적으로 포함되어 있음. 설정 tab에서 UPnP  관련 설정을 켜서 사용.

           [참고] http://kodi.wiki/view/UPnP

        - 기기에서 UPnP 지원되는 Player를 깔아서 사용. (예, android 는 Bubble UPnP, iOS는 PlugPlayer)

           [참고] android https://www.maketecheasier.com/dlna-streaming-apps-android/

                     iOS     http://techpp.com/2012/03/24/dlna-streaming-apps-iphone/


    i) Samba + FTP 연결 

        - 서버에 별도의 kodi 계정을 만들고 samba는 user mode로 ftp는 kodi 계정을 셋팅함

        - 파일 -> 비디오추가 -> 탐색 -> 네트워크 위치 추가해서 맞는 프로토콜 선정 

           [참고] http://ibblog.tistory.com/27

        - 기본적으로 samba로 연결하고, 외부에서 사용할 경우를 대비하여 ftp 연결을 추가함

        - ftp 추가시, kodi가 passive mode로 접속하므로 맞게 설정, 라우터에 해당 포트 포워딩을 해야함.


    j) Kodi Library 구축 (다음 movie scrapper + MySQL)

       - 서버에 MySQL 셋팅 + kodi 계정 작성 : [참고] http://kodi.wiki/view/MySQL

           -> Server를 S905 eMMC에 올리니, mysqld 실행 시 appamor 에서 실행을 거부함. 

               원인은 log2ram 으로 /var/log 마운트되어서 설치 후 1시간 이내에 리부팅해서 

               /var/log/mysql 디렉토리가 삭제되어 발생함. 디렉토리 만들고 사용자변경 후 log2ram write 실행

               (예,  mkdir /var/log/mysql -> chown mysql.mysql /var/log/mysql -> log2ram write)

       - 서버에 MySQL 설치후 kodi  user 설정. 클라이언트에 advancedsettings.xml(대소문자 주의)을 작성

          하여 해당 OS에 맞는 디렉토리에 넣어두면 kodi가 자동으로 DB를 생성함.  

           [참고] http://www.hjnote.com/?p=168 

       - 외부에서 접속할 수 있도록 하려면 host에 ddns로 하고 라우터의 해당 포트 열어줄 것. 

       - 다음 스크래퍼는 xmbc부터 있던 오리지날과 최근 작성된 '원츄-__-b' 님의 것이 있어, 후자로 함.

           [참고] http://www.ppomppu.co.kr/zboard/view.php?id=nas&page=1&divpage=5&no=21719

                       http://www.ppomppu.co.kr/zboard/view.php?id=nas&page=1&divpage=5&no=21539

                       http://www.clien.net/cs2/bbs/board.php?bo_table=cm_nas&wr_id=23198

       - 클리앙에서 다음 무비 변경된 주소가 반영된 파일 metadata.movie.proxy.zip, metadata.tv.proxy.zip을

         addon 설치함. (클리앙 개편으로 첨부들이 깨져서 파일첨부. (소스) http://www.clien.net/..id=2755)

         : 이후 설정에서 Daum 기준(TDMB 사용안함)으로 설정하고 사용. (TDMB에서 다른 포스터를 가져옴)

          metadata.movie.proxy.zipmetadata.tv.proxy.zip

       - [중요] MySQL에 접속이 안되는 경우,  [참고] https://forum.libreelec.tv/thread-644.html

           (발췌) Go into LE settings and set a "wait for network delay" of 5-10 seconds. Many low-power arm
                    devices have slow(er) loading network drivers and because the OS boots fast Kodi can be
                    started before the network has finished initialising, so Kodi cannot connect to the SQL
                    database. Adding a delay allows the network to come up first, and then things work.

       - library auto update addon : watchdog [참고] http://kodi.wiki/view/add-on:watchdog

       - library는  설정-> 비디오 -> 라이브러 에서 제거할 수 있음.

          [참고] http://kodi.wiki/view/Updating%20or%20removing%20videos


    k) kodi 16.1 crash on wake from sleep

       - WatchDog addon 이 crash 됨 : [참고] http://forum.kodi.tv/showthread.php?tid=288333


    l) 자막

       - smi 자막이 WebDAV로는 안나오고, samba로는 나옴. 

         -> S805에 별도의 자막 디렉토리를 형성하고 설정:비디오:자막에서 자막디렉토리로 설정하여 사용함.

             자막 파일명에 빈칸 없고, 한글이 아니며 동영상과 파일명이 같으면 자동으로 자막보임

         -> (해결) WebDAV에 읽기 권한을 안준 것이 원인. S905 server의 samba, transmission umask 를

             설정하여 파일의 권한을 WebDAV도 읽을 수 있도록 맞춤

             : S905 서버 samba 설정에 WebDAV가 읽을 수 있도록 create mask 설정

               (예, samba 설정 : create mask 0664, directory mask 775 )

             : S905 서버 transmission 설정 : settings.json 에서 umask 변경. umask는 보통 8진수로 표시하나 

               json은 8진수 지원을 안하여 10진수로 변경하여 적용함. [참고] https://askubuntu../..daemon

               (예, umask 2 (default 18)로 설정, 0002 = 2 , 022 = 18) 

       - 자막 font는 영화 자막인 태영화체와 비슷한 무료폰트 a시네마체 사용.

         -> 특정글자 위에 테두리가 보여 거슬려서 기본 폰트로 돌아옴.

           [참고] 폰트 http://sunstar2.tistory.com/816, 폰트위치 /storage/.kodi/media/Fonts (디렉토리 생성)


    j) Multi-user 설정

       - 외부 여행시 인터넷이 안되는 지역에서는 부팅시 MySQL 접속이 안돼 멈춰서 부팅이 안됨

         -> 해결하기 위하여 no_network profile을 만들고 부팅시 프로파일을 선택하여 부팅하도록 함.

       - Tvheadend 채널을 HD/SD로 구분하고 low_speed_network 프로파일은 SD로 high_.. 는 HD로 설정.

Posted by 옴팡진
,